![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
![]()
Тема из разряда "как проще?".
Нужно отсчитывать секунды, минуты и часы с начала запуска программы. Самый просто способ - делать это вручную: взять 3 штуки Label(названия, к примеру, Hour,Minute,Second), обнулить и прибавлять единицу в Second каждый раз когда пройдет 1000мс. Minute меняется в зависимости от Second, а Hour в зависимости от Minute. Вопрос: может есть какие-то компоненты по умолчанию считающие это все? И я зря это все пишу по незнанию? Можно проще? Мне лично проще так. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
А зачем каждую секунду? Вот когда кто-то затребует информацию, тогда считать время опять и выдать разницу.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
![]()
потому что запрашивают каждую секунду
![]() |
![]() |
![]() |
![]() |
#4 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
![]()
таймер обычный вещь не очень точная особенно в плане миллисекунд, тут либо использовать более точную реализацию таймера из директХ, либо просто при старте запомнить в переменную типа TDateTime дату время запуска и когда надо получать разницу между Now и переменной, и декодировать это значение.
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
![]() Цитата:
1. Мне не важна для задачи точность. 2. Даже если бы была важна очень сильно, я бы скорее его сразу по NTP запрашивал откуда-нибудь. Вообще я имел в виду какой-нибудь класс-секундомер. Где, например, можно использовать методы: Код:
Последний раз редактировалось GoriZonTT; 19.07.2013 в 15:20. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
Так что именно надо? Использовать самописный счётчик секунд или вычислить время работы программы? Счётчик - не самый лучший способ. И уж не самый простой точно. GetTickCount рулит. Запомнил количество секунд при старте. Потом берёшь текущее значение и вычитаешь стартовое. Получаешь количество секунд работы программы. Думаю, что перевести из секунд в часы и минуты труда не составит...
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Категорически согласен!!! фактически сам хотел тоже самое предложить. Данный способ имеет одни плюсы (простота, надёжность, точность, универсальность -хоть на таймер сади, хоть по событию, не загружает систему - загрузка будет идти только на отображение времени работы) и я не вижу недостатков в данном подходе! p.s. вместо getTickCount можно брать получение системного времени... |
|
![]() |
![]() |
![]() |
#8 | |
Заблокирован
Регистрация: 17.07.2013
Сообщений: 104
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.04.2012
Сообщений: 134
|
![]() Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Монитор включается через время после запуска ПК | _PROGRAMM_ | Компьютерное железо | 3 | 09.07.2012 14:12 |
TSR программа через некоторое время после запуска выводит на экран простейший графический объект, позволяя управлять им стрелками. | Custom_L.E. | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 17.05.2012 16:26 |
Время запуска программы | Larboss | Общие вопросы Delphi | 5 | 06.01.2012 23:44 |
как сделать проще | геннадий522 | Общие вопросы C/C++ | 36 | 19.12.2011 14:45 |
как проще ее написать? | 777pro777 | Помощь студентам | 4 | 25.10.2011 15:05 |