скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Заставить динамик пикнуть несколько раз с задержкой между сигналами, не зависящей от частоты процессора



Нужно воспользоваться следующей процедурой:


procedure Delay(ms : longint);
{$IFNDEF WIN32}
var
  TheTime : LongInt;
  {$ENDIF}
begin
  {$IFDEF WIN32}
  Sleep(ms);
  {$ELSE}
  TheTime := GetTickCount + ms;
  while GetTickCount < TheTime do
    Application.ProcessMessages;
  {$ENDIF}
end;

А воспользуемся ею, например, в обработчике нажатия кнопки:


procedure TForm1.Button1Click(Sender: TObject);
begin
  MessageBeep(word(-1));
  Delay(200);
  MessageBeep(word(-1));
  Delay(200);
  MessageBeep(word(-1));
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook