![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение Windows о смене суток [D7, WinXP]
Jetus © (2007-06-11 12:24:00)Здравствуйте!
Как отловить момент смены суток в Windows?
Eraser (2007-06-17 17:22:00) [21]> [36] Углук © (17.06.07 16:24)
> Ваш способ предполагает каждую минуту операции проверки
> времени.
> Это значит, Вы не пытаетесь писать оптимальные программы,
> а пишете "в лоб".
ну ну..
нужно писАть так, чтобы надежно было, как AK47, проверка времени каждую минуту занимает настолько мизерное количесвто ресурсов, что его можно смело приравнять к 0.
А всякие фокусы с вычислением каких-то интервалов и перехватом WM_TIMECHANGE внисут неразбериху, в казалось бы, простейшую задачу..
Углук (2007-06-17 16:24:00) [22]2homm,
[I] скал чушь [/I]
Да не уж то?
Мой способ один раз вычисляет временную разницу, переводит в микросекунды, и преспокойно устанавливает её в интервал таймера- после запуска программы, - а после первого срабатывания OnTimer просто ставит число из [11] для определения смены суток. До срабатывания таймера приложение висит себе в памяти, и никому( кроме настырных юзеров) не мешает, процессорных ресурсов не занимает.
Ваш способ предполагает каждую минуту операции проверки времени.
Это значит, Вы не пытаетесь писать оптимальные программы, а пишете "в лоб". И поэтому мне как-то фиолетово, + или - Вы изволили присудить мне в качестве своей оценки
WaitableTimer (2007-06-16 14:58:00) [23]
> Anatoly Podgoretsky © (16.06.07 12:16) [33]
> А что такое смена суток?
Согласен, задача недостаточно формализована. Поэтому и ответил в рамках того, как понял.
Anatoly Podgoretsky (2007-06-16 12:20:00) [24]
> Отчего же преступник? Он просто время поменял :)
Против подобных преступников есть WM_TIMECHANGE
А для обычных пользователей операция вычитания
Anatoly Podgoretsky (2007-06-16 12:16:00) [25]> WaitableTimer (16.06.2007 10:32:32) [32]
А что такое смена суток?
WaitableTimer (2007-06-16 10:32:00) [26]Вопрос:
> Германн © (16.06.07 03:33) [31]
> А, собс-но какая задача тут была озвучена?
> Никакой задачи и не было!
Ответ:
> Jetus © (11.06.07 12:24)
> Как отловить момент смены суток в Windows?
Германн (2007-06-16 03:33:00) [27]
> WaitableTimer (15.06.07 19:15) [29]
>
...
> Думаю, это не та задача, решение которой было нужно вначале.
>
А, собс-но какая задача тут была озвучена?
Никакой задачи и не было!
Джо (2007-06-16 03:05:00) [28]> [29] WaitableTimer (15.06.07 19:15)
> Вы предполагаете, что пользователь - преступник, и хотите
> это побороть.
Отчего же преступник? Он просто время поменял :)
WaitableTimer (2007-06-15 19:15:00) [29]
> ... в другой часовой пояс самолет улетел?
Используется UTC-time.
> а если василий пупкин время поменял на компе...
Ничто не спасет кроме постоянного мониторинга. Можно хук на системный вызов поставить, но время можно и через BIOS поменять...
Думаю, это не та задача, решение которой было нужно вначале.
Вы предполагаете, что пользователь - преступник, и хотите это побороть.
Если да, то переформулируйте задачу.
Anatoly Podgoretsky (2007-06-15 19:08:00) [30]> Eraser (15.06.2007 17:07:25) [25]
Без разницы какой интервал, нет никакой необходимости делать это каждую минуту, результат будет абсолютно одинаков.
Eraser (2007-06-15 19:04:00) [31]> [26] WaitableTimer (15.06.07 18:24)
а если василий пупкин время поменял на компе, или в другой часовой пояс самолет улетел?
WaitableTimer (2007-06-15 18:24:00) [32]Ребята, ну о чем тут такой долгий спор?
Разве никто не слышал о Waitable Timers?
Создал, установил на ближайшую полночь и не паришься, ждешь event'а...
(Работает, начиная с Windows 98 / NT 4.0 .)
Eraser (2007-06-15 17:07:00) [33]не стал бы я таймер подобным образом использовать..
если погрешность около минуты не старшна, проверял бы каждую минуту изменилась ли дата, если да - выполнить нужную операцию. т.о. можно учесть смену настроек времени.
homm (2007-06-15 16:45:00) [34]> Вроде бы это ты не можешь
Это Вы привели мой ответ на реплику «Запускать в 00:00 слабо?». Тогда как Вам угодно. Человек скал чушь,а чего там имел ввиду, чего считать, чего не считать не мое дело.
Anatoly Podgoretsky (2007-06-15 16:10:00) [35]> homm (15.06.2007 13:40:22) [22]
Вроде бы это ты не можешь
> Ага, когда я буду знать что сейчас 00:00, будет не слабо. Предлагаешь это дело на пользователя переложить?
homm (2007-06-15 13:40:00) [36]> Программист в состояние пользоваться операциями сложения
> и вычитания!!!
Это к чему? Я в курсе таких операций, потому и предложил в [4] «Один раз проверить и поставить таймер на нужное время». А вот автор 11-го поста не в курсе.
Anatoly Podgoretsky (2007-06-15 13:37:00) [37]> tesseract (15.06.2007 12:21:17) [17]
Ну и что, нужна ли высокая точность для определения сего факта?
Anatoly Podgoretsky (2007-06-15 13:36:00) [38]> keymaster (15.06.2007 12:24:18) [18]
Лучше несколько
Anatoly Podgoretsky (2007-06-15 13:36:00) [39]> homm (15.06.2007 10:20:16) [16]
Программист в состояние пользоваться операциями сложения и вычитания!!!
keymaster (2007-06-15 12:24:00) [40]
> Углук © (15.06.07 02:10) [15]
> После первого срабатывания изменить интервал таймера на
> указанное мной число.
При таком подходе программа должна работать сутки...