Внешний вид сайта:

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

Вот пример использования цикла, который проверяет время и вызывает 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;

Комментарии

Нет комментариев. Ваш будет первым!