Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

Системный динамик   Найти похожие ветки 

 
symbol ©   (2002-11-05 12:31) [0]

Вот такой вопрос собственно:

Как заставить системный динамик постоянно выдавать звук до определенного события (реакция пользователя или поступление данных с СОМ порта)?

Windows 2000, D7


 
Marcus   (2002-11-05 13:59) [1]

ThreadProc(
begin
while not StupidUserFinallyAnswered do
MessageBeep($FFFFFFFF);
end;

CreateThread(..., @ThreadProc, );


 
symbol ©   (2002-11-06 12:58) [2]

2 Marcus

Спасибо за совет, но не совсем понятно, я с треадами еще не работал, если можно, объясни поподробнее.

Подробности:

Есть база данных. С СОМ порта поступает определенные данные. По выборке из БД определяется критичность этих данных, и если они критичны, нужно привлечь внимание пользователя (постоянный звуковой сигнал). Пользователь должен произвести определенные децствия(кликнуть мышой в определенном месте), после этого сигнал выключается.


 
Marcus   (2002-11-06 14:52) [3]

Ну примерно так, я думаю

StupidUserFinallyAnswered := false;
WaitCommEvent(...
ReadFile(hPort, ...); // что-то читаем из COM

if CriticalData then begin

CreateThread(..., @ThreadProc, );
end;
...
procedure MyFormOnMouseDown(...);
begin
StupidUserFinallyAnswered := true;
end;

т.е. создается отдельный поток, в котором непрерывно орет динамик, до тех пор пока юзер не щелкнет куда-либо. Тогда поток прерывается, и динамик соответственно замолкает



Страницы: 1 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
8-62677
nsvi
2002-09-30 11:32
2003.01.20
Предлагаю решение проблемы сохранения 256-цветных иконок


1-62540
Shil
2003-01-10 21:48
2003.01.20
Освобождение памяти


4-62937
Cosmic
2002-11-15 18:51
2003.01.20
Как отловить пароль?


1-62527
geo
2003-01-10 17:35
2003.01.20
Как использовать компоненты написанные на Builder в Delphi?


3-62400
an
2002-12-25 16:02
2003.01.20
Проблемма с DbCtrlGrid