скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Процедура задержки выполнения



Автор: demon-777

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Процедура Delay (как в паскале)

Зависимости: Forms,Windows,SysUtils
Автор:       demon-777, demon-777@yandex.ru, Питер
Copyright:   Выдрана из RxLib
Дата:        23 мая 2002 г.
***************************************************** }

{Delay, не загружающий процессор}

procedure Delay(Value: Cardinal);
var
  F, N: Cardinal;
begin
  N := 0;
  while N <= (Value div 10) do
  begin
    SleepEx(1, True);
    Application.ProcessMessages;
    Inc(N);
  end;
  F := GetTickCount;
  repeat
    Application.ProcessMessages;
    N := GetTickCount;
  until (N - F >= (Value mod 10)) or (N < F);
end;

Пример использования:

Delay(1000); //Задержка на одну секунду





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook