|
Вопрос # 178/ вопрос решён / |
|
Какой метод компонента Timer1 позволяет вывести время суток в часах, минутах и секундах?
 |
Вопрос задала: Суслова Елена Владимировна (статус: Посетитель)
Вопрос отправлен: 28 ноября 2006, 21:05
Состояние вопроса: решён, ответов: 4.
|
Ответ #1. Отвечает эксперт: Виталий Лещенко
Здравствуйте, Суслова Елена Владимировна!
Компонент TTimer предназначен немного для других целей. Он никуда не выводит текущее время, он может лишь выполнять некоторое событие периодически с заданным интервалом.
Для получения текущего времени смотрите в сторону фнкции time
 |
Ответ отправил: Виталий Лещенко (статус: 4-ый класс)
Время отправки: 28 ноября 2006, 21:39
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Geron
Здравствуйте, Суслова Елена Владимировна!
Нужно по событию прохождения времени таймера.
(создаем caption для вывода времени)
время caption1.caption:=timetostr(now);
даты caption2.caption:=datatostr(now);
 |
Ответ отправил: Geron (статус: 1-ый класс)
Время отправки: 28 ноября 2006, 21:44
Оценка за ответ: 5
|
Ответ #3. Отвечает эксперт: Alex Van Glukhman
Здравствуйте, Суслова Елена Владимировна!
Компонент TTimer предназначен для упрощённого вызова функций WinAPI SetTimer и KillTimer для упрощения работы с Message WM_TIMER
У этого компонента есть property Enabled которое напрямую связано со свойством Interval.
Enabled:=true активирует TTimer и он вызывает событие OnTimer через промежутки времени заданные свойством Interval.
Если Ваша задача выставить время в часах минутах и секундах для срабатывания таймера, то задача решается. В момент установки свойства Enabled:=true компонента TTimer получить текущее время вызвав функцию Time()если интервал задаётся в пределах суток или Now() если интервал выходит за пределы суток. От времени срабатывания таймера в формате TDateTime или TTime необходимо вычесть текущее время и результат пересчитать в миллисекундах которые далее присваиваются свойству Interval. Только в этом случае существует небольшая погрешность на время вычисления данного алгогритма процесором.
Удачи!
 |
Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)
Время отправки: 28 ноября 2006, 22:05
Оценка за ответ: 5
|
Ответ #4. Отвечает эксперт: Alexander A. Gribanov
Никакой. Для получение времени и/или даты в произвольном виде идеально подходит функция FormatDateTime. В вашем случае будет что-то типа:
s:=FormatDateTime('hh:mm:ss',now); // s: string;
 |
Ответ отправил: Alexander A. Gribanov (статус: 2-ой класс)
Время отправки: 29 ноября 2006, 15:07
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 19:17: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|