|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.07.2013, 12:11 | #1 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
Как проще? Время с начала запуска
Тема из разряда "как проще?".
Нужно отсчитывать секунды, минуты и часы с начала запуска программы. Самый просто способ - делать это вручную: взять 3 штуки Label(названия, к примеру, Hour,Minute,Second), обнулить и прибавлять единицу в Second каждый раз когда пройдет 1000мс. Minute меняется в зависимости от Second, а Hour в зависимости от Minute. Вопрос: может есть какие-то компоненты по умолчанию считающие это все? И я зря это все пишу по незнанию? Можно проще? Мне лично проще так. |
19.07.2013, 12:12 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
А зачем каждую секунду? Вот когда кто-то затребует информацию, тогда считать время опять и выдать разницу.
|
19.07.2013, 12:13 | #3 |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
потому что запрашивают каждую секунду
|
19.07.2013, 12:47 | #4 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
таймер обычный вещь не очень точная особенно в плане миллисекунд, тут либо использовать более точную реализацию таймера из директХ, либо просто при старте запомнить в переменную типа TDateTime дату время запуска и когда надо получать разницу между Now и переменной, и декодировать это значение.
|
19.07.2013, 15:16 | #5 | |
Пользователь
Регистрация: 12.12.2010
Сообщений: 15
|
Цитата:
1. Мне не важна для задачи точность. 2. Даже если бы была важна очень сильно, я бы скорее его сразу по NTP запрашивал откуда-нибудь. Вообще я имел в виду какой-нибудь класс-секундомер. Где, например, можно использовать методы: Код:
Последний раз редактировалось GoriZonTT; 19.07.2013 в 15:20. |
|
19.07.2013, 17:49 | #6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Так что именно надо? Использовать самописный счётчик секунд или вычислить время работы программы? Счётчик - не самый лучший способ. И уж не самый простой точно. GetTickCount рулит. Запомнил количество секунд при старте. Потом берёшь текущее значение и вычитаешь стартовое. Получаешь количество секунд работы программы. Думаю, что перевести из секунд в часы и минуты труда не составит...
|
19.07.2013, 18:43 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Категорически согласен!!! фактически сам хотел тоже самое предложить. Данный способ имеет одни плюсы (простота, надёжность, точность, универсальность -хоть на таймер сади, хоть по событию, не загружает систему - загрузка будет идти только на отображение времени работы) и я не вижу недостатков в данном подходе! p.s. вместо getTickCount можно брать получение системного времени... |
|
19.07.2013, 20:48 | #8 | |
Заблокирован
Регистрация: 17.07.2013
Сообщений: 104
|
Цитата:
|
|
20.07.2013, 04:21 | #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 |