Карта сайтаСсылкиКонтакты

Создание задержки без таймера

PDF Печать
Статьи

Вот пример использования цикла, который проверяет время и вызывает Application.ProcessMessages, чтобы разрешить сообщения Windows, которые будут выполняться в течение цикла.


procedure Delay(ms : longint);
var
  TheTime : LongInt;
begin
  TheTime := GetTickCount + ms;
  while GetTickCount < TheTime do
    Application.ProcessMessages;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Start Test');
  Delay(2000);
  ShowMessage('End Test');
end;

Еще один пример:


procedure lcDelay(const sec, msec: word);
var
  TimeOut: TDateTime;
begin
  TimeOut := Now + EncodeTime(0, sec div 60, sec mod 60, msec);
  While Now < TimeOut do
     Application.ProcessMessages;
end;

 

Добавить комментарий


Защитный код
Обновить