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

Вниз

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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
3-69124
Ryser
2002-11-04 11:26
2002.11.21
Выделение цветом определенной строки в DBGrid


1-69265
Sego
2002-11-11 23:54
2002.11.21
Параметры среды


14-69573
Карелин Артем
2002-11-04 17:30
2002.11.21
Собираю комп.


14-69492
Andrey
2002-11-01 10:45
2002.11.21
Вопорс по Linux


14-69576
3JIA9I CyKA
2002-11-04 21:28
2002.11.21
8)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский