Документация по Clarion


NOTIFY (обработка критических ошибок) - часть 3


ASK ! ждем нажатия на клавишу
ErrFlag = 0 ! сбрасываем флаг ошибки
RETURN ! и вываливаемся
.
!Здесь остальной код отчета
PrinterReady PROCEDURE(ParmString)!Обработчик ошибок принтера
CODE
ErrFlag = 1 !Была критическая ошибка!
CritParmGroup = ParmString !Какя именно?
Crt:RetVal = 'F' !Отказ от продолжения
ParmString = CritParmGroup !Вернуть данные в параметр
ErrorProc PROCEDURE(ParmString) !Обработчик общих ошибок
Opt STRING(1) !Размещается на стеке
ErrScreen SCREEN(3,40),PRE(Scr),COLOR(79),CENTER,CUA
ROW(1,2) STRING('Ошибка:')
ErrDesc ROW(1,10) STRING(25)
ErrDevice ROW(2,10) STRING(25)
ROW(3,2) STRING('Выбери: Abort Retry Ignore Fail')
CODE
CritParmGroup=ParmString !Получить данные об ошибке
OPEN(ErrScreen) !Открыть экран
Scr:ErrDesc = Crt:CritMsg !Получить описание ошибки
Scr:ErrDevice = Crt:CritDev ! и устройстве
LOOP !Цикл для ввода допустимого
! выбора
ASK !Ждем ввода с клавиатуры
Opt = UPPER(KEYCODE())
IF Opt <> 'A' AND Opt <> 'R' AND Opt <> 'I' AND Opt <> 'F'
!Если выбранная опция недопус-
! тима, то
BEEP ! предупреждаем пользователя
CYCLE ! и повторяем ввод
ELSE !Иначе,
BREAK ! продолжаем
. . !Конец операторов IF и LOOP
Crt:RetVal = Opt !Помещаем опцию, выбранную поль-
! зователем в CritParmGroup
ParmString = CritParmGroup !Вернуть данные в параметр



- Начало -  - Назад -  - Вперед -



Книжный магазин