Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.190.144] |
|
Сообщ.
#1
,
|
|
|
Вариант 1:
Sleep(x); где x - количество милисекунд (1/1000 секунды). Например Sleep(5000); даст задержку в 5 секунд. Во время Sleep выполнение текущего потока останавливается и процессорное время отдаётся другими потокам, поэтому вы не сможете во время этой паузы сделать например визуализацию этой паузы (например, прогрессбар или анимацию), поэтому в таком случае вам больше подойдёт: Вариант 2: Function Delay(X: Cardinal); Var t: cardinal; begin t:=GetTickCount; While (GetTickCount <= t + X) Do Begin { Обрабатываем сообщения } Application.ProcessMessages; { отдаём часть процессорного времени другим потокам } Sleep(1); End; {While} End; Вызов: Delay(5000); Даст задержку в 5 секунд с возможностью визуализации. |