Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
роша ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.421 c
2-1120925367
Michael5
2005-07-09 20:09
2005.09.04
Подскажите, как код разнести по разным файлам (Unit ам)?


14-1123685668
Radgar
2005-08-10 18:54
2005.09.04
Книга по Turbo Pascal


6-1116530816
Positive
2005-05-19 23:26
2005.09.04
Открытые порты


3-1122279717
salexn
2005-07-25 12:21
2005.09.04
Проблема с Oracle под дебагером


4-1121430528
JohnSmith
2005-07-15 16:28
2005.09.04
Работа с Mutex





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский