Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сделать часы, прибавляющие секунды равномерно


fmcoder ©   (2005-10-15 00:28:00) 

Сделал часы с помощью TTimer, там просто каждые 100 мс обновляется значение метки, но получается, что секунды прибавляются неравномерно, то почти 2 секунды стоит одно значение, потом как бы быстро проходят 2 секунды... В принципе, понятно, что это из-за того, что программа считывает значения не в момент начала секунды, а в середине-конце или еще где-нибудь.
В общем, как это можно решить, кроме как увеличением интервала таймера?


Думкин   (2005-10-17 06:20:00) [1]

> quadronik ©   (15.10.05 22:07) [7]

А шнурки лучше завязывать бантиком.


quadronik   (2005-10-15 22:07:00) [2]

label1.caption:=DateToStr(time);
Точно не помню, вроде бы так...


Думкин   (2005-10-15 06:20:00) [3]

Когда я у себя это делал - то использовал дополнительный поток. Вполне прилично работало.


Германн   (2005-10-15 02:27:00) [4]

2 fmcoder   (15.10.05 01:52) [4
]
> Да, понятно, что не из-за того, что в [2] написали.

Имхо, именно из-за того, что в [2]!

>А вот насчет Label, извини, я не знаю как их по-русски называть. :(

Просто Label : это - метка.
А вот как "по-русски" компонент типа TLabel, уже я не знаю :)


fmcoder   (2005-10-15 01:52:00) [5]

Да, понятно, что не из-за того, что в [2] написали. Вариант с Now в принципе работает, в 90% случаев, но иногда, все-таки получается, как я уже писал - например (секунды) 38, почти сразу 39, потом через промежуток больше 1-й сек, но меньший 2-х, появляется 41. Смотрится очень криво. Тут надо как-то правильно выбрать начальную точку...
А насчет label'ов, как их еще по русски называть? Лейбл?


Германн   (2005-10-15 01:16:00) [6]

Имхо, делать интервал таймера в подобном случае меньше 1 секунды - глупо. А если в сих часах пишутся ещё и доли секунды, то это ещё более глупо.
см. [2]

> В принципе, понятно, что это из-за того, что программа считывает
> значения не в момент начала секунды, а в середине-конце
> или еще где-нибудь.

Это не из-за "того"! Это из-за того, о чём написано в [2].

Ты, эта, ещё. Label - это метка, но TLabel - это, ну как бы это сказать, это ... Ну не метка это! Имхо.


Плохиш   (2005-10-15 00:46:00) [7]


> fmcoder   (15.10.05 00:28)

Вындовс ещё и другими делами занимается, кроме обработки твоей программы.


Anatoly Podgoretsky   (2005-10-15 00:35:00) [8]

Используй NOW


Наверх

Титульная страница Поиск, карта сайта Написать письмо