Синтаксис раздела form интерфейса |
Форма становится доступной после объявления ее в разделе form интерфейса.
Объявляются только управляемые формы.
Автономные формы вызываются без предварительного объявления при помощи стандартных функций.
В интерфейсах объявляются только формы-прототипы.
Раздел form следует после описания логической таблицы и параметров интерфейса.
<раздел форм> ::= form {<объявление формы>}; <объявление формы> ::= <имя формы в интерфейсе> (<имя файла отчета> [ , <имя формы>] ) [<визуализация>] <имя формы в интерфейсе> ::= <идентификатор>
Имя формы в интерфейсе должно быть уникальным для данного интерфейса.
Имя формы в интерфейсе может отличаться от имени формы, заданного при описании формы. Данная возможность является весьма удобной для разработчиков интерфейсов.
Если имя формы в интерфейсе совпадает с именем формы, то <имя формы> в секции <параметры формы> опускается.
Имя формы в интерфейсе используется при обращении к методам объекта данной формы из прикладного алгоритма (вызов методов формы смотрите ниже).
Для формы-прототипа и присоединенных форм создается общий объект формы.
Пример
.form aaa ................ .endform
Варианты объявления формы-прототипа aaa в интерфейсе:
Вариант 1. Имя формы в интерфейсе совпадает с именем формы-прототипа.
form aaa("rezult.out");
Вариант 2. Имя формы в интерфейсе отличается от имени формы-прототипа.
form bbb("rezult.out", aaa); <имя файла отчета> ::= <строка>
<имя файла отчета> - имя выходного файла. Имя может содержать путь на файл.
Имя файла отчета может иметь макросы (метапеременные типа %USER%). Например: "out\%USER%\MyReport.out".
Если задано только имя файла, то файл отчета помещается в каталог, указанный в параметре командной строки компилятора
/O:<выходной каталог>.<имя формы> - имя, присвоенное данной форме-прототипу при описании формы.
Имя формы указывается в тех случаях, когда имя формы в интерфейсе не совпадает с именем формы.
<визуализация> ::= <установка атрибутов визуализации> | <отмена визуализации>
При исполнении отчета по данной форме по умолчанию включается визуализация процесса исполнения, при этом каждый новый шаг визуализации происходит при каждом вызове метода Write данной формы (см. "Методы форм для интерфейсов. ").
Если Вы хотите задать текст для окна визуализации и изменить шаг визуализации, то установите атрибуты визуализации.
<установка атрибутов визуализации> ::= with visual <атрибуты визуализации> <атрибуты визуализации> ::= (<строка сообщения>[ , <количество шагов>] )
<строка сообщения> - текст для окна визуализации.
<количество шагов> - количество операторов вызова метода формы <имя формы в интерфейсе>.Write, через которое необходимо делать следующий шаг визуализации. По умолчанию следующий шаг визуализации происходит при каждом вызове метода Write формы.
<отмена визуализации> ::= with novisual
Для отключения визуализации необходимо ввести служебную конструкцию with novisual, при этом функции NextVisual будут работать с визуализацией формы.
Визуализация позволяет прервать процесс вывода в форму. Для корректного прерывания процесса необходимо в каждый цикл вывода включить в качестве условия продолжения цикла следующую конструкцию:
<условие продолжения цикла> ::= and not <имя формы>.Error
Метод формы Error возвращает true, если пользователь прервал процесс формирования отчета, или произошла какая-либо ошибка.
После возникновения ошибки все методы работы с формой начинают игнорироваться, а метод ShowFile вместо показа результата выдает сообщение об ошибке.
Для переинициализации формы необходимо вызвать метод AbortForm.