Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2015, 14:18   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
То есть, таймер на 1 секунду, а действия внутри таймера могут быть больше секунды.
1) windows НЕ система реального времени,
а таймер это НЕ будильник который "пищит" СТРОГО через указанное время.

2) Таймер это НИЗКОприоритетная (приходит в последнюю очередь когда программа разобрала ВСЮ СВОЮ очередь сообщений) сообщение(извещение) о прошествии заданного интервала.
3) Таймер это НЕ накапливаемое сообщение (в очереди сообщений может быть только ОДНО необработанное(не переданное программе) сообщение для каждого зарегистрированного(включенного) таймера. Все новые сообщения поступающие в очередь "поглощаются".

считаем ваши действия заняли 5 секунд.
через 5 сек вы получите ровно одно(!) сообщение и увеличите счетчик на 1 и так далее каждые 5 сек .
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.04.2015, 18:01   #12
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

evg_m, спасибо.
Illusiony вне форума Ответить с цитированием
Старый 24.04.2015, 18:19   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

evg_m, хороший пост! Кратко и по делу! Одобрям-с!

Illusiony, именно поэтому таймер нужно ставить почаще (ну, если нужно обрабатывать событие раз в секунду, то таймер можно ставить на 500 мс).
И, если нужно делать срабатывание по временным интервалам, то в таймере не использовать никаких счётчиков, нужно брать системное время (или GetTickCount - и по нему уже смотреть, пора или не пора.

ну и в коде учитывать, что таймер может "замылить" нужную точку срабатывания.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Один таймер vs много таймеров - дайте совет Linel JavaScript, Ajax 11 31.03.2014 18:18
Как создать больше таймеров? jone Общие вопросы Delphi 39 26.04.2013 10:18
Работа с таймеров в Qt papos Общие вопросы C/C++ 0 14.11.2010 20:05
Менеджер таймеров Alex Cones Общие вопросы Delphi 9 11.11.2010 19:34
Варианты реализации программы с использованием таймеров Casper-SC Общие вопросы Delphi 10 28.11.2009 19:18