Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизСоздание точного таймера до сотых секунды Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c