Спасибо! Понравилось!
Вид для печати
А сертол выкладывал готовый вариант, там только добавлен прямой отсчёт времени! И все элементы входящие в макрос имеются в ОЛ, 32 битный счётчик в менеджере компонентов, но даже с 16 битным универсальным счётчиком из ОЛ можно иметь уставку до 18,2 часов, если Вам больше не нужна достаточно и этого счётчика!
Учитесь, если у Вас не получается тупо повторить, боюсь у Вас ничего не получится! Начинайте с повторения готовых макросов, проектов!
Вы имеете ввиду, что при переполнении счет на уменьшение начинается по кругу с 65535 ? Во первых 32 битный счётчик ведёт себя аналогично! Во вторых вся разница этих счётчиков в диапазоне счёта! В третьих, это не имеет никакого значения, так как при достижении "0" дальнейший счёт на уменьшение блокируется логикой макроса, таймер срабатывает и может оставаться в таком состоянии сколь угодно долго, больше от таймера ничего и не требуется, короче, полный бред, мягко выражаясь! И вообще здравых людей это не должно беспокоить! Таймер выполнил свою функцию, отсчитал интервал времени и сработал и что там с его счётчиком в это время происходит, переполняется он, не переполняется(можно по любому сделать) никого не должно волновать!
Скромность украшает человека!:rolleyes: Сергей не сочтите за занудство, но у идеального варианта отсутствует отдельный дискретный выход окончания работы таймера, тот что имеется так-же по сути дублирует вход "пауза" -это так к слову, дорисовать под свои нужды конечно каждому не проблема. т. к. лично я посещаю этот сайт исключительно с целью обучения ОЛ, Вы безусловно и бесспорно один из тех людей кто владеет этим наверное в совершенстве.А теперь вопрос по существу , зачем Д триггер ? я о макросе на стр 10. только с целью синхронизации с тактом времени в данном случае секунд? . Если выложенный на 13 стр макрос Ваш то зачем там второй счетчик?С целью "зафиксировать" уставку для прямого отсчета на время работы таймера?
Д-тригер поставил для отсчёта точного интервала времени, что задан, тем более для таймера с паузой это актуально, каждая пауза может вносить погрешность до одной секунды!
Второй счётчик, я уже писал об этом, предназначен для вывода прямого отсчёта времени, можно выводить разность между уставкой и текущим значением первого счётчика, как у Вас, но тогда это сильно ограничивает макрос, я не могу подать на вход следующую уставку(это нарушит прямой отсчёт времени) до окончания отсчёта таймера, короче, придётся эту уставку запоминать в макросе, а так счётчик добавил и всё, я счёл, что так проще!
Если счёт при обратном отсчёте не останавливать на нуле, то на время "сработки" таймера придётся выводить на экран "0", при обратном отсчёте!
И для универсальности лучше отдельно выводить из макроса сигнал окончания отсчёта иначе столько похожих таймеров может получится, мало чем отличающихся друг от друга!