Паскаль Программы


Delay (процедура) (модуль Crt)
Февраль 14, 2016 – 11:51
Программа расчёта азимута и

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

Объявление

Procedure Delay(MS : Word);

Режим

Real, Protected

Замечания

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

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

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

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

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

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

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

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

(отдельно от )

Пример

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

uses Crt;

begin
Sound(220); { Звук с частотой 200 Гц }

Source: pascal.net.ru
Похожие публикации