Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
110
Добавлен:
15.06.2014
Размер:
10 Mб
Скачать
    1. Основы программирования вVisualFoxPro

5.3.1 Общие положения и соглашения о синтаксисе команд

Язык программирования Visual FoxPro обеспечивает возможности как структурного, так и объектно-ориентированного программирования. Он состоит из двух основных элементов: команд и функций. Команды могут быть исполнены по одной непосредственно из командного окна Command. С помощью клавиш управления курсором можно установить курсор на любую из ранее выполненных команд и запустить ее снова. Окно Command позволяет выполнять все стандартные (типовые) операции редактирования.

VF также позволяет создавать и выполнять программы, то есть последовательность команд. Программа набирается и модифицируется в окне редактирования и сохраняется в текстовых программных файлах.

Доступ к окну может осуществляться двумя способами:

FileOpen…(Type Program выбрать целевой файл из списка.

Набрать в окне Command команду

MODIFY COMMAND <имя файла>

и нажать клавишу Enter.

Для запуска программы можно использовать стандартные средства меню или набрать в окне Command команду

DO <имя программы>.

Программные файлы состоят из предложений языка FoxPro, включающих команды, функции и выражения. Если предложение не умещается на одной строке, его можно перенести, используя символ «;» в конце заполненной строки в позиции предложения, содержащей пробел.

Предложение, начинающееся символом «*» в первой позиции строки, является комментарием и игнорируется при выполнении программы.

Возможен построчный комментарий, который записывается в той же строке, что и предложение программы, но отделяется от него двумя символами амперсанда «&&».

Обычно программа на языке Visual FoxPro состоит из нескольких частей (секций). Каждая из них не является обязательной и используется по необходимости.

Первой обычно бывает Setup Section, область присвоения начальных значений переменным и установки системных параметров. В этой же секции открываются все необходимые файлы и устанавливаются связи между ними.

Второй является Main Section – секция, выполняющая основную работу программы. Обычно это команды управления программой и/или команды обработки данных.

В третьей секции, Closing Section, сосредоточены команды, обеспечивающие сохранность полученной в результате работы информации. Это могут быть команды закрытия файлов, сохранения временных наборов данных и команды, восстанавливающие системные параметры, измененные во второй секции. В конце этой области находятся операторы возврата к вызывающей программе.

Команды и функции Visual FoxPro содержат следующие компоненты: ключевые слова, выражения, имена. Пример приведен на рис. 5.21.

REPLACE <field1> WITH <expr1> [ADDITIVE]

[, <field2> WITH <expr2> [ADDITIVE]]

[<scope>] [FOR <expL1>] [WHILE<expL2>] [NOOPTIMIZE]

Команда содержит:

- ключевые слова REPLACE, WITH, ADDITIVE, FOR, WHILE, NOOPTIMIZE;

- выражения expr1, expr2, expL1, expL2;

- имена field1, field2.

Рис. 5.21 Пример команды языка VF и ее компонентов

Ключевое слово может задаваться своими первыми четырьмя символами.

Примем следующие правила записи (рис. 5.22).

<текст> – указывают текст, который нужно заменить нужным именем, выражением или ключевым словом (в случае <scope>); сами угловые скобки в команде не набираются;

( ) – включаются практически во все функции Visual FoxPro;

[ ] – указывают необязательные компоненты команд (скобки в команде не набираются);

| – разделяет альтернативные компоненты;

… – указывает на возможность продолжения ряда подобных компонентов.

Буква и номер в конце имени или выражения указывают на тип данных и порядок расположения однотипных компонентов (N-число, C-символ, D-дата, L-логический).

Рис. 5.22 Правила записи команд языка VF

Диапазон записей scope определяет, на какие записи в базе данных действует команда. Он задается следующими способами (рис. 5.23).

ALL – команда действует на все записи в базе данных;

NEXT <expN> – команда действует на <expN> записей, начиная с текущей (например, <NEXT 1> действует на текущую запись, то есть на ту запись, на которую позиционирован указатель в базе данных);

RECORD <expN> – команда действует на заданную запись в базе данных под номером <expN>;

REST – команда действует на ряд записей, начиная с текущей записи и заканчивая последней записью в файле.

Можно указать диапазоны записей, используя в командах предложения FOR <expL1> и WHILE <expL2>.

В случае предложения FOR <expL1> команда обрабатывает только записи, удовлетворяющие заданному логическому условию <expL1>.

Предложение WHILE <expL2> заставляет команду действовать на каждую запись базы данных, пока является истинным логическое выражение <expL2>.

В случае одновременного использования в одной команде FOR <expL1> и WHILE <expL2> предложение WHILE имеет приоритет, то есть обработка записей прекращается сразу же после того, как условие <expL2> станет ложным, хотя условие <expL1> может продолжать оставаться истинным.

Рис. 5.23 Правила задания диапазона записей