Показать сообщение отдельно
Старый 03.06.2014, 11:10   #5
Sergey Cherevko
Senior Member
 
Аватара для Sergey Cherevko
 
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Часовой таймер

Цитата:
Сообщение от rate216 Посмотреть сообщение
Как сделать часовой таймер, чтоб через n часов на выходе появлялась 1 ?
Можно двумя способами:
1.берется текущее время (GetRealTime), к часам добавляется n (ADD(int)), сохраняем в регистр (REG(int)) и сравниваем (CMP(int)) когда текущие часы сравняются с уставкой в регистре.
2.узнаем количество тиков программы в секунде/минуте/часе (TimeToTick), преобразуем в длинное целое (int->long), умножаем полученный период на n*3600/n*60/n (MUL(long)) и каждый тик вычитаем по единичке (SUB(long)). Как довычитаем до нуля - n часов прошло.


__________________
Автомат АК - самый распространенный преобразователь стека в очередь
Sergey Cherevko вне форума   Ответить с цитированием