|
Часть 1
-1-
Торговые марки
FoxBASE, FoxBASE+ и FoxBASE+/MAC являются зарегистрированными тор-
говыми марками. FoxPro является торговой маркой фирмы Fox Holdings,
Inc. В данном руководстве могут использоваться другие торговые марки.
Содержание
Язык программирования FoxPro
Использование языка FoxPro
Командное окно
Создание программ
Сохранение программ
Модификация программ
Выполнение программ
Дополнительная информация о программах
Возможности оперативной помощи FoxPro
Понятия языка программирования FoxPro
Команды м функции
Соглашения о синтаксисе команд и функций
Выражения
Диапазон записей: scope (контекст), For и While
Рабочие области баз данных
Функции и поля памяти memo
Типографские соглашения
Команды и функции по категориям
Типы данных
Символьные функции
Числовые функции
Функции даты и времени
Преобразование данных
Базы данных
Манипуляции с полями
Манипуляции с базами данных
Манипуляции с записями
Индексы
Связи
Программирование
Отладка и обработка ошибок
Выполнение программ
Команды структурного программирования
Функции для работы с файлами на низком уровне
Манипуляции с переменными памяти
Манипуляции с массивами
Управление событиями
Ввод и вывод
Форматирование данных
Печать
Линейки меню и всплывающие меню
Окна
Печать, клавиатура и "мышь"
Отчеты и этикетки
Среда FoxPro
Среда
Работа с файлами
Работа в сети (FoxPro/LAN)
Сетевые команды и функции
-2-
Команды и Функции
Эта часть содержит полное описание команд и функций FoxPro. Эта
часть организована в алфавитном порядке и начинается на странице 3-1.
Системные Переменные Памяти
Эта часть содержит полное описание системных переменных памяти
FoxPro. Эта часть организована в алфавитном порядке и начинается на
странице 4-1.
1. Язык программирования FoxPro.
--------------------------------
FoxPro - это программа, созданная для управления данными - катало-
гизации, поддержки и обработки информации. Хотя Вы можете производить
многие операции базы данных через систему меню и интерфейс, овладение
обширными возможностями FoxPro требует некоторого знания лежащего в
основе языка программирования.
Эта часть содержит ряд тем, которые помогут Вам использовать про-
цедурный язык, включая объяснение соглашений, которые мы используем,
чтобы описать синтаксис и правильное применение команд и функций
FoxPro.
FoxPro имеет элегантный интерфейс с пользователем, который обеспе-
чивает простое манипулирование данными. При пользовании интерфейсом,
соответствующие вашим действиям команды FoxPro генерируются в Команд-
ном окне. Командное окно является шлюзом между интерфейсом и языком
FoxPro.
Командное окно содержит предисторию всех команд, созданных во вре-
мя интерактивного сеанса в FoxPro, и тем самым обеспечивает широкие
возможности для освоения языка. Изучая сгенерированные команды при ра-
боте с интерфейсом вы быстро узнаете язык.
Команды, сгенерированные в Командном окне, могут быть легко выпол-
нены заново путем перемещения курсора на строку с этой командой и на-
жатия клавиши Enter. Долгий интерактивный сеанс в FoxPro генерирует
длинный список команд в Командном окне. Вы можете копировать и встав-
лять эти команды в программы FoxPro.
Программы FoxPro вместе с командами FoxPro являются мощнейшими
средствами манипулирования данными. Доступ ко всем возможностям FoxPro
осуществляется через его язык.
Использование языка FoxPro
Командное окно
Команды FoxPro могут быть исполнены непосредственно из Командного
окна. Для этого наберите нужный текст с Командном окне и нажмите кла-
вишу Enter. Для выполнения этой команды еще раз, с помощью клавиш уп-
равления курсором установить курсор на строку с нужной командой и наж-
мите клавишу Enter или кнопку "мыши".
Т.к. Командное окно является специальным окном редактирования
текста, вы можете редактировать команды, используя правила редактиро-
вания в FoxPro. В Командном окне вы можете редактировать, вставлять,
удалять, урезать, копировать текст.
Более подробная информация о Командном окне приводится в Главе
Оконный Меню в книге документации по FoxPro "Руководство по Интер-
фейсу" ("Interface Guide").
-3-
Создание программ
Программы FoxPro позволяют выполнять последовательности заданных в
программных файлах команд.
Выполнение программ имеет неоспоримые преимущества перед введением
отдельных команд в Командное окно:
- Программы позволяют выполнять многие команды автоматически, тем
самым экономя время и затраты на набор.
- Программы можно модифицировать и выполнять снова.
- Программы могут вызывать другие программы.
- Некоторые структурированные команды доступны только из программ.
- Программы FoxPro обеспечивают непараллельное выполнение.
Программы FoxPro представляют собой текстовые файлы, содержащие
наборы команд. В FoxPro они могут быть созданы одним из следующих
способов:
- Выбрать New... из всплывающего меню File. Появляется диалог Но-
вый Файл (New File). Выбрать селективную кнопку Program (Программа) и
затем выбрать ОК.
- В Командном окне набрать команду MODIFY COMMAND.
Откроется новое окно с именем UNTITLED.PRG. Введите вашу программу
в это окно. Окно редактирования программ поддерживает все стандартные
возможности редактирования в FoxPro. Для получения подсказки о возмож-
ностях редактирования текста в FoxPro, находясь в окне редактирования
текста, нажмите клавишу F1.
Внимание !!!
Если вы работаете в FoxPro в интерактивном режиме и хотите сохра-
нить сгенерированные в Командном окне команды, вы можете скопировать и
вставить их непосредственно в окно редактирования программы. Примеры
программ из файла помощи можно также копировать и вставлять не-
посредственно в программы. Копирование примеров программ из файла по-
мощи является быстрым и простым способом изучения работы команд и
функций FoxPro.
Сохранение программ
После создания программы, убедитесь, что вы сохранили ее. Для сох-
ранения вашей непоименованной программы, выберете пункт Save... или
Save As...(Сохранить как...) из всплывающего меню File. Появится диа-
лог Сохранить Как (Save As). После сохранения программы вы можете вы-
полнять ее или модифицировать.
Модификация программ
После сохранения программы вы можете ее модифицировать. Первым де-
лом вы должны открыть программу. Открытие программы в FoxPro осущест-
вляется одним из следующих способов:
- Выбрать пункт Open...(Открыть...) из всплывающего меню File. По-
является диалог из списка доступных файлов. Из всплывающего меню Type
(Тип) выберете пункт Program. Выберете модифицируемую программу и за-
тем выберете ОК.
- В Командном окне наберите команду MODIFY COMMAND, и через пробел
от нее, имя модифицируемой программы, затем нажмите Enter. Программа
откроется для модификации. Например, для модификации программы с име-
нем MYPROGRM, в Командном окне задайте следующую команду:
MODIFY COMMAND myprogm
После открытия программы вы можете делать изменения. После произ-
водства изменений, сохраните ваше программу.
-4-
Выполнение программ
После создания программы вы можете выполнить ее. Для выполнения
программы вы должны:
- Выбрать пункт Do... из всплывающего меню Program. В списке прог-
рамм укажите выполняемую программу и выберете ОК.
- Наберите в Командном окне команду DO, и через пробел от нее, имя
выполняемой программы, затем нажмите Enter. Например, для выполнения
программы с именем MYPROGRM, в Командном окне задайте следующую коман-
ду:
DO myprogm
Дополнительная информация о программах
Полная информация о создании, редактировании и сохранении прог-
раммных файлов приводится в секции "Текстовый Редактор" ("Text
Editor") главы "Базовый Интерфейс" ("Interface Basics") книги докумен-
тации по FoxPro "Руководство по Интерфейсу" ("Interface Guide"). Воз-
можности текстового редактора также описываются в топике Редактирова-
ние Текста (Text editing) оперативной помощи FoxPro.
Информация о выполнении программных файлов имеется в главе Меню
Programm в книге документации по FoxPro "Руководство по Интерфейсу"
("Interface Guide") или в топике Do оперативной помощи FoxPro.
Возможности оперативной помощи FoxPro
Оперативная помощь всегда доступна в FoxPro. Оперативная помощь
включает в себя краткую информацию о каждой команде, функции и систем-
ной переменной, а также общую информацию о FoxPro. Оперативная помощь
в FoxPro является контекстно-зависимой.
Для доступа к оперативной помощи, нажмите клавишу F1 или выберете
пункт Help... (Помощь...) из всплывающего меню System. После этого на
экране появится Окно Помощи (Window Help) со списком топиков. В этом
окне выберете нужный вам топик.
Вы можете переходить к связанным с данной темой топикам, путем вы-
бора пункта See Also (Смотри Также) во всплывающем меню. Вы можете
также выделить текст в топике помощи и выбрать текстовую кнопку Look
Up (Искать). Таким образом вы можете выходить на описание встретив-
шейся в топике команды или функции.
Если выделенный текст является топиком помощи, то на экране появ-
ляется соответствующая информация. Если никакой топик не соответствует
выделенной информации, то выводится диалог со всеми доступными топика-
ми. Выделяется ближайший подходящий топик. Вы можете выбрать из списка
этот топик или другой.
Для получения справки о команде или функции в Командном окне или в
программе, выделите эту команду или функцию и нажмите F1.
В системных окнах, диалогах и пунктах системных меню FoxPro
доступна контекстно-зависимая помощь. Для получения контекстно-зависи-
мой помощи при нахождении в меню или диалоге нажмите F1.
Дополнительная информация о возможностях оперативной помощи FoxPro
имеется в главе Меню System в книге документации по FoxPro "Руко-
водство по Интерфейсу" ("Interface Guide").
-5-
Понятия языка программирования FoxPro
Команды и функции
Язык программирования FoxPro состоит из двух элементов - команд и
функций. Команды выполняют некоторые действия, а функции возвращают
значение. Например, команда BROWSE позволяет просматривать содержимое
базы данных. Функция DATE() возвращает системную дату, установленную
на вашем компьютере. Функции имеют две круглые скобки, которые отлича-
ют их от команд.
Команды и функции могут комбинироваться для создания операторов
FoxPro. Функции не используются сами по себе, но всегда используются
вместе с командами FoxPro.
Например, знак вопроса (?) является командой, которая направляет
вывод на экран. DATE() является функцией, возвращающей текущую систем-
ную дату. Они могут комбинироваться для вывода системной даты на эк-
ран:
? DATE()
Команда STORE присваивает значение переменной памяти. В этом при-
мере, функция TIME() возвращает текущее системное время, и это значе-
ние заносится в переменную памяти BEGINTIME:
STORE TIME() TO begintime
Соглашения о синтаксисе команд и функций
Команды и функции FoxPro состоят из одной или более компонент. Эти
компоненты определяют порядок использования команды или функции.
Давайте посмотрим на типичный синтаксис команды FoxPro. Команда
REPLACE используется для обновления полей в записи базы данных. Вот
синтаксис команды REPLACE:
REPLACE WITH [ADDITIVE]
[, WITH [ADDITIVE]] ...
[] [FOR ] [WHILE ] [NOOPTIMIZE]
В следующей таблице приводится список компонент команды REPLACE:
Тип компоненты Пример в команде REPLACE
Ключевые слова REPLACE, WITH, ADDITIVE, FOR, WHILE, NOOPTIMIZE
Выражения expr1, expr2, expL1, expL2
Имена field1, field2
В данном руководстве в синтаксисе команд и функций используются
специальные типографские соглашения. Они показывают, должна ли данная
компонента команды или функции задаваться вами, является ли она обяза-
тельной или нет, и т.д.
ЗАГЛЫВНЫЕ ЗАГЛАВНЫЕ БУКВЫ используются для написания ключевых слов
БУКВЫ FoxPro. Каждая команда или функция FoxPro содержит, по край-
ней мере одно ключевое слово. FoxPro использует ключевые
слова для идентификации команды или функции. Ключевые слова
иногда называют зарезервированными словами, так как FoxPro
предварительно резервирует их для внутреннего использования.
-6-
Примерами ключевых слов в команде REPLACE являются REPLACE (кото-
рое FoxPro идентифицирует как команду), WITH, ADDITIVE, FOR, WHILE и
NOOPTIMIZE. WITH, ADDITIVE, FOR, WHILE и NOOPTIMIZE называются еще
предложениями или опциями команды.
Ключевое слово может задаваться своими первыми 4-мя символами.
< > Угловые скобки < > , заключающие в себе текст, написанный
строчными буквами, указывает на задаваемую вами информацию.
Этой информацией может быть имя файла, выражение, имя пере-
менной памяти и т.д. При использовании команды или функции
вы заменяете текст и угловые скобки на нужное имя или выра-
жение.
() Круглые скобки должны включаться во все функции FoxPro. Вклю-
чайте их, как показано в синтаксисе соответствующей функции.
[] Квадратные скобки указывают на необязательные компоненты
команд и функций FoxPro. При выдаче команды не указывайте
их. Например, команда REPLACE поддерживает различные опции,
и вы можете задавать различные их наборы. Показанные в
квадратных скобках опции и ключевые слова ADDITIVE,
, FOR , WHILE и NOOPTIMIZE являются
необязательными.
| Вертикальная черта разделяет опции, только одна из которых
может быть указана.
... Многоточие показывает, что команда или функция, или часть
команды или функции, может быть продолжена в том же режиме.
Например, функция INLIST() поддерживает большое число аргу-
ментов. Многоточие в ее синтаксисе показывает, что вы може-
те включать более трех показанных аргументов.
Выражения
Выражением в FoxPro является комбинация значений полей баз данных,
функций, значений переменных памяти, значений элементов массива,
констант и операторов. В FoxPro выражения бывают 4-х типов - символь-
ные, числовые, типа даты и логические.
Выражения в командах и функциях FoxPro определяются следующим об-
разом:
Выражение Тип выражения
Символьный
Числовой
Даты
Логический
Символьный, числовой, даты или логический
Список выражений, разделенных запятыми
Если в команде или функции используются более одного выражения од-
ного типа, то для указания на его позицию в команде или функции к вы-
ражению добавляется номер. Например, функция CHRTRAN() имеет следующий
синтаксис:
CHRTRAN(,,)
CHRTRAN() требует наличия трех аргуметов , и
, являющихся символьными выражениями.
Поля баз данных, функции, переменные памяти и элементы массива,
комбинируемые для создания выражения, обязательно должны иметь один
тип данных. Если они имеют различные типы, то FoxPro выдает сообщение
об ошибке "Оператор/операнд имеют недопустимый тип" ("Operator/operand
type mismatch").
-7-
Символьные выражения
Символьные выражения состоят из:
- полей баз данных символьного типа;
- функций, возвращающих символьное значение;
- переменных памяти и элементов массивов, которые содержат сим-
вольные данные;
- констант символьного типа, называемых строковыми литералами.
Строковый литерал представляет собой строку символов, заключенную
в одинарные или двойные кавычки. Например, 'Ohio' или "Ohio". Кавычки
должны соответствовать друг другу. Это значит, что вы не можете начи-
нать строку одинарной кавычкой и заканчивать двойной, и наоборот.
Внутри строки вы можете использовать кавычки противоположного ти-
па. Например, строка "Don't touch" является допустимым строковым лите-
ралом.
Важно !!!
В документации по FoxPro вы встретите понятие пустой строки
(null). Пустая строка, это символьная строка длины 0. Она не содержит
никаких символов.
Пустая строка задается парой кавычек без символов между ними - ""
или ''.
Операторы, работающие с символьными выражениями
Оператор Операция
+ Слияние строковых выражений (две строки соединяются в одну)
- Слияние строковых выражений (хвостовые пробелы первой строки
переносятся в конец второй строки)
$ Сравнение символьных выражений
Числовые выражения
Числовые выражения состоят из:
- полей баз данных числового типа;
- функций, возвращающих числовое значение;
- переменных памяти и элементов массивов, которые содержат число-
вые данные;
- числовых констант.
Числовыми константами являются числа- 0, 1, -1, 3.1415 и т.д.
Операторы, работающие с числовыми выражениями
(в порядке последовательности их выполнения)
Оператор Операция
() Круглые скобки - используется для группировки выражений
**, ^ Возведение в степень
*, / Умножение и деление
% Модуль (остаток)
+, - Сложение и вычитание
Выражения типа даты
Выражения типа даты состоят из:
- полей баз данных типа даты;
- функций, возвращающих значение типа даты;
- переменных памяти и элементов массивов, которые содержат данные
типа даты;
- констант даты.
Константы типа даты являются числами - 1, 2, 3, 100 и т.д. Конста-
ныт типа даты представляют дни; вы можете складывать и вычитать эти
константы (число дней) к или из заданной даты.
-8-
Дата может быть задана использованием фигурных скобок. Например,
команда
STORE {12/25/91} TO xmax
переменную памяти типа даты XMAS и заносит в нее дату 12/25/91.
Обе команды
STORE { / / } TO blankdate
STORE { } TO blankdate
создают пустую переменную памяти типа даты BLANKDATE. FoxPro рассмат-
ривает неправильную дату как пустую.
Логические выражения
Логические выражения имеют одно из двух значений - истина и ложь.
В FoxPro часто для из задания используются .T. и .F.
Логические выражения состоят из:
- полей баз данных логического типа;
- функций, возвращающих логическое значение;
- переменных памяти и элементов массивов, которые содержат логи-
ческие данные;
- Выражений других типов (символьных, числовых или даты), разде-
ленных специальным операторами отношения.
Операторы, работающие с логическими выражениями
(в порядке последовательности их выполнения)
Оператор Операция
() Круглые скобки - используется для группировки выражений
!, NOT Логическое отрицание
AND Логическое И
OR Логическое включающее ИЛИ
Операторы отношения в логических выражениях
Оператор Операция
< Меньше чем
> Больше чем
= Равно
<>, #, != Не равно
<= Меньше или равно чем
>= Больше или равно чем
== Сравнение строк символов
Имена
Некоторые команды и функции FoxPro требуют задания имен. Вот неко-
торые примеры имен, используемых в FoxPro:
- имена файлов баз данных;
- имена псевдонимов баз данных;
- имена полей баз данных,
- имена индексных файлов;
- имена файлов;
- имена массивов и переменных памяти;
- имена окон;
- имена линеек меню;
- имена всплывающих меню.
В следующей таблице первая колонка содержит имена, как они появля-
ются в синтаксисе команд и функций. Вторая колонка описывает, что
именно включается в команду или функцию.
- 9-
------------------------------------------
Имя Что включается
------------------------------------------
Имя файла
Имя поля базы данных
Список имен полей базы данных
Имя массива переменных памяти
Имя переменной памяти или элемента массива
Список имен переменных памяти
|
|