![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Почему некорректно работает данный код ? По задумке кепшн формы должен обновляться каждую секунду, но на деле все не так. Как заставить этот код работать верно ?
ps нужна именно такая реализация: Интервал таймера очень маленький, в обработке таймера проверяется, если время, прошедшее от начала работы таймера делится на определенное число, необходимо произвести некоторые действия. unit Unit1; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
У меня нормально отработал... (проверяла по системным часам и секундомеру на телефоне)
А в чем некорректность выражается? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Попробуй работать с QueryPerformanceCounter + TIME_CRITICAL для таких маленьких интервалов...
Добавлено через 2 мин. Цитата А в чем некорректность выражается? По-моему, через какое-то время приведенный код начинает обгонять реальное время, или мне просто показалось? |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
У меня этот код обновляет кепш только каждые 7 секунд, то есть отображается 7000, потом 14000 ....
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
добавление Refresh что-то изменит?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
hardcase |
![]()
Сообщение
#6
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
TTimer - дико неточная вещь. Он работает через сообщения винды и потому его нельзя использовать на малых интервалов.
Для этого лучше создавать собственный thread и циклически вызывать Sleep(). Кроме того есть системные функции для таймеров высокой точности, но они тоже работают через нити. Кстати, системные вызовы, навроде GetTickCount чертовски дороги (генерируют прерывание и вызывают переключение на ядро ОС). Почему изначально не поставить таймер на нужную задержку? Сообщение отредактировано: hardcase - 30.05.2007 22:38 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Почему изначально не поставить таймер на нужную задержку? Все немного сложнее. Грубо говоря, в событии таймера нужно было проверять на какие из N чисел, время прошедшее от старта таймера до текущего делится без остатка. Всеравно всем спасибо. не стал я морочиться с этим гемором, решил немного по другому все сделать. Сообщение отредактировано: klem4 - 30.05.2007 23:00 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 10:18 |