Задержка на Pascal

Vovchik
Сообщения: 196
Зарегистрирован: 28 фев 2008, 18:32
Контактная информация:

Кстате насчёт delay я слышал что задершка зависит от процессора, точнее от чистоты его работы !!!
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Vovchik, не от того как чИсто, а от того как чАсто и от модуля предварительной выборки и от архитектуры - короче от проца. Про реализацию Delay читаем здесь
It's a long way to the top if you wanna rock'n'roll
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

Хыиуду,
&quot писал(а):А не проще получить текущее время, сохранить его и потом ничего не делать, пока текущее время не превысит сохраненное плюс время задержки?
погодите... а разве в моём коде не написано в точности то, о чём вы сказали!!
HundSecond:=round(HundSecond * 0.185) +Ticks; - получить новое время = заданное время + текущее
repeat until (Ticks>HundSecond) - крутим цикл, ждём пока текущее время не превысит сохраненное плюс время задержки...
gluik
Сообщения: 13
Зарегистрирован: 10 дек 2007, 14:23

спасибо за помощь, сделал свой вариант:
1000 - 1 секунда

Код: Выделить всё

var
  systemtimer:longint absolute $0040:$006C;

procedure delau(t:longint);
var
  n,t:longint;
begin
  x:=0;
  n:=systemtimer;
  while ((t-n)/18.2)*1000<t do
    t:=systemtimer;
end;
Ответить