Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

2.23.3. Основные макрооператоры

Макрооператор, как правило, состоит из заголовка, тела и окон­ча­ния. В заголовке указываются имя и параметры макрооператора. Окон­ча­ние ука­зывает на конец тела или на окончание области действия макро­опе­ра­тора. Тело макрооператора содержит информацию пользователя для ге­не­ра­ции логически связанных операторов FoxPro - отдельного фрагмента прог­раммы (процедуры). При составлении макрооператоров, которые опи­сы­вают формы до­ку­мен­тов и меню, используется принцип “Что я вижу, то и получу”.

Системная переменная является глобальной переменной FoxPro и исполь­зуется в соответствующих макрооператорах и подпрограммах для наст­ройки пользователем этих средств и, наоборот, для передачи поль­зо­ва­те­лю дополнительной информации.

Блок пользователя пpедстaвляет собой последовaтельности опе­pa­тоpов FoxPro, котоpые зaдaют дополнительную оpигинaльную обpaботку.

Подпрограммы реализуют типовые процедуры обработки данных.

2.23.3.1. Описание входного документа (Forma)

#Formaxxx

<строки описания формы документа>

#Endforma

Строка описания формы представляет собой непосредственно строку документа с указанием расположения вводимых или выводимых данных в виде окон, которые изображаются в виде: [xxx< p ].

Имя окна (xxx) должно совпадать с именем переменной, поля базы или быть функцией. Имя окна может заканчиваться символами: “ “ (пробел), “<” (вводимое поле, “>” (выводимое поле).

Можно задать символы редактирования данного (p).

Квадратные скобки определяют местоположение и длину поля в строке и вместе с символами редактирования и десятичной точкой определяют шаблон.

В выводном окне можно указывать непосредственно выражение в виде: [=ххх р . ] (ххх - выражение, значение которого будет выводиться.

Пример. [kpred< ] [=spred.npred ] [=100*fаct/plаn ]

В окне может помещаться наименование расшиф­ро­вы­ваемого дан­ного. В этом случае используется другой формат записи окна: [k,nt,ns ] (k - имя переменной или поля с расшифровываемым кодом, nt - имя поля с наименованием, ns - имя таблицы наименований).

2.23.3.2. Описание формы отчета (Ofort)

#Ofortxxx

< управляющие строки и строки описания формы отчета >

#Endofort

Отчет состоит из отдельных групп: заголовка, подзаголовка и под­но­жия отчета; заголовка, подножия листа и детальных групп. Первые пять групп составляют оформление отчета, а детальные группы образуют тело отчета. Описание каждой группы начинается с управляющей строки, за которой следует описание строк этой группы. Описание строки группы отчета аналогично описанию строки формы бланка документа.

В управляющей строке указывается тип группы отчета, номер на листе первой строки группы отчета или число пропускаемых строк, число ре­зервируемых строк в конце листа, признак вывода с нового листа и др.

2.23.3.3. Описание меню (Menu)

#Menuxxx Window=<описание окна меню>

<строки с текстом опции и выполняемых команд>

#Endmenu

Формат макрооператора ниспадающего меню имеет вид:

#Smenuxxx

Menu <зaголовок меню-1> [\ <нaименовaние зaголовкa меню-1>]

<строки с текстом опции и выполняемых команд>

Menu <зaголовок меню-m> [\ <нaименовaние зaголовкa меню-m>]

<строки с текстом опции и выполняемых команд>

#Endsmenu