Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1196804556
Иван
2007-12-05 00:42
2008.01.13
Приложение в юникоде


2-1197386963
mufan
2007-12-11 18:29
2008.01.13
TRichEdit: блокировка Ctrl+C (ненужное копирование)


2-1197538417
XerSon
2007-12-13 12:33
2008.01.13
Оптимальный выбор платормы для клент-серверного приложения?


6-1178027712
denissoft
2007-05-01 17:55
2008.01.13
программно отключить соединение по локальной


3-1189277440
opoloXAI
2007-09-08 22:50
2008.01.13
SQL. Вычисляемое поле.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский