Язык:
Русский
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: Методы создания пользовательского интерфейса