![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Секундомер [D7, WinXP]
Fynjy1984 © (2005-10-14 10:04:00)Хочу организовать секундомер по типу такого:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var j:integer;
begin
if key=97 then
begin
stop:=time;
label1.Caption:=formatfloat('00',round((stop-start)*24*60) mod 60)+
':'+formatfloat('00',round((stop-start)*24*60*60) mod 60)+
'.'+formatfloat('00',round((stop-start)*24*60*60*100) mod 100);
end
else
if key = 110 then
start:=Time;
end;
Хотелось бы узнать насколько точно он будет оределять время между нажатиями. Я понимаю что это будет зависеть от компа и его загруженности. Положим что комп P2 366, а загруженность -> 0, могу ли я добиться точности 0.01 с?
0bsid (2005-10-14 21:07:00) [1]var
h,m,s,ms:word;
begin
DecodeTime(now,h,m,s,ms);
ShowMessage(Format('%d:%d:%d.%d',[h,m,s,ms]));
end;
вместо now поставьте измеряемое время
точность до 1 мсек
Ega23 (2005-10-14 16:43:00) [2]Т.к. проц обрабатывает сообшение всего 10мс,
Тебе не кажется, что ты на 3 порядка ошибся?
NightLord (2005-10-14 12:53:00) [3]Точности в 10 мс? Нет не сможешь, Т.к. проц обрабатывает сообшение всего 10мс, а у тебя чрез 10 уже след, а про Windows - забыл? даже если он не будет загружен всеровно проц будет обрабатывать его сообщения =)
Возьми 100мс уже будет лучще и сильно разницы не заметишь =)
Ega23 (2005-10-14 10:15:00) [4]Положим что комп P2 366, а загруженность -> 0, могу ли я добиться точности 0.01 с?
Наверное сможешь.
Но гарантии тебе никто не даст.