Вниз
Скачать: CL | DM;

Калибровка таймера   Найти похожие ветки 

← →
Drex   (2003-03-19 10:17) [0]

Вот текст процедуры: Под WinME все работает прекрасно, а вот под XP пустой цикл почему-то выполняется мгновенно и соответственно разница во временах начала и завершения цикла нулевая. Уважаемые знатоки, подскажите в чем дело?
procedure TOptionsForm.CalibrateDelays;
var
StartTime : TDateTime;
i : LongWord; //Счетцик циклов
Delta : Word; //Длительность цикла в мсек
Begin
ProcessForm:=TProcessForm.Create(Application);
ProcessForm.Show;
StartTime:=Time;
i:=0;
Repeat
Inc (i);
//Application.ProcessMessages;
Until i<200000000;
Delta:=MillisecondsBetween (Time, StartTime);
CyclPermS:=200000000 Div Delta;
CyclPermSLabel.Caption:=IntToStr(CyclPermS)+" "+TimeToStr(StartTime)+" "+TimeToStr(Time);
ProcessForm.Free;
End;


← →
Drex   (2003-03-19 10:46) [1]

Прошу прощения одну строку неправильно написал

Until i=200000000;


← →
Слесарь Матерящийся ©   (2003-03-19 10:51) [2]

Для реализации задержек следует использовать ф-и Sleep() и WaitFor...(). Замкнутые циклы - плохой стиль.


← →
Drex   (2003-03-19 12:11) [3]

Sleep на маленьких задержках порядка 1-2 мс сильно врет, а вот про WaitFor я еще не слыхал ни разу...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.987 c
14-46909
Ищущий
2003-04-28 15:49
2003.05.15
Среднеквадратическая ошибка


14-46992
Malder
2003-04-26 15:52
2003.05.15
Правда, что эстонцы - медлительная нация ?


3-46671
Evgeny
2003-04-25 09:13
2003.05.15
Определение полей


14-46926
Дмитрий К.К.
2003-04-25 07:54
2003.05.15
Именинники 25 апреля


1-46748
Dark Hunter
2003-05-05 11:43
2003.05.15
Запуск нити из минимизированного приложения




   Наверх