C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Событие каждые сутки Timer  (Прочитано 1512 раз)
Bugs
Участник


Сказали спасибо: +25/-20
Offline

Сообщений: 389


Событие каждые сутки Timer
« : 23 Июнь 2013, 20:40:31 »

Здравствуйте как зделать что-бы событие срабатывало каждые сутки допустим в 20:00 ? поиграл с функции CompareTime(A,B)
но что-то не додуматься ) перегрелся.....
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Событие каждые сутки Timer
« Ответ #1 : 23 Июнь 2013, 22:08:25 »

Таймер. Не?
Записан
Bugs
Участник


Сказали спасибо: +25/-20
Offline

Сообщений: 389


Re: Событие каждые сутки Timer
« Ответ #2 : 23 Июнь 2013, 22:21:08 »

Да таймер но как зделать каждые сутки ((((
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Событие каждые сутки Timer
« Ответ #3 : 23 Июнь 2013, 23:27:24 »

Настраиваешь таймер на любой желаемый период. И в обработчике проверяешь возврат от Time() на "больше" этих 20:00.
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


« Ответ #4 : 24 Июнь 2013, 14:51:38 »

Лучше вынести в отдельный поток. Например
Код
void __fastcall TTimerThread::Execute() {
  const TDateTime DTEvent = EncodeTime(20, 0, 0, 0);
  bool First=true;
  while(!Terminated) {
     while(First && (CompareTime(Time(), DTEvent)==LessThanValue) && !Terminated) {
        First = false;
        Sleep(1000);
     }
     // ...выполнение события...
     for(long i=0l; (i3600l*24l && !Terminated); ++i) Sleep(1000);
  }
}
 
« Последнее редактирование: 24 Июнь 2013, 15:00:23 от S0mbre » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.115 секунд. Запросов: 21.