Открытие и закрытие базы данных
Для открытия базы данных можно воспользоваться командой
OPEN DATABASE<имя БД> [Exclusive].
С целью получения навыков откройте базу данных TESTDATA, выполнив команду:
OPEN DATABASE ‘D:\Program Files\Microsoft Visual Foxpro \Samples\Data\testdata’
После этого можно открыть нужную таблицу, например Employee, для просмотра:
USE Employee
BROWSE
Более удобно использовать визуальные возможности VFP. Можно использовать команду Open меню File, после чего, в открывшемся окне Open выделить файл нужной БД с расширением .dbc и нажать кнопку ОК. Но удобнее всего использовать окно диспетчера проекта, предоставляющее средства для работы со всеми компонентами БД. (Работа с окном проекта рассмотрена далее.)
Закрытие базы данных производится командой
CLOSE DATABASES
или
CLOSE ALL,
которая закрывает базу данных и все открытые таблицы. Можно, также, использовать стандартные для Windows средства закрытия окон или использовать команду Close меню File.
Создание и использование переменных
Пользовательские переменные, используемые при программировании, могут иметь различный статус. Статус (область видимости) переменных можно объявить выполнением командой.
LOCAL <список временных переменных > - объявляет переменные, которые доступны только в пределах программы в которой они объявлены. В вызываемых этой программой процедурах и функциях – недоступны. После завершения программы эти переменные удаляются из памяти.
PRIVATE <список временных переменных> – объявляет ранее созданные переменные или массивы, как доступные в пределах программы, в которой они объявлены, а также во всех процедурах и функциях, вызываемых из этой программы. Изменения локальных временных переменных не отражаются на временных переменных с теми же именами в других программах. При завершении программы значения локальных временных переменных, созданных командой PRIVATE, исключаются.
PUBLIC <список временных переменных > – объявляет глобальные временные переменные, доступные из любой программы и из командного окна. Не уничтожаются при завершении программы. Значения этих переменных видны из всех процедур и функций. Глобальные переменные должны быть объявлены до присвоения им значений.
Статус переменной задаётся использованием рассмотренных служебных слов, например:
PUBLIC rec && переменной reg присваивается статус PUBLIC
Кроме пользовательских переменных в FoxPro существуют системные переменные, которые являются резидентными и не могут быть уничтожены. Такие переменные имеют специальные имена, начинающиеся с символа подчёркивания. Например, системная переменная _SCREEN.Cls применяется для управления главным окном программы FoxPro и служит для его очистки. Другим примером является системная переменная _DIARYDATE, которая хранит дату, выбранную в окне календаря, открываемого командой ACTIVATE WINDOW calendar. По умолчанию системной переменной _DIARYDATE присваивается значение текущей даты. Если же в окне календаря выбрать другую дату, указанная переменная принимает выбранное значение.
Команда присваивания
Имя переменной начинайте с буквы, используйте только буквы, цифры и подчеркивания. Имя переменной может быть длиной до 255 знаков. Имя переменной не должно быть зарезервированным словом языка Foxpro или совпадать с его первыми четырьмя буквами. Напомним, что язык программирования Visual FoxPro регистронезависим, т.е. имена переменных, команды и прочее можно набирать как заглавными, так и строчными буквами.
Следующие команды создают переменные и присваивают им значения:
<имя переменной>=<выражение>
или STORE <выражение> ТО <имена переменных>
Если одной переменной, в процессе работы, последовательно присваиваются разные значения, то тип переменной определяется типом последнего присваиваемого ей выражения.
Чтобы попробовать работу с переменными, запустите программу FoxPro. В окне программы сверните или закройте окно Task Pane Manager. В окно Command вводите рассмотренные ниже команды.
Символьные константы должны быть взяты в апострофы, кавычки или квадратные скобки.
Например:
Х='24' и Y=24, где X - символьная, a Y - числовая переменные.
Тип переменной «Дата» должен быть заключён в фигурные скобки. При этом дата должна быть указана в правильном формате.
Примеры:
А=2
V='Программа успешно завершена'
Birth={^2004/07/10} && здесь переменной Birth присваивается значение типа дата;
B=5* (2+3) и
STORE 5*(2+3) TO B && В обоих случаях переменной B присваивается значение результата вычисления выражения 5*(2+3).
Можно присвоить одно и то же значение сразу нескольким переменным. Например:
STORE 27 ТО а, b && а=27 и b=27
Значение, присвоенное переменной, можно проверить, выполнив команду
?x
где x – имя переменной, например:
?a && 27
Чтобы вывести на экран значение переменной вместе с её именем, выполните команду:
?’Значение а =’, x && Значение а = 27
Заметим, что символ ? здесь является командой вывода. В результате исполнения команды вывода в главное окно будут выведены все следующие за командой символы, заключённые в апострофы «’» или в кавычки «”».
Имена переменных могут быть любыми. В предыдущих примерах мы использовали произвольные имена, состоящие из одного символа. Лучше, если имя переменной содержит сведения о её типе и статусе. В противном случае разобраться в логике программы, спустя время после её создания, становится сложно.
Microsoft рекомендует следующие правила именования переменных:
[Статус (область видимости)] Тип Имя переменной
Статус - указывается одним из символов:
l -LOCAL;
р - PRIVATE;
g - PUBLIC;
Тип - тип переменной, обозначается одним из следующих символов:
а – массив;
с - Character;
d - Date;
1 - Logical;
n - Number;
t -DateTime;
у - Currency;
u - Unknown (если параметр может принимать значения нескольких типов);
Рекомендуется отделять подчеркиванием первые два символа от имени переменной, например:
gc_FirstNane - глобальная строковая переменная.
Иногда, если есть вероятность совпадения имен полей с именами переменных, перед именами переменных ставят префикс m с точкой. Например, m.lnIndex.
Просмотр переменных
Для просмотра всех пользовательских переменных выполнить команду:
DISPLAY MEMORY LIKE *
В результате выводится имя переменной, её статус, тип и присвоенное значение.
Команда
DISPLAY MEMORY
выводит на экран все переменные, включая системные. Имена системных переменных начинаются с символа подчёркивания.
Выполните команду DISPLAY MEMORY и ознакомьтесь со списком системных переменных. Значения системных переменных можно найти в литературе Л1, с364.
Для очистки главного окна от информации о переменных (и любой другой) используйте команду CLEAR. Команда CLEAR ALL удаляет все переменные из памяти и закрывает все таблицы.