Пост
Hello :)

DELPHI

-

Замена функции Sleep в Delphi

Всем, часто приходилось использовать в Delphi Функцию Sleep, в результате которой программа не отвечает N количество миллисекунд затормаживая процесc, предлагаю использовать альтернативу:

 

procedure pause(col:integer); 
var wtim:ttime;
begin
wtim:=encodetime(0,0,col,0)+time;
repeat
application.processmessages;
sleep(10);
until time>=wtim;
end;

 

col - пауза в секукндах. 

 

При использовании данной функции, программа не будет уходить в Даун, а будет дальше функционировать.

 

 

Пример 1:

 

showmessage('Привет');

sleep(5000);

showmessage('Пока');

 

В приведенном выше примере программа уйдёт в Даун на 5 секунд и будет не доступна, после вывода сообщения "Привет"

 

 

Пример 2:

 

showmessage('Привет');

pause (5);

showmessage('Пока');

 

 

В данном примере, после вывода сообщения на экран "Привет", программа будет работать в штатном режиме (не затормаживая процесс), через 5 секунд показав сообщение "Пока", собственно всё дело тут в  application.processmessages ))

  • Serj, 20 ноября 2011
3 комментария
Avatar
  1. Наталья Плетминцева
    Наталья Плетминцева
    15 декабря 2013 02:21
    супер! помогло!!! То что искала!!!
    1. Serj
      Serj
      16 декабря 2013 00:51
      :))
  2. Анатолий Иванов
    Анатолий Иванов
    15 апреля 2013 20:26
    Не пойму смысл использования sleep в функции pause.Можно было и без нее обойтись.

© SERJ.WS 2011-2021