556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
1

Как сделать так, чтобы выполнение трейда не прекращалось, когда приложение теряет активность?

27.11.2010, 19:27. Показов 930. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеется приложение простое (Windows Form Application), которое генерирует и воспроизводит некоторую последовательность звуковых сигралов в отдельном трейде.
выполнение трейда приостанавливается, когда приложение теряет активность, затем, когда приложение снова становится активным, выполняется дальше. что нужно сделать, чтобы трейд продолжал дальше выполняться? наверняка какое-нибудь свойство кому-то нужно поменять. кто-нибудь знает? подскажите!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2010, 19:27
Ответы с готовыми решениями:

как сделать так чтобы когда z1 отрицательное а z2 положительное находило x3 и x4
Program kv; var a,b,c,d:real; z1,z2,x1,x2,x3,x4:real; Begin writeln( ' Програма розв’язує...

Как сделать чтобы приложение работало только тогда когда работает Service
Как сделать чтобы приложение работала только тогда когда работает public class MyService extends...

Как сделать так чтобы картинка шевелилась, когда я нажимаю на кнопки WASD?
Хочу сделать игру в Лазарусе. Как сделать так чтобы картинка шевелилась, когда я нажимаю на кнопки...

Как сделать так, чтобы контрол был виден, когда он внутри ListView?
вообщем у меня есть представление выглядит оно так <asp:ListView ID="lwList" runat="server">...

5
Почетный модератор
Эксперт .NET
8714 / 3666 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
27.11.2010, 20:23 2
Цитата Сообщение от novi4ok Посмотреть сообщение
выполнение трейда приостанавливается, когда приложение теряет активность, затем, когда приложение снова становится активным, выполняется дальше
О_о
Цитата Сообщение от novi4ok Посмотреть сообщение
что нужно сделать, чтобы трейд продолжал дальше выполняться?
Зациклить.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
28.11.2010, 13:25  [ТС] 3
Цитата Сообщение от SSTREGG Посмотреть сообщение
О_о

Зациклить.
или я недостаточно ясно изложил проблему, или ты - четровски остроумный паренек.
0
969 / 772 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
28.11.2010, 13:35 4
Уважаемый, вы написали [*цензура*], вас в первую очередь надо отправить в тему, где учат задавать вопросы.
Чтобы не быть голословным, скажу что у меня все работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        new Thread(Start).Start();
    }
 
    private void Start()
    {
        for (int i = 0; i < 10; ++i)
        {
            Console.Beep();
            Thread.Sleep(1000);
        }
    }
}
ЗЫ. Работает, даже если закрыть форму...
0
Почетный модератор
Эксперт .NET
8714 / 3666 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
28.11.2010, 14:53 5
novi4ok, ты задал вопрос, я на него ответил как понял. Изложи свою проблему более понятно и "люди к тебе потянутся" )
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
29.11.2010, 00:22  [ТС] 6
так может быть понятнее будет. вот код. создай обычный WindowsFormsApplication, добавь references to Microsoft.DirectX & Microsoft.DirectX.DirectSound, добавь два buttons, назови button_start и button_stop, обработчики нажатий к ним, потом просто замени код формы на приведенный. скомпилируй, запусти, нажми первую кнопку и слушай писк. затем сделай приложение неактивным. затем - снова активным. увидишь сам и поймешь. ну и понянешься ко мне, естественно. людь. естественно, если сказать будет что.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using Microsoft.DirectX.DirectSound;
using DXS = Microsoft.DirectX.DirectSound;
 
namespace TestSoundShort {
    public partial class Form1 : Form {
        Thread _thread;
        private DXS.Device _device = new DXS.Device();
        private DXS.SecondaryBuffer _buffer;
        byte[] _rawsamples;
 
        public Form1() {
            InitializeComponent();
            _thread = new Thread(new ThreadStart(loop_sound));
            short blockAlign = (short)(2 * (16 / (short)8)); ;
            _device.SetCooperativeLevel(this, CooperativeLevel.Priority);
            DXS.WaveFormat format = new DXS.WaveFormat();
            format.BitsPerSample = 16;
            format.Channels = 2;
            format.BlockAlign = blockAlign;
 
            format.FormatTag = DXS.WaveFormatTag.Pcm;
            format.SamplesPerSecond = 22050;
            format.AverageBytesPerSecond = format.SamplesPerSecond * format.BlockAlign;
 
            _rawsamples = new byte[format.AverageBytesPerSecond];
 
            // buffer description
            DXS.BufferDescription desc = new DXS.BufferDescription(format);
            desc.DeferLocation = true;
            desc.ControlVolume = true;
            desc.BufferBytes = format.AverageBytesPerSecond;
            desc.Format = format;
            // create the buffers
            _buffer = new DXS.SecondaryBuffer(desc, _device);
            desc.BufferBytes = format.AverageBytesPerSecond / 2;
        }
 
        public void loop_sound() {
            while (true) {
                play_sound();
            }
        }
 
        public void play_sound() {
            _buffer.Volume = -2000;
            for (int i = 0; i < _rawsamples.Length - 2; i++) {
                short sample = (short)(Math.Sin(i * 0.03) * 32000);
                _rawsamples[i++] = (byte)(sample);
                _rawsamples[i++] = (byte)(sample / 256);
                _rawsamples[i++] = (byte)(sample);
                _rawsamples[i] = (byte)(sample / 256);
            }
            _buffer.Write(0, _rawsamples, LockFlag.EntireBuffer);
            _buffer.Play(0, BufferPlayFlags.Default);
            Thread.Sleep(1030);
        }
 
 
        private void button_start_Click(object sender, EventArgs e) {
            button_start.Enabled = false;
            _thread.Start();
        }
 
        private void button_stop_Click(object sender, EventArgs e) {
            _thread.Abort();
            Thread.Sleep(0);
            _thread = new Thread(new ThreadStart(loop_sound));
            button_start.Enabled = true;
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2010, 00:22
Помогаю со студенческими работами здесь

Как сделать так чтобы когда например системное время будет 20:00 показать мессидж!
Здрасте форумчани Как сделать так чтобы когда например системное время будет 20:00 показать...

Как сделать так чтобы не вылетала ошибка программы когда я ничего не выбрала в lookupcombobox?
когда я нажимаю на список и вдруг передумала что-то выбирать, то я жму на свободное место в...

Как сделать так, чтобы, когда убрал cheked с пункта 2 Checklistbox, в label2 записалось 'не выбрано'?
Есть компонент Checklistbox в нем есть item от 0 до 100, есть 5 label'ов, выбрать можно только 5...

Как сделать так, чтобы когда в TextBox вводишь слово, то вместо него повился звездочка?
В Windows Form c# у TextBox в свойствах был PasswordChar а в ASP такого нет ) Может кто подскажет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru