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

Вниз

Насчет Таймера....   Найти похожие ветки 

 
TankMan ©   (2002-11-09 16:05) [0]

Я вот не пойму, ставлю интервал 1000, но он что не равен 1 секунде? Когда интервал 1000 таймер срабатывает не через 1 секунду, а через 0.9 сек. может быть, или так,но уж точно не через 1 сек. а в чем дело? может так и должно быть? или скажите тогда в чем проблема, мне нужно, чтобы таймер срабатывал ровно через каждую секунду, а не 0.9... что делать?


 
iNew   (2002-11-09 16:09) [1]

А как ты определил, что через 0.9 ?


 
TTCustomDelphiMaster ©   (2002-11-09 16:36) [2]

Позже может, но раньше не должен срабатывать.


 
The_Vizit0r! ©   (2002-11-09 16:52) [3]

В зависимости от загруженности систему интервал 1000 может был от 0.8 до 10 сек.


 
TankMan ©   (2002-11-09 22:17) [4]

Я определил? Он в некоторых случаях больше в некоторых меньше 1 сек. - Я поставил выводить время на лейбле, интервал таймера 1000 и запускал прожку, открыв часы понаблюдал - стрелки часов в виндах нормально идут.. я прав? вот и секунды менялись в программке чуть раньше, чем на часах, и с каждой секундой, часы в программке сбивались... вобщем не в этом вопрос, как я определил, но в том, что это однозначно - спора нет. ААА... вот... я ставлю таймер с интервалом 1000 повторяю 30 раз, и когда он повторит ~28 раз на часах проходит 30 сек.
А как сделать так, чтобы ровно каждую секунду он срабатывал или можть таймер другой где взять?


 
Alex44   (2002-11-09 22:30) [5]

Ya slyshal, chto multimedia timer"y tochnee, no sam tolkom nichego ne znayu. S drugoj stotony, zachem Vam eto nuzhno? V smysle, zachem samomu vremya schitat"? Prosto vyvodite po timer"u libo systemnoe vremya, libo chto-nibud" svyazannoe s TickCount. Togda vyvedennuj resultat budet tochnym, a uzh budet on vyvodit"sya chut" chashe ili chut" rezhe, ne tak uzh i vazhno.


 
TankMan ©   (2002-11-09 23:38) [6]

Значит никто эту проблему и не решал?... ясно...


 
Ihor Osov'yak ©   (2002-11-09 23:47) [7]

2 TankMan © (09.11.02 23:38)
см TTCustomDelphiMaster © (09.11.02 16:36) - он прав.

А Вы, молодой человек, постарайтесь понять, что 30 разделить на 28 несколько больше единицы. Это по поводу ваших 0.8 сек

А про критерий "чуть" - забудте. Если чего - то кажется - то можно перекристится. Иногда помагает.

Если нужен более точній отсчет - юзайте мультимедиатаймер. Но все же имейте ввиду, что виндовс - не система реального времени.



 
Hirara ©   (2002-11-10 00:08) [8]

я где то читал что таймер в делфе равен не 1 Мсек, а чото типа 0.8, если очень нужно могу книженцию порыть, вроде там видел, но только она про 5 делфю


 
TankMan ©   (2002-11-10 00:11) [9]

Спосибо... ну ошибся я значит с "медленее или быстрее" но не суть в этом, я спрашивал, как сделать более точный. Ответили. Спасибо за внимание.


З.Ы.
>>Ihor Osov"yak
Например ты тоже ошибаешься, о 0.8 и речи не шло... было о 0.9 посмотри внимательнее :)


 
ULTRIX ©   (2002-11-10 00:59) [10]

2TankMan если уж на то пошло, то используй таймер для обращения системного времени, т.к. по твоим словам "часики в виндах идут вроде правильно". Проблема отпадает сама собой.

Далее - каким образом выводишь в лайбел время? Может используется функция целого числа и т.д...


 
Beglec ©   (2002-11-10 02:21) [11]

Компоненто с точным таймером море в кладовке.

А то что Timer в Delphi был не точный, дык это было с Delphi 1 и по сей день.
А вообще чисто теоритически, на компьютере не может быть идеально точного таймера.
Всегда может возникнуть процесс который займет 100% времени и твоему приложению может не достаться процессорное время в нужный момент.

Так что лучше менять алгоритм программы, с учетом погрешности таймера.

В данный момент все свои проги решаю именно таким способом.
Так что +1 -1 секунда для меня не страшно.


 
Николай Быков ©   (2002-11-10 02:56) [12]

Я когда делал часы, то просто синхронизировал свой таймер с часами Windows постоянно:

var tine:_SYSTEMTIME;
....................
getsystemtime(time);
timer1.Interval:=1000-time.wMilliseconds;
....................

Тогда у меня таймер срабатывал каждую секунду



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
3-69146
Max Zyuzin
2002-10-30 08:41
2002.11.21
Совет нужен по IB


6-69464
Best Before 2024
2002-09-25 16:52
2002.11.21
Курсы валют


14-69507
paren'
2002-11-01 23:23
2002.11.21
Есть шансы, как вы думаете?


7-69585
cybermonk
2002-09-20 07:56
2002.11.21
Вопрос


1-69358
Guest2
2002-11-12 19:45
2002.11.21
Как проверить завершение процесса из своей проги?