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 ))