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

Вниз

Создание точного таймера до сотых секунды   Найти похожие ветки 

 
EugeneXP   (2007-07-18 15:52) [0]

Есть несколько вопросов на эту тему. Пытался чего-нито найти... Но того, что нужно нет...

Задача: Вводиться время формата  10:99 (секунды : десятые и сотые секунды)

необходимо реализовать функцию по истечению времени.

Пытался сделать с помощью таймера... Но таймер только с интервалом 1000 работает реально, т.е. секунда по продолжительности как секунда... с меньшими интервалами (10, 100) секунды либо меньше, либо длинней.... Пришел в тупик.

Вопрос: как правильно будет создать такой таймер (часы).

Второй вопрос с отображением... есть стандартный формат отображения FormatDateTime("HH:MM:SS",Time); а как реализовать секунды и мл....???

Пробовал найти подобную весч в и-нете... ничего... но полюбому это создавали десятки раз!

Подскажите, если есть у кого какие-нибудь мысли.

Спасибо!


 
Сергей М. ©   (2007-07-18 16:02) [1]


> EugeneXP   (18.07.07 15:52)


Ты осознаешь, что Windows НЕ является ОС реального времени ?
Или тебе по барабану ?)


 
Amoeba ©   (2007-07-18 16:15) [2]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=434
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=455


 
Ega23 ©   (2007-07-18 16:33) [3]


> Вопрос: как правильно будет создать такой таймер (часы).


Никак. 100% гарантии тебе никто не даст.


 
Strange man   (2007-07-18 16:50) [4]

Используй функции TimeSetEvent и TimeKillEvent. Они наиболее точные и поддерживаются всеми процессорами.


 
Сергей М. ©   (2007-07-18 17:17) [5]


> Strange man


рекомендую прекратить давать идиотские утверждения и рекомендации.


 
palva ©   (2007-07-18 17:18) [6]

Если для дела, а не для забавы, то надо брать другую операционную систему.


 
Ega23 ©   (2007-07-18 17:19) [7]


> надо брать другую операционную систему.


Другая операционка тоже гарантии не даст.


 
icWasya ©   (2007-07-18 17:45) [8]

FormatDateTime("HH:MM:SS.ZZZ",Time);


 
EugeneXP   (2007-07-18 23:36) [9]

Спасибо за ценные ответы!!! =))


 
Германн ©   (2007-07-19 01:06) [10]


> Пробовал найти подобную весч в и-нете... ничего... но полюбому
> это создавали десятки раз!
>

Но не в Windows.

P.S. По-любому пишется через чёрточку :)


 
EugeneXP   (2007-07-19 01:22) [11]

Ну, то, что через черточку - в курсе )))

Сейчас просто пробую на основе стандартного таймера делфи реализовать обратный отсчет времени секунд и милисекунд и выводить так как это должно быть (SS.ZZZ)...
хочу посмотреть, что получиться

не знаю может неправильным путем пошел, но подскажите
как переменную TTime уменьшить на 1 мсек или на другую величину?

мне пришло в голову со строками заморчиваться... но это как сложно и глупо получиться...


 
Германн ©   (2007-07-19 01:26) [12]


> EugeneXP   (19.07.07 01:22) [11]
>
> Ну, то, что через черточку - в курсе )))
>
> Сейчас просто пробую на основе стандартного таймера делфи
> реализовать обратный отсчет времени секунд и милисекунд
> и выводить так как это должно быть (SS.ZZZ)...
> хочу посмотреть, что получиться
>
> не знаю может неправильным путем пошел
>

Именно неправильным.
Стандартный таймер (но не Дельфи, а Windows) имеет разрешение 55мс для 9х и 10мс для NT.


 
Loginov Dmitry ©   (2007-07-19 08:06) [13]

На тебе таймер-часы:


procedure TTimerForm.FormCreate(Sender: TObject);
begin
 Timer1.Interval := 1;
end;

procedure TTimerForm.Button1Click(Sender: TObject);
begin
 StartTime := Time + 1 / 24 / 60 / 60 * 10; {10 sec}
 Timer1.Enabled := True;
end;

procedure TTimerForm.Timer1Timer(Sender: TObject);
var
 TimeValue: TTime;
begin
 TimeValue := StartTime - Time;

 if TimeValue < 0 then
 begin
   TimeValue := 0;
   Timer1.Enabled := False;
 end;

 Label1.Caption := FormatDateTime("hh:nn:ss:zzz", TimeValue)
end;




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

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

Наверх




Память: 0.5 MB
Время: 0.026 c
15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


3-1177562304
O.O
2007-04-26 08:38
2007.08.12
Динамические структуры


2-1184226969
DINOEL
2007-07-12 11:56
2007.08.12
Проблема в передачи данных с одной формы в другую


3-1177705087
КрЫска
2007-04-28 00:18
2007.08.12
Символьные даннные из Oracle выдаются как #.


2-1184435002
Sonic90
2007-07-14 21:43
2007.08.12
Кнопка формы на панели задач