![]() |
![]() ![]() |
|
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 783
Благодарил(а): 11 раз(а)
Поблагодарили:
565 раз(а) в 515 сообщениях
|
![]()
Вопрос:
Готовый макрос циклического таймера существует? Ответ: "Циклические таймеры" - это не что иное, как автоматы состояний с времязадающей цепью. Проще всего их делать копипастом, это гораздо быстрее, чем искать нужный именно вас макрос. Покажу на примере простейшего алгоритма: 300 секунд "работаем", 1 час "отдыхаем". Для начала определимся со счётчиками. Интервал 300 сек легко посчитает обычный 16-тиразрядный счётчик, а вот час уже слишком велик для него, поэтому используем 32-хразрядный счётчик из библиотеки. Для начала ставим два счётчика рядом. Ведь по условию, нужно отсчитать два интервала, 300 сек и 1 час. Два времени, два счётчика. Затем связываем их в единый цикл. Сначала считает один счётчик, по окончанию счёта он запускает второй счётчик. А второй счётчик, в свою очередь, по окончанию своего счёта сбрасывает всю систему в исходное состояние. В принципе, всё готово. Однако в жизни эту систему нужно уметь останавливать, поэтому оформляем сигнал разрешения работы, который банально снимает сигналы сброса с обоих счётчиков. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |