Delay (процедура) (модуль crt) - сайт «все про паскале»

Параметр 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 цілком.