Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPORA_BD_i_SUBD.docx
Скачиваний:
6
Добавлен:
24.04.2019
Размер:
196.39 Кб
Скачать

11,Изложите материал по использованию массивов в языке FoxPro. Опишите основные манипуляции с массивами. Изложите материал по созданию и использованию пользовательских процедур и функций.

. Массив <array> нужно заранее описать с помощью команд DECLARE или DIMENSION, имеющих одинаковые синтаксис и действие:

DECLARE | DIMENSION <array1> (<expN1>[,<expN2>])

[,<array2> (<expN3>[,<expN4>])… ]

Команды позволяют создавать одномерные или двумерные массивы переменных памяти. Считается, что имеет одну колонку и <expN1> строк. Двумерный массив имеет <expN1> строк и <expN2> колонок. Размерности массива можно записывать как в круглых, так и в квадратных скобках. Элементы массива могут быть данными любого типа. При создании элементы инициализируются логическими значениями «ложь» (.F.). Можно изменить размерность массива, повторно используя команду DIMENSION.Синтаксис команды удаления из памяти переменных и массивов:

RELEASE<memvar list> | <array list>

RELEAS ALL [LIKE <scel> | EXCEPT <scel>]

При этом глобальные переменные и массивы удаляются лишь при явном указании их имен в списке, т.е. только командой первого типа. Описанные команды полностью освобождают оперативную память ПЭВМ от удаляемых объектов.

Команда CLEAR MEMORY освобождает все переменные и массивы, как локальные, так и глобальные, от присвоенных им значений. Опция TO<file> обеспечивает сохранение в файле с указанным именем. По умолчанию, для таких файлов переменных памяти принято расширение .mem имени файла.

Опция TO MEMO<memofield> обеспечивает сохранение в указанном поле примечаний типа memo (в поле памяти). Восстановление переменных и массивов реализует команда:

RESTORE FROM<file> | FROM MEMO <memo field> [ADDITIVE]

Команда GATHER перемещения содержимого переменных памяти или элементов массива в поля текущей записи активной таблицы базы данных имеет синтаксис:

GATHER FROM <array> | MEMVAR [FIELDS <field list>] [MEMO]

В команде COPY TO ARRAY для копирования одной записи следует использовать одномерный массив, а для копирования нескольких записей – двумерный массив.

Будем различать главную процедуру (или головную программу) и вызываемые ей процедуры.

Синтаксис начала подпрограмм и функций соответственно следующий:

PROCEDURE<procedure name>

FUNCTION<function name>

Имя процедуры не должно совпадать с именем встроенной функции, так как последняя имеет приоритет при вызове. Синтаксис команды, заканчивающей выполнение UDF:

RETURN [<expr> | TO MASTER | TO <program name>]

Здесь <expr> – возвращаемое в вызывающую процедуру значение. Команда RETURN без аргументов возвращает управление вызывающей программе. Опция TO MASTER передает управление на самый верхний уровень в иерархии вызывающих программ. Опция TO<programname> возвращает управление указанной программе. Оператор RETURN не является обязательным, так как неявная команда RETURN автоматически выполняется за последним оператором любого программного файла; кроме того, очередная следующая команда FUNCTION или PROCEDURE сигнализирует о конце предыдущей. Данные передаются в UDF в форме параметров. Параметры определяются командой PARAMETERS<parameterlist> которая должна быть следующей после команды начала UDF. Такую загрузку выполняет команда открытия процедурного файла: SETPROCEDURETO [<procedurefile>]

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]