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



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


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;


Далее: Заставить приложение загружать и проигрывать звуковой файл »»