| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Событие по смене даты |
| Автор: Experimenter 8.5.2007, 22:39 |
| Уважаемые! Недавно возник такой вопрос: как в си-шарпе (win-сервис) вызвать событие при наступлении 0 часов 0 минут. То есть не проверяя ежесекундно (ежеминутно, ежечасно) сколько сейчас времени, а поставить флаг на это время и ждать... Или я уже заработался слишком и это невозможно в принципе? |
| Автор: Ch0bits 9.5.2007, 09:44 |
| Нет. Может быть только как-нибудь задействовать виндовый планировщик? (например чтобы тот запускал команду, которая будет дёргать твой сервис) |
| Автор: sgrey 9.5.2007, 22:14 | ||
| можно конечно... в таймер записать чтобы он проверял время и если часы = 00 и минуты = 00, то запускай такой-то процесс вот я для проверки сделал простое отображение времмени на лэйбле
только программа естественно должна быть включена... или можно просто отдельно написать процесс который будет запускать основную прогу в полночь |
| Автор: Retro 9.5.2007, 22:31 | ||
Как по мне это более рационально. |
| Автор: sgrey 9.5.2007, 22:40 | ||
ну тут ещё зависит от того что конкретно нужно и какая прога... может она в любом случае будет работать, тогда и в неё вписать можно |
| Автор: sgrey 9.5.2007, 22:51 | ||
согласен кстати ещё шаг можно сделать минуту, а то он каждую милисекунду проверяет условие )) |
| Автор: Retro 9.5.2007, 23:00 | ||
Ну да, тут конечным условием является - минимальная нагрузка. |
| Автор: archeg 9.5.2007, 23:55 | ||||
Зачем минуту? Можно определить такой шаг, чтобы он сработал сразу тогда когда нужно.
Если результирующее время отличаеться от текущего больше чем на 9 дней - то прийдеться делить на кусочки (по 9 дней) - может быть переполнение типа int |
| Автор: sgrey 10.5.2007, 00:17 | ||||
ну да, я сначала написал а потом подумал - зачем минуту, когда нам нужно только в полночь активировать? )) как раз хотел исправлять ) |
| Автор: Experimenter 10.5.2007, 11:01 | ||
Да, все правильно, только я забыл еще добавить, что событие должно возникать каждую полночь. Первый раз оно возникнет, а потом... Если вдруг понадобится Вин-сервис перезапустить, тогда как быть??? Возможно, наверное, так: при запуске сервиса
|
| Автор: Experimenter 12.5.2007, 21:19 |
| Да, тема закрыта |