IPB

> Delay (процедура) (модуль Crt)
Чат
Форум
Загрузка...
 

Язык:
Русский
English

 Delay (процедура)    (модуль Crt)


Приостанавливает выполнение программы на заданное число миллисекунд.

Объявление

 Procedure Delay(MS : Word);

Режим

Real, Protected

Замечания

Параметр MS - число миллисекунд.

Время, на которое процедура Delay задерживает выполнение программы является приближенным значением параметра MS, так что задержка не будет длиться ровно MS миллисекунд.

Например, Delay(1000) не будет задерживать программу ровно на 1 секунду.

Известные проблемы

В фирменных версиях Turbo Pascal на современных компьютерах может возникать ошибка 200: деление на ноль, поэтому популярны патчи, устраняющие эту проблему. Самый популярный патч устраняет ошибку 200, но при этом создаёт другую проблему: длительность Delay сильно уменьшается, непредсказуемо, причём. Большинство патчей различаются в том, как именно пропатчена процедура Delay. Помимо самого популярного патча есть и другие, увеличивающие разрядность счётчика. Попытка хороша, но работает это только в настоящей однозадачной среде DOS, а в среде Windows использовать на 100% процессор — не нормально, к тому же, процессорное время, выделенное конкретной программе, может отличаться при разной нагрузке.

В School Pak из множества вариантов был выбран такой, который ориентируется только на системное время и при этом пытается разгрузить процессор во время ожидания. Это работает и в NTVDM, и в School Pak. В обычном DOSBox длительность Delay в пропатченных программах не изменяется, но процессор загружен, поэтому специально для School Pak был написан резидент IDLE.COM, разгружающий процессор во время простоев (а это основное состояние интерактивных программ).

Скачать пропатченный CRT.TPU

CRT.TPU обычно находится внутри библиотеки TURBO.TPL. При большом желании вы можете извлекать и помещать обратно модули .TPU с помощью утилиты TPUMOVER. Мы, однако, решили не плодить путаницу и предоставляем для скачивания только TURBO.TPL целиком.

TURBO.TPL (SYSTEM.TPU + CRT.TPU + DOS.TPU + OVERLAY.TPU + PRINTER.TPU) (отдельно от School Pak)

См. также

Лекция №14.1: Методы создания пользовательского интерфейса

Пример

Язык:
Русский
English


 { Пример программы для процедур Delay, NoSound и Sound }

uses Crt;

begin
  Sound(220);        { Звук с частотой 200 Гц }
  Delay(200);        { На 200 миллисекунд }
  NoSound;           { Выключаем динамик }
end.
 
 К началу страницы 
Тэги: Delay
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"