Форум: "Основная";
Текущий архив: 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