69
3.1.4.1 Внешние процедуры
Внешней процедурой называется некоторая последовательность команд,
которые выполняют определенное и законченное действие по обработке
данных. Внешняя процедура (или несколько процедур) хранятся в отдельном
файле на диске. Приложение может содержать несколько процедурных файлов,
но подключен (активен) всегда только один процедурный файл. Подключение
процедурного файла производится командой:
SET PROCEDURE TO [<имя процедурного файла>]
Команда без
опции закрывает процедурный файл.
Вызов внешней процедуры. Формат команды:
DO <имя программного файла внешней процедуры>
[ WITH < список параметров ] [ IN <имя файла> ]
Назначение опций:
WITH <список параметров> — содержит список входных и выходных
параметров. В качестве входных и выходных параметров допускается
использование переменных, констант и выражений.
IN <имя файла> — явно указывает место хранения программного файла
и используется вместо предварительно подаваемой команды SET PROCEDURE.
Команда DO выполняет указанную программу. Если указанная программа
не откомпилирована или в нее были внесены изменения, то она автоматически
компилирует указанную программу, а затем ее выполняет.
Если в <имени программного файла> опушено расширение, то
расширения будут просматриваться в следующем порядке: .exe, .app, .ficp, .prg.
Команда описания
заголовка процедуры. Формат команды:
PROCEDURE <имя процедуры>
В качестве имени процедуры используется уникальный набор букв
латинского алфавита. Допускается использование цифр, но первым символом
должна быть буква.
Команда восприятия параметров. Формат команды:
PARAMETERS <список параметров>
Эта команда позволяет передать процедуре значения переменных из
командной строки или из вызывающей программы. Она
пишется сразу после
заголовка процедуры и содержит такое же количество параметров и того же
типа, что и в команде DO, вызывающей данную процедуру.
Команда окончания процедуры. Формат команды:
RETURN [TO MASTER | ТО <имя процедуры> | <выр>]
Команда RETURN без опций завершает выполнение процедуры и
передает управление следующему по порядку оператору.
Команда RETURN TO MASTER завершает
выполнение процедуры и
выполняет переход к самому верхнему уровню вызывающих процедур,
передавая управление следующему по порядку оператору.
Команда RETURN TO <имя процедуры> завершает выполнение
процедуры и выполняет переход к процедуре с указанным именем, передавая