Форум: "WinAPI";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизСообщение Windows о смене суток Найти похожие ветки
← →
Углук © (2007-06-17 18:10) [40]
> неразбериху, в казалось бы, простейшую задачу..
Разберитесь...станете умнее
← →
Eraser © (2007-06-17 19:00) [41]> [39] Углук © (17.06.07 18:08)
я тут никого не переубеждаю, просто высказываю свое мнение, как делал я бы, а вы делайте как знаете..
только не удивляйтесь потом, что в проекте через пару лет появится какой-нибудь трудноуловимый баг, на поимкой которого будет заниматься весь отдел в течении недели.
← →
Углук © (2007-06-17 19:44) [42]
> Eraser © (17.06.07 19:00) [41]
Совет принят .
← →
homm © (2007-06-17 21:22) [43]> Ваш способ предполагает каждую минуту операции проверки
> времени.
> Это значит, Вы не пытаетесь писать оптимальные программы,
> а пишете "в лоб". И поэтому мне как-то фиолетово, + или
> - Вы изволили присудить мне в качестве своей оценки
Ветку читал? Помоему там подробно изложено почему я так предложил делать.
> Мой способ один раз вычисляет временную разницу, переводит
> в микросекунды, и преспокойно устанавливает её в интервал
> таймера- после запуска программы, - а после бла бла бла бла
Дак вот и нужно писать то, что ты предлагаешь, а то что в [11] чушь и феловек далекий, от преобразований фурье поймет запросто.
← →
homm © (2007-06-17 21:23) [44]> чушь и феловек далекий
чушь, и человек далекий
← →
Углук © (2007-06-17 21:53) [45]
> Ветку читал? Помоему там подробно изложено почему я так
> предложил делать.
А если программа проработает больше суток? "один раз поставить" не сработает.
Касательно свойства Interval: имеет тип Cardinal - это 9 миллиардов.
Почему [11] чушь? Пока я сам подробно изложил свой метод решения, а от Вас слышу оскорбления, ни основанные ни на чем. Плюс вы придумали нерабочий вариант.
← →
homm © (2007-06-18 07:26) [46]> Касательно свойства Interval: имеет тип Cardinal - это 9
> миллиардов.
Какое отношение имеет тип к опустимому интервалу значений, при которых функция будет работать? Это разные вещи.
> Почему [11] чушь?
Потому что. Прочитай вопрос, прочитай 11. Если не понял, почему чушь, повтори еще раз. Повторяй пока не дойдет. Если не дурак, число шагов должно быть конечно.
← →
Anatoly Podgoretsky © (2007-06-18 08:41) [47]
> тип Cardinal - это 9 миллиардов.
Обнови знания в справке Дельфи
← →
Virgo_Style © (2007-06-18 13:08) [48]Я бы воспользовался таймером, а чтобы убрать погрешность, ставил бы его на половину интервала до полночи, потом опять и опять... А когда интервал станет совсем небольшим, можно проверять хоть каждую секунду или вообще в цикле. Надеюсь, погрешность, хоть и ужасная, меньще 100% )
← →
Anatoly Podgoretsky © (2007-06-18 16:20) [49]> Virgo_Style (18.06.2007 13:08:48) [48]
Никакой разницы нет разбиваешь ли ты интервал на части или нет, неужели ты думаешь, что таймер работает по принципу Intervel = Interval - 1
← →
Углук © (2007-06-19 15:30) [50]
> Углук © (15.06.07 02:10) [15]
> Еще: подсчитать, сколько времени от запуска программмы пройдет
> до смены суток. Это нетрудно. Изменить интервал таймера.
> После первого срабатывания изменить интервал таймера на
> указанное мной число.
> homm © (18.06.07 07:26) [46]
> 86400000 миллисекунд.
← →
Углук © (2007-06-19 15:32) [51]property Interval: Cardinal;
> > тип Cardinal - это 9 миллиардов
Ошибся
← →
Углук © (2007-06-19 15:32) [52]property Interval: Cardinal;
> > тип Cardinal - это 9 миллиардов
Ошибся
← →
DVM © (2007-06-19 16:36) [53]Не понимаю, зачем вам так нужет таймер? Что сложно каждую секунду время/дату проверять? Не грузит это процессор совершенно, даже если 100 раз в секунду проверять. Таймеры - это лишние проблемы, это своего рода такие ненадежные костыли в любой программе.
← →
Anatoly Podgoretsky © (2007-06-19 16:47) [54]> DVM (19.06.2007 16:36:53) [53]
Как предлагаешь?
← →
DVM © (2007-06-19 17:10) [55]
> Как предлагаешь?
Я хотел сказать, что таймер не нужен для отсчета интервала размером с сутки. Им надо секунды отсчитывать а не сутки.
Если под сменой суток понимать момент когда меняется дата (а причина изменения даты тут уже не играет роли) - то все же элементарно. При старте программы или в любой другой нужный момент запоминаем дату. Раз в секунду (опять же по тому же самому таймеру) проверяем текщую дату. Как только она станет другой - сутки сменились. И не надо ставить таймер на гигантские интервалы.
Можно и вообще без таймера, но это посложнее будет - например, в потоке крутить цикл.
← →
Eraser © (2007-06-19 17:55) [56]> [55] DVM © (19.06.07 17:10)
> Можно и вообще без таймера, но это посложнее будет - например,
> в потоке крутить цикл.
можно, но это уже из мухи по воробьям, для такой операции выделять целый поток не целесообразно.
← →
Anatoly Podgoretsky © (2007-06-19 19:30) [57]> DVM (19.06.2007 17:10:55) [55]
Это естественно будет работать, а вот насчет надо ли ставить на большие интервалы, так это вопрос вкуса. Поток - ничего сложного и более оптимального, хотя бы из-за точности, приоритет много выше чем для таймерных сообщений. Нагрузка тоже минимальная и побочный эффект - для любителей крутить циклы для организации паузы - это отсутствие психологической проблемы со 100 процентной нагрузкой на ЦПУ.
Страницы: 1 2 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.024 c