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

184

Содержание

5 РАБОТА В СИСТЕМЕ VISUAL FOXPRO 133

5.1 Базовые концепции Visual FoxPro 133

5.1.1 Общая характеристика СУБД 133

5.1.2 Элементы проекта 134

5.1.3 Интерфейс Visual FoxPro и создание проекта 137

5.1.4 Принципы создания проекта и его основных компонентов 138

5.1.5 Создание базы данных, таблиц и индексов 142

5.1.5.1 Создание базы данных 142

5.1.5.2 Создание таблиц 143

5.1.5.3 Типы данных в Visual FoxPro 144

5.1.5.4 Создание индексов в Visual FoxPro 145

5.1.6 Организация межтабличных связей 148

5.1.7 Обеспечение целостности данных 149

5.2 Извлечение и представление информации средствами интерфейса Visual FoxPro 151

5.2.1 Средства формирования запросов 151

5.2.2 Организация многотабличных запросов и вычисляемого поля 152

5.2.3 Представление результатов запросов 155

5.3Основы программирования в Visual FoxPro 158

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

5.3.2 Разновидности, объявление, инициализация и отображение переменных и массивов 160

5.3.3 Взаимодействие программ в Visual FoxPro 162

5.3.4 Команды структурного программирования 164

5.3.5 Команды обработки особых ситуаций 166

5.3.6 Команды установки программной среды 167

5.3.7 Некоторые важные функции языка Visual FoxPro 168

5.3.8 Визуальное объектно-ориентированное программирование в Visual FoxPro 170

5.3.8.1 Базовые понятия 170

5.3.8.2 Создание объектов на основе базовых классов и задание свойств объектов 172

5.3.8.3 Определение событий и методов для объектов класса 173

5.3.8.4 Вложенность объектов 174

5.3.9 Команды для работы с меню 174

5.3.10 Пример совместного использование программных файлов, формы и меню 177

5 Работа в системе visual foxpro

5.1 Базовые концепции Visual FoxPro

5.1.1 Общая характеристика субд

Visual FoxPro (VF) представляет собой СУБД реляционного типа с развитыми средствами создания баз данных (БД), организации запросов к ним, построения приложений с использованием визуального, объектно-ориентированного программирования. СУБД рассмотрим на примере версии VF 6.0. В VF обеспечена совместимость версий.

В VF реализовано понятие базы данных как совокупности связанных таблиц, информация о которых хранится в словаре данных. В БД определяются условия ее целостности с помощью первичных и внешних ключей таблиц. Все события (изменения), происходящие в БД, могут обнаруживаться и централизованно обрабатываться в связи с наличием таких средств, как триггеры и встроенные (хранимые) процедуры.

VF обладает высокой скоростью в обслуживании БД. Используя стандарт ODBC и SQL-запросы для выборки данных, VF позволяет работать с БД СУБД Access, Paradox, dBase и т.д., с серверами БД - Microsoft SQL Server, Oracle и др. С помощью VF можно создавать сетевые приложения (т.е. приложения, функционирующие в сетях).

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

Поддерживаются такие механизмы работы с приложениями Windows, как:

динамический обмен данными (Dynamic Data Exchage - DDE);

встраивание и связывание объектов (Object Linking and Embedding - OLE).

При работе VF 6.0 под управлением ОС Windows к аппаратным ресурсам предъявляются следующие требования:

IBM-совместимый компьютер с 486 процессором и выше;

мышь;

10 Мбайтов основной памяти;

15 Мбайтов дискового пространства для минимальной инсталляции, 100 Мбайтов - для типичной инсталляции и 240 Мбайтов - для максимальной инсталляции;

монитор VGA или с более высоким разрешением.

Для автоматизации разработки БД и приложений в среде VF имеются средства визуального программирования: Мастера (Wizards), Конструкторы (Designers) и Построители (Builders).

Мастера позволяют сконструировать требуемый объект, например таблицу, путем выбора одного из предлагаемых вариантов оформления объекта в ходе пошаговой (с ограниченным числом шагов) процедуры формирования объекта.

Конструкторы предоставляют существенно большие возможности по фор­мированию облика создаваемого объекта, но требуют больше времени.

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

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

Некоторые количественные характеристики базы данных VF: максимальное количество записей - 1 000 000 000; максимальный-размер таблицы - 2GB; максимальное количество символов в записи - 65 500; максимальное количество полей в записи - 255; максимальное количество одновременно открытых таблиц - 2551.

5.1.2 Элементы проекта

При создании проектов, баз данных, таблиц, запросов, форм, отчетов, при­ложений и других элементов в среде VF для каждого из названных элементов формируется отдельный файл. При этом имя файла любого элемента пользователь может задать любое, расширение имени файла формируется автоматически и помогает в идентификации этих элементов (объектов). Перечень элементов проектов VF и соответствующих им расширений имен файлов приведен в табл. 5.1. Файлы элементов, созданных на базе других (родительских) элементов, имеют общие с ними имена. К примеру, Memo-поле и поле типа General создаются на основе таблицы БД, поэтому имена их файлов совпадают с именами соответствующих таблиц, а расширения указывают на назначение этих файлов.

Раскроем кратко назначение указанных элементов VF.

Проект является основным средством объединения отдельных элементов VF и управления ими. С помощью проекта VF осуществляет поиск и собирает вместе файлы проекта, отслеживает текущие версии элементов, перекомпилирует программы, обновляет экранные формы, меню и т.д. Из проекта осуществляется генерация приложения (АРР-файл) или исполняемого приложения (ЕХЕ-файл). Вся информация о проекте хранится в специальной таблице - файле с расширением PJX и соответствующем Memo-файле с расширением PJT.

База данных представляет собой совокупность связанных таблиц, а также включает словарь БД, триггеры и процедуры обработки событий. Словарь БД хранит описание структуры БД и представляет собой совокупность системных таблиц. Триггеры срабатывают при определенных изменениях (событиях), происходящих в БД, и вызывают для обработки процедуры, принадлежащие БД.

Создание БД осуществляется с использованием Конструктора БД, который позволяет создавать, индексировать, модифицировать и связывать таблицы БД между собой. Вся информация о БД хранится в файле с расширением DВС. Для поддержки предыдущих версий FoxPro возможно создание отдельных таблиц, не объединенных в БД. Каждая отдельная или входящая в БД таблица размещается в файле с расширением DBF.

Таблица 5.1

Элементы проектов Visual FoxPro и расширения имен файлов

Компоненты

Расширения имен, примечания

Приложение

APP (сгенерированная программа),

ЕХЕ (выполнимая программа)

Проект

PJX, PJT (Memo-поле)

База данных

DBC, DСТ (Memo-поле), DCX (индекс)

Таблица Visual FoxPro

DBF, FPT (Memo-поле)

Одиночный индексный файл

IDX

Составной индексный файл

CDX

Memo-поле и поле типа General

FPT

Компоненты

Расширения имен, примечания

Форма

SCX, SCT (Memo-поле)

Запрос

QPR (сгенерированная исходная программа),

QPX (программа после компиляции)

Отчет

FRX, FRT (Memo-поле)

Этикетка

LBX, LBT (Memo-поле)

Меню

MNX (описание облика меню), MNT (Memo-поле), MPR (сгенерированная исходная программа),

МРХ (программа после компиляции)

Библиотеки

VCX (класса), VCT (Memo-поле библиотеки класса), DLL (динамических связей Windows), FLL (динамических связей Visual FoxPro)

Программа

PRG (исходный текст),

FXP (после компиляции)

Ошибки компиляции

ERR

Файл формата

FMT

Описание окружения

VUE

Рисунок

BMP

Звуковая запись

WAV

Текст

TXT

Экран (предыдущие версии FoxPro)

SPR, сгенерированная исходная программа

SPX, программа после компиляции

Индексы. Таблицы могут быть проиндексированы (упорядочены) по некоторым полям, а значит, иметь связанные с ней один или несколько индексных файлов, хранящих необходимую для индексации информацию. Индексы используются также для ускорения поиска информации в таблицах.

Memo-поля содержат текстовую информацию, поля типа General служат для организации обмена данными с другими приложениями Windows.

Формы используются для ввода и редактирования данных в таблицах. Формы предоставляют пользователю удобный интерфейс для доступа к хранимым данным с возможностью отображения их в требуемом виде. С помощью Конструктора форм можно создавать формы любой степени сложности.

Запросы являются средством извлечения информации из БД, которая может содержаться в нескольких ее таблицах. При этом можно использовать Конструктор запросов или создавать запрос вручную с использованием SQL-команд VF. Конструктор запросов позволяет создавать запросы по образцу. При этом обеспечивается возможность на основе визуальной информации о таблицах извлечь нужные данные и представить их в удобном виде (в виде таблиц, графиков или диаграмм). К программированию запросов с помощью SQL-команд прибегают в случаях, когда возможностей Конструктора запросов недостаточно.

Отчеты используются для отображения информации, содержащейся в БД, и позволяют осуществлять в нем необходимую группировку данных, отображать итоговые и расчетные данные. Они могут создаваться вручную и с помощью Конструктора отчетов.

Этикетки представляют собой почтовые адреса рассылки, печатаемые на конвертах. По сути, этикетки являются мини-отчетами, печатаемыми на кон­вертах с выбором информации из соответствующей таблицы. Каждая запись таблицы содержит адрес одной из фирм-клиентов. Для создания этикеток может использоваться Мастер этикеток.

Меню является основной частью приложения (если таковое создается), управляющей работой приложения и его компонентов.

В процессе создания меню с помощью Конструктора меню можно выде­лить следующие три этапа: конструирование, генерация и компиляция.

На этапе конструирования меню создается таблица, хранящаяся в файле с расширением MNX. Этой таблицей можно манипулировать, как и любой таб­лицей VF, а отличное расширение сделано для идентификации ее содержимого. Этот файл обычно добавляется в проект.

На втором этапе из названной таблицы генерируется обычный для VF код. Файл с этим кодом имеет то же имя, что и файл MNX (если пользователь не укажет другое), но расширение MPR.

На третьем этапе после компиляции из MPR-файла программа меню по­мещается в файле с расширением МРХ.

Библиотеки классов предназначены для хранения классов, созданных в VF. Классы служат для описания объектов, используемых в объектно-ориентированном программировании (ООП). Библиотеки классов наиболее часто применяются для создания экранных форм.

Программы, написанные на языке VF, реализуют различные функции в приложении. Файлы с программами являются текстовыми, формируются с помощью встроенного редактора и имеют расширение PRG.

Файлы описания окружения с расширением VUE хранят информацию об открытых таблицах, активных индексах и установленных между таблицами связях.

Рисунки и звукозаписи соответственно хранятся в файлах с расширениями BMP и WAV или в полях типа General таблиц. Этой информацией VF-приложение может обмениваться с другими Windows-приложениями.

Кроме того, в качестве особых элементов проекта можно рассматривать представления (локальные и удаленные) и соединения. Соединение – это зарегистрированное в реестре состояние связи с чужой таблицей или БД.