Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 178

/ вопрос решён /

Какой метод компонента Timer1 позволяет вывести время суток в часах, минутах и секундах?

Суслова Елена Владимировна Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задала: Суслова Елена Владимировна (статус: Посетитель)
Вопрос отправлен: 28 ноября 2006, 21:05
Состояние вопроса: решён, ответов: 4.

Ответ #1. Отвечает эксперт: Виталий Лещенко

Здравствуйте, Суслова Елена Владимировна!
Компонент TTimer предназначен немного для других целей. Он никуда не выводит текущее время, он может лишь выполнять некоторое событие периодически с заданным интервалом.
Для получения текущего времени смотрите в сторону фнкции time

Приложение:
  1. Unit
  2. SysUtils
  3.  
  4. Syntax
  5. [Delphi] function Time(): TDateTime;
  6.  
  7.  
  8.  


Ответ отправил: Виталий Лещенко (статус: 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)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:45
Выполнено за 0.02 сек.