Вверх ↑
Этот топик читают: Гость
Ответов: 24
Рейтинг: 4
#1: 2012-12-03 20:04:00 ЛС | профиль | цитата
Здравствуйте. Нужно написать обратный отсчет, который будет работать независимо от системного времени, т.е. чтобы при изменении системного времени таймер не изменял свои показатели. Получается что нельзя использовать компоненты даты/времени, пришлось все делать через таймер. Если по обычному таймеру каждую секунду отнимать от установленного времени секунду, то через определенное время набежит пару лишних секунд (у меня за 10 минут набежало 26 лишних секунд), так что пришлось делать через независимый таймер. В общем написал я этот независимый обратный отсчет, но мне кажется что это скорее издевательство над Hiasm, чем нормальный обратный отсчет.
Уважаемые специалисты по Hiasm, пожалуйста, посмотрите на мое творение, и скажите как его можно улучшить/оптимизировать, код прикладываю.

code_29658.txt

карма: 1

0
Ответов: 758
Рейтинг: 112
#2: 2012-12-03 20:17:02 ЛС | профиль | цитата
Тут смотрел?
карма: 1

0
Ответов: 24
Рейтинг: 4
#3: 2012-12-03 20:32:51 ЛС | профиль | цитата
да, во первых там обычный таймер (а не независимый) за пару минут набегут лишние секунды, во-вторых, там нет всего-того что мне нужно (минуты, секунды, часы)
Пожалуйста, посмотрите на схему, и помогите...
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2012-12-03 21:16:51 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 22:06:48
карма: 0

0
Ответов: 24
Рейтинг: 4
#5: 2012-12-03 21:20:05 ЛС | профиль | цитата
37.45.12.145, опечатка ) , поправьте пожалуйста..
карма: 1

0
файлы: 1code_29658.txt [6.5KB] [129]
Ответов: 16884
Рейтинг: 1239
#6: 2012-12-03 21:33:35 ЛС | профиль | цитата
fooger,
code_29662.txt
и не надо рассказывать сказки про набегающие или пропадающие секунды.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_29662.txt [942B] [118]
Ответов: 24
Рейтинг: 4
#7: 2012-12-03 21:40:12 ЛС | профиль | цитата
Tad, спасибо, но Ваш таймер зависит от системного времени, по этому и не набегают секунды. Мне нужно задать определенное время, и независимо от системного время/даты делать отсчет. По этому, единственное решение которое я нашел - это по таймеру каждую секунду отнимать секунду от заданного времени.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#8: 2012-12-03 21:56:41 ЛС | профиль | цитата
fooger, понятно.

Ну и просто шутка:
code_29663.txt

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_29663.txt [1.4KB] [115]
Голосовали:foksov
Ответов: 24
Рейтинг: 4
#9: 2012-12-03 22:24:50 ЛС | профиль | цитата
Tad,
По делу мне может кто-то помочь?
карма: 1

0
Ответов: 8930
Рейтинг: 823
#10: 2012-12-03 22:28:32 ЛС | профиль | цитата
fooger, системное время стабилизировано кварцем, максимум 10^-5 погрешность, т. е. не более секунды за сутки, о каких 26 секундах может идти речь Ещё одна схемка: code_29665.txt
карма: 19

0
файлы: 1code_29665.txt [1.8KB] [131]
Ответов: 24
Рейтинг: 4
#11: 2012-12-03 22:44:18 ЛС | профиль | цитата
Леонид, в том то и дело, что нельзя мне использовать системное время, и вообще привязку к времени. Мне нужен независимый от времени таймер. Если запустить Ваш код, нажать старт, потом отмотать системное время на две минуты назад, то таймер также изменится на +2 мин (чего делать нельзя). В моем случае в таймере набегало 26 секунд только по той причине, что каждую секунду я просто отнимал от заданного времени одну секунду. Впрочем это исправилось с переходом на независимый таймер. Меня интересует можно ли упростить мою схему, и вообще можно ли ее использовать (так как там нет привязки к времени).
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#12: 2012-12-03 22:59:18 ЛС | профиль | цитата
fooger писал(а):
По делу мне может кто-то помочь?
fooger писал(а):
независимо от системного время/даты делать отсчет
объясни конкретно, что значит "независимо" ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#13: 2012-12-03 23:02:41 ЛС | профиль | цитата
Tad писал(а):
объясни конкретно, что значит "независимо" ?

Да вполне нормально объяснил
fooger писал(а):
который будет работать независимо от системного времени, т.е. чтобы при изменении системного времени таймер не изменял свои показатели

Сильно смахивает на попытку сделать защиту по времени использования ПО, те при принудительном изменении системной даты собственный таймер не должен менять показания. В принципе, ничего сильно сложного в этом нет. В IC это можно сделать несколькими строчками, используя QueryPerformanceCounter
карма: 22

0
Ответов: 8930
Рейтинг: 823
#14: 2012-12-03 23:09:30 ЛС | профиль | цитата
fooger, Вот тоже, но по тикам процессора code_29666.txt
карма: 19

2
файлы: 1code_29666.txt [1.6KB] [131]
Голосовали:ser_davkin, fooger
Разработчик
Ответов: 26164
Рейтинг: 2127
#15: 2012-12-03 23:13:51 ЛС | профиль | цитата
Леонид писал(а):
Вот тоже, но по тикам процессора

Во, и я о том же
------------ Дoбавленo в 23.13:
Леонид, ты на правильном пути, но где у тебя сохраняются предыдущие результаты Прога же может быть запущена или остановлена в любое время, а таймер должен считать, и текущие результаты отсета должны где-то сохраниться, а при запуске суммироваться. А если произошло несанкционированное закрытие, то результат потеряется
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)