Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД в Delphi ВТиП.doc
Скачиваний:
53
Добавлен:
17.03.2016
Размер:
3.62 Mб
Скачать
    1. Главная форма проекта

Далее на примере создания несложной программы рассматриваются основные этапы и приемы программирования для БД в технологии BDE. Вид окна работающей программы показан на рисунке 3.1.

Как видно из рисунка, программа содержит окно просмотра накладных и связанных с ними списков книг.

Рисунок 3.13 –Окно программы на этапе выполнения

Рассмотрим процесс создания главной формы проекта. Для пустой формы установите следующие свойства:

Caption = 'Накладные на книги'

Name = 'fmNakls'

В папке Source сохраните модуль под именем fmNaklsU, а проект - под именем BiblosPrg.

Для последующей работы потребуется 3-ри панели TPanel. Ниже приводится последовательность их создания.

В начале поместите на форму 2-ве панели ТPаnel (вкладка TStandart). Поместите в их свойства Align значения alBottom (рисунок 3.4).

Верхняя панель предназначена для размещения сетки DBGrid2 компонента TDBGrid, в которой будет отображаться список книг для каждого партнера.

Нижняя панель предназначена для размещения набора кнопок навигатора БД и кнопки закрытия программы.

Кроме того, потребуется еще одна – 3-тья панель, расположеная выше панели со списком книг. Эта панель предназначена для размещения сетки DBGrid1, в которой будут отображаться данные о накладных.

Желательно, чтобы пользователь мог менять высоту панелей для списка накладных и для списка книг для каждой накладной. Поэтому, прежде чем создать панель для списка партнеров, поместите на пустую часть формы полосу разбивки (рисунок 3.5) TSplitter (вкладка Additional), в ее свойство Align поместите значение alBottom, в свойство Beveled - True и в свойство Неight - 5.

Рисунок 3.14 –Подготовка главного окна программы

После этого поместите на форму 3-тью панель и установите в ее свойство Align значение alClient.

Поместите на верхнюю и среднюю панели формы по компоненту TDBGrid (вкладка Data Controls) и в их свойство Align установите значение alClint (рисунок 3.6). Обратите внимание на то, что поле DataSourse у этих компонент пока не имеет значения. Это поле будет использовано в дальнейшем для связи таблиц DBGrid1 и DBGrid2 с соответствующими источниками данных DataSourse1 и DataSourse2 (см. ниже)

Рисунок 3.15 –Окно инспектора объектов компонента DBGrid1

Очистите свойство Caption у самой нижней панели и поместите на нее кнопки навигатора БД - TDBNavigator (вкладка Data Controls), и кнопку TBitBtn (вкладка Additional). Навигатор расположите у левого края панели, а кнопку - у правого.

Раскройте список свойства Anchors кнопки TBitBtn и выровняйте ее по правому краю: поместите False в свойство akLeft и True в свойство akRight. В свойство Kind кнопки поместите значение bkClose. Вид окна к этому моменту показан на рисунке 3.7.

Рисунок 3.16 –Главное окно программы на этапе разработки

Сохраните измененный модуль главной формы.

    1. Модуль данных

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

  • база данных - TDatabase, таблица – TTable и запрос – TQuery, которые расположены на вкладке BDE палитры компонентов;

  • источник данных – TDataSource, который расположен на вкладке Data Access палитры компонентов.

Для отображения в окне данных из таблиц TTable используется компонент TDataSource (вкладка Data Access).

В рассматриваемой программе потребуется 1-н компонент TDatabase, 5‑ть компонентов TTable и 2-ва компонента TDataSource. Их назначение описывается ниже.

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

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

Примечание. Бизнес-правила определяют реакцию системы на добавление, изменение или удаление данных, обеспечивая непротиворечивость и ссылочную целостность БД.