IDLE (периодически вызываемая процедура)
IDLE([procedure][,separation])
procedure | Метка оператора PROCEDURE. Процедура должна описываться в MAP программы, но НЕ в MAP для модуля-члена. |
separation | Целое число секунд, задающее минимальный промежуток между обращениями к ПРОЦЕДУРЕ. 0 означает, что, по возможности, обращение к ней должно идти непрерывно. Если SEPARATION не задано, то по умолчанию - 1. |
IDLE-процедура активна во время работы операторов ASK или ACCEPT или функции ENTRY. В один момент времени может быть активна только одна IDLE-процедура. Задание новой IDLE-процедуры, отменяет старую. Оператор IDLE без параметров отменяет обращения к IDLE-процедуре.
(А.С.П. - с помощью этой функции, например, можно выводить на экран ИДУЩИЕ часы, вообще, организовывать работу по прерываниям от таймера, хотя и достаточно примитивную)
Пример:
IDLE(ShoTime,10) !Вызывать shotime каждые 10 секунд
IDLE(CheckNet) !Проверять активность ЛВС каждую секунду
IDLE !Отключить IDLE-процедуру
См. также: , , , ,