Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

часы   Найти похожие ветки 

 
роша ©   (2004-04-13 20:57) [0]

как сделать чысы?


 
Rouse_ ©   (2004-04-20 18:50) [1]

При помощи TTimer


 
Сызганов Н.А.   (2004-05-17 09:57) [2]

А как засинхронизировать такие часы с системным временем:
есть ли в Windows события для секундных,минутных или часовых
меток ?


 
Scrip   (2004-05-17 16:46) [3]

Нажимаешь на TTimer двойным щелчком, интервал ставишь 1000(т.е. 1 секунда и пишешь так:
x:=Timetostr(time);
Edit1.Text:=x;

незабудь в разделе объявления переменных прописать переменную х типа string

Это самый простецкий способ, но его можно усовершенствовать. Это уже зависит от твоей фантазии


 
~ls ©   (2004-05-18 08:37) [4]

Можно сделать так:

procedure TForm.TimerTimer......
begin
//время
TimeLabel.Caption:=FormatDateTime(LongTimeFormat, time);

//датаDateLabel.Caption:=FormatDateTime(LongDateFormat, now);
end;

(Timer:TTimer
TimeLabel:TLabel
DateLabel:TLabel)


 
Gu   (2004-05-18 14:56) [5]

procedure TForm1.Timer1On....
begin form1.caption:=datetimetostr(Now);end;


 
Manulo ©   (2004-05-18 15:24) [6]

Да, только не забудь в этом случае в Uses прописать DateUtil


 
Сызганов Н.А.   (2004-05-20 09:37) [7]

Я не об этом спрашивал.
Засинхронизировать с системным временем - это значит,
что таймер должен тикать только в те моменты,когда в
системном времени происходит смена секунды,минуты или часа,
а не между ними.
А для этого в моменты смены у системного времени
секунды,минуты или часа необходимо формировать события
или использовать существующие,если они есть.
В этом и состоит мой вопрос.


 
zark   (2004-05-28 00:36) [8]

Для этого делаешь интервал TTimer меньше и все проблемы.


 
IceBeerg ©   (2004-11-24 18:06) [9]

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

А можно с интервалом в 100 например мс проверять не изменилось ли время и если изменилось, то разница с твоими часами будет всего лишь от 0 до 100 мс.


 
req   (2004-12-12 08:22) [10]

То что вы хотите получить осуществить нельзя, если вам нужна высокая точность. Это можно реализовать только с помощью дополнительного аппаратного обеспечения получающего сигналы точного времени и вырабатывающее определённые сигналы. Уменьшить частоту опроса таймера может поможет, но всё равно вы будете отрабатывать ваш код не в точно указанное время. Плюс минус интервал таймера, как напишите. К тому же таймер негарантированно срабатывает в указанный интервал. Windows это операционная система не реального времени.
Возмите таймер с интервалом 1 секунда и посмотрите сколько раз он сработает примерно за 8 часов и сравните со временем на компьютере.


 
-=SS=- ©   (2004-12-12 12:34) [11]

GetTickCount - помойму это количество секунд прошедших после загрузки.
 делаешь цикл

X0 := GetTickCount;
repeat
 If XO< GetTickCount Then
  Begin
   Xo := GetTickCount;
   PostMessage(Handle, WM_User+15,0, 0);
  End;
 Application.ProcessMessage;
until Application.Terminated;

Потом обрабатываешь сообщение WM_User + 15
PS : Писал на память так что извеняйте за допущеные синтаксические ошибки.


 
Vasya.ru ©   (2004-12-30 21:39) [12]

-=SS=- ©   (12.12.04 12:34) [11]
GetTickCount - помойму это количество секунд прошедших после загрузки.
делаешь цикл

Промахнулся


 
имя   (2005-01-12 10:34) [13]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
1-1123690794
Bios_
2005-08-10 20:19
2005.09.04
Изменение содержимого каталога


2-1065376913
Оля85
2003-10-05 22:01
2005.09.04
Как вычислить значение функции


14-1123759636
Павел
2005-08-11 15:27
2005.09.04
Delphi &amp; КПК


14-1123471171
ArMellon
2005-08-08 07:19
2005.09.04
как перепрошить видюху


1-1123825926
Strelets
2005-08-12 09:52
2005.09.04
Анализ символьной строки