Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизЦикл по времени Найти похожие ветки
← →
Santik (2006-07-07 16:03) [0]Подскажите, как создать цикл по времени.
Т.е. мне нужно каждую секунду выполнять определенный блок операций.
← →
Джо © (2006-07-07 16:07) [1]SetTimer
← →
Jeer © (2006-07-07 16:52) [2]или компонент TTimer
← →
Джо © (2006-07-07 16:53) [3]> [2] Jeer © (07.07.06 16:52)
Ветка первоначально в WinAPI была :)
← →
Desdechado © (2006-07-07 17:03) [4]А если за секунду этот блок операций не уложится, то сработает еще одно событие начало блока и т.п.
Итог, я думаю, понятен.
← →
Homo Sapiens © (2006-07-07 17:03) [5]procedure Timer1Timer...
begin
timer1.interval:=... //интервал времени
//////////
Здесь идут выполняемые действия
////////////
end;
← →
StriderMan © (2006-07-07 17:28) [6]
> Desdechado © (07.07.06 17:03) [4]
> А если за секунду этот блок операций не уложится, то сработает
> еще одно событие начало блока и т.п.
> Итог, я думаю, понятен.
это собственно значит что надо проверять реже :)
а вообще я для страховки так делаюprocedure Timer1Timer...
begin
timer1.Enabled := false
...//здесь все делается
Timer1.Enabled := true;
end;
но так конечно интервал выполнятся не будет
← →
Desdechado © (2006-07-07 17:51) [7]> это собственно значит что надо проверять реже
Это значит другое. Это значит, что при наличии сильнозагружающих систему программ возможно неуспевание других программ. И предсказать период для таймера тяжеловато.
← →
parovoZZ © (2006-07-07 22:07) [8]Ну если WinApi и цикл, то GetTickCount.
← →
Ketmar © (2006-07-08 13:18) [9]>Desdechado © (07.07.06 17:03) [4]
всё равно событие обработается не раньше окончания обработчика, если не вызывать GetMessage()/DispatchMessage() или Application.ProcessMessages().
← →
SerJaNT © (2006-07-08 13:38) [10]
> Homo Sapiens © (07.07.06 17:03) [5]
> procedure Timer1Timer...
> begin
> timer1.interval:=... //интервал времени
> //////////
> Здесь идут выполняемые действия
> ////////////
> end;
И что получится?
← →
begin...end © (2006-07-08 14:40) [11]> StriderMan © (07.07.06 17:28) [6]
Страховка -- оно, конечно, хорошо, но каждый раз убивается и пересоздаётся таймер...
← →
Ketmar © (2006-07-08 15:06) [12]>begin...end © (08.07.06 14:40) [11]
ну и фиг с ним. судя по "страхованию", это не самое страшное в коде. %-)
← →
Homo Sapiens © (2006-07-08 17:56) [13]
> И что получится?
Получится что через каждый интервал времени будут выполняться действия
если проц успеет
← →
SerJaNT © (2006-07-09 02:06) [14]
> Получится что через каждый интервал времени будут выполняться
> действия
> если проц успеет
Дык, а зачем на самом событии Timer устанавливать интервал?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c