Главное окно и меню FoxPro для Windows.
Внешний вид главного окна приведен на рис.2. Содержимое основных меню (File, Edit, Database, Program, Window) соответствует описанию аналогичных пунктов, приведенному в разделе 3.1.1.
В окне ”Command ” Вы будете набирать собственно команды, либо при выполнении каких-либо действий с помощью системного интерфейса соответствующие команды будут отображаться в этом окне.
41 Структура команды FOXPRO. Основные команды FOXPRO: открытие базы данных (БД), добавление записей, редактирование БД, просмотр содержимого БД.
Обозначения, используемые для описания синтаксиса команд при изучении языка:
«Файл» – имя файла. Если нужно подчеркнуть тип файла, то может быть указано и расширение его имени.
«Поле» – имя поля файла базы данных.
«Индекс» – имя индекса (имя индексного файла).
«Перем» – имя временной переменной, находящейся в памяти.
«Область» – имя рабочей области, которую организует FoxPro для обработки одного файла базы данных. Если не оговорено иначе, область может быть указана номером, буквой или псевдонимом базы данных.
«Окно» – имя окна.
[...] – в квадратных скобках указывается необязательная, но возможная часть конструкции команды. Скобки в команду не входят.
<...> – в угловых скобках помещается всякое разрешенное выражение, которое программист должен поместить в команду. Скобки в команду не входят.
.../... – указывает на то, что в команде необходимо наличие только одного из элементов, разделенных знаком “/”.
«ВырN» – выражение числового типа. Его результатом является число.
«ВырL» – выражение логического типа. Вырабатывает значение “Истина” или “Ложь”. Логические выражения в синтаксисе команд тоже иногда будут обозначаться термином “условие”.
«ВырC» – выражение символьного типа. Вырабатывает строку символов или отдельный символ.
«ВырD» – выражение типа дата. Его результатом является число, к которому применима логика дат.
«Выр» – выражение любого типа вообще или любого типа из разрешенных по контексту.
Для переноса в тексте программы части команды на следующую строку в конце текущей строки ставится знак “;”.
Знаки операций
Команды могут содержать следующие знаки операций:
МАТЕМАТИЧЕСКИЕ:
** или ^ – возведение в степень;
* – умножение, / – деление, % – остаток от деления;
+ – сложение, – – вычитание.
ЛОГИЧЕСКИЕ:
NOT – НЕ (другая форма указания операции НЕ – !);
AND – логическое И;
OR – ИЛИ.
Знаки логических операций (кроме !) окаймляются точками или пробелами.
ОТНОШЕНИЯ:
< – меньше, > – больше, = – равно, # – не равно, <= – не больше, >= – не меньше. Знаки отношения применимы как к числовым выражениям, так и к датам и символьным выражениям. Если сравниваются символьные строки разной длины, сравнение выполняется по длине второго выражения, т.е. выражения, стоящего справа от знака отношения. Остаток левого операнда, превышающий длину правого операнда, игнорируется. Эта особенность организовать поиск данных и по неполному ключу, например фамилии по первой(ым) букве(ам). Тогда более короткое выражение должно стоять справа от знака “=” и из него обычно должны быть удалены концевые пробелы.
Для символьных выражений реализованы дополнительные операции.
ОПЕРАЦИИ ОТНОШЕНИЯ:
$ – сравнение символьных строк. Операция A$B даст значение логическая “Истина”, если A идентично B, либо А входит в В, и “Ложь” в противном случае.
== – сравнение на полное тождество символьных строк и по длине, и по содержанию, включая пробелы.
ОПЕРАЦИЯ СЦЕПЛЕНИЯ:
+ – соединение двух или более строк в одну.
Структура команд
Команды FoxPro, ориентированные на обработку файлов базы данных, в самом общем виде имеют следующий синтаксис:
НАЗВАНИЕ [<границы>] [<список выражений>] [FOR <условие>] [WHILE <условие>]
Здесь:
НАЗВАНИЕ – имя команды;
<границы> – границы действия команды, которые могут иметь одно из следующих значений:
· ALL – все записи базы данных;
· REST – все записи, начиная с текущей, до конца базы;
· NEXT <N> – следующие N записей, начиная с текущей;
· RECORD <N> – запись номер N;
FOR <условие> – выполнение команды только для записей, отвечающих <условию>;
WHILE <условие> – выполнение команды только до тех пор, пока не перестанет выполняться <условие>.
Слова FOR и WHILE могут присутствовать в команде одновременно. В этом случае WHILE-условие, очевидно, имеет приоритет перед FOR-условием.
П р и м е р: LIST NEXT 10 FIELDS fam,tab,dtr FOR fam=’П’
Название Границы Выражение FOR-условие
Порядок следования элементов команды (за исключением “названия”, которое всегда располагается на первом месте) произвольный. По умолчанию, если отсутствуют <границы> или <условия>, сферой действия команды является одна только текущая запись, или, наоборот, вся база данных.
В FoxPro разрешается и ключевые слова, и имена записывать как прописными, так и строчными буквами. Константы различных типов данных отображаются в командах следующим образом:
Символьные константы в FoxPro выделяются апострофами, кавычками или квадратными скобками.
Константы типа “дата” берутся в фигурные скобки (например, {09.11.95}). Пустая дата ({ . . }) вообще может быть задана одними фигурными скобками {}.
Логические константы T (истина) и F (ложь) в тексте программ обрамляются точками.