Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создание БД и настройка ECO компонент




1) Перейдем на закладку projDeanOfficeEcoSpace рабочего окна Delphi (см. Рисунок 8.6). На этой закладке настраивают особенности функционирования объектного пространства проекта. Пока что объектное пространство пусто – оно работает стандартным способом. Элементы модели доступны в других окнах в виде диаграмм UML.

Рисунок 8.6 – Окно настройки объектного пространства

2) Выберем в палитре инструментов компонент BdpConnection из категории Borland Data Provider, предназначенный для связи с СУБД, и добавим его в проект.

3) Настроим этот компонент на доступную базу данных. В качестве учебного приме­ра пропишем путь к пустой базе данных DeOffDB.gbd выбранной СУБД.

4) В свойстве ConnectionString компонента BdpConnection выберем имя соединения IBConn1.

5) Настроим автоматическую связь модели MDA с выбранной СУБД. Синхронизация содержимого пространства ЕСО с данными на внешних носителях (файлах или базах данных) выполняется компонентами, наследующими базовые характеристики клас­са PersistenceMapper. Этот класс отвечает за отображение структуры объектного про­странства в схемы представления данных, например реляционные. Добавим к проекту компонент PersistenceMapperBdp из категории Enterprise Core Objects. Он предназначен для раскладки объектного пространства в схемы баз данных, доступ к которым происходит по технологии BDP.NET. Этот компонент располагается в окне projDeanOfficeEcoSpace рядом с объектом BdpConnection1 (экземпляром компонента BdpConnection).

6) Свяжем компонент PersistenceMapperBdp через свойство Connection с объектом BdpConnection1 (см. Рисунок 8.7). Компонент PersistenceMapperBdp полностью ответствен за все аспекты автома­тического сохранения и загрузки копии объектного пространства модели в выбранную базу данных. Фактически, добавив компонент PersistenceMapperBdp к проекту, мы тем самым реализовали все основные аспекты взаимодействия приложения MDA с базой данных.

Рисунок 8.7 – Настройка связи ECO с СУБД

7) Сгенерируем схему базы данных. Компонент PersistenceMapperBdp самостоятельно создает в выбранной базе данных специальные таблицы, поля и отношения между ними. В этих таблицах хранятся объекты пространства ЕСО. В контекстном меню компонента PersistenceMapperBdp выберем пункт, обеспечивающий автоматическую настройку всех нужных свойств для конкретной СУБД. В случае использования СУБД Interbase нужный пункт имеет вид Interbase [dialect3] setup, в случае СУБД Microsoft SQL Server – SQL Server setup и так далее. В нашем случае выбираем пункт Interbase [dialect3] setup, так как используется СУБД Firebird 2.0 (см. Рисунок 8.8).

Рисунок 8.8 – Настройка свойств СУБД

8) Сгенерируем таблицы, описывающие структуру объектного пространства. Для этого нажмем кнопку Generate Schema в нижней части окна, представляющего пространство ЕСО. В текущей базе данных автоматически сформируются таблицы, содержащие поля для хранения модели проекта (см. Рисунок 8.9).

9) В ходе генерации схемы среда Delphi проверит содержимое базы данных. Если в ней имеются таблицы, не имеющие отношения к текущей модели, будет предложено их удалить. По умолчанию режим удаления лишних таблиц выключен.

10) Компонент PersistenceMapperBdp, настроенный на конкретную СУБД, надо задействовать как связующее звено между объектным пространством ЕСО и СУБД. Для этого обратимся к текущему объектному пространству проекта и щелкнем на свободном месте окна projDeanOfficeEcoSpace. В свойстве PersistenceMapper в окне Инспектора объектов Properties для объектного пространства зададим ссылку на объект PersistenceMapperBdp1 (единственный экземпляр компонента PersistenceMapperBdp). Связь объектного пространства с СУБД установлена.

Рисунок 8.9 – Автоматическая генерация схемы модели

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

Создание интерфейса

1) Перейдем к окну Проектировщика для главной формы проекта WinForm (вкладка Design). Переименуем стандартное название главной формы. Назовем ее wfMain, а сам класс TWinForm переименуем в TMain в свойстве Name категории Design. Свойство Text (категория Appearance) отвечает за название заголовка окна, введем в него строку, например «Главная форма». Это окно станет родительским в разрабатываемом приложении, согласно требованиям создания MDI-контейнеров.

2) В свойстве IsMdiContainer (категория Window Style) главной формы выберем значение True.

3) Создадим новую форму командой File > New > Other. Выберем значок ECO Enabled Windows Form из вкладки New ECO Files (категория Delphi for.NET Projects). В окне проектировщика появится новая форма. Эта форма будет дочерней – а значит отображаться внутри главной. Так как в ней будем представлять список преподавателей выбранной кафедры, назовем созданную форму wfLecturer, а сам класс – TLecturer. Введем в свойство формы Text строку «Преподаватели».

4) Создадим главное меню на родительской форме для обращения к дочерним формам. Поместим на Главную форму компонент MainMenu. В верхней части формы появиться строка меню, в начале которой находится область ввода текста. Чтобы создать первый пункт меню, надо сделать щелчок в области ввода текста и ввести название пункта меню. Назовем пункт меню Подсистемы. В нижнюю область пункта Подсистемы введем название команды меню – Преподаватели (см. Рисунок 8.10).

Рисунок 8.10 – Настройка главного меню

5) Выберем форму wfLecturer, вкладку Code. В окне появится код формы. Перед командой implementation объявим переменную, ответственную за создание дочернего окна Преподаватели:

var

callLect: TLecturer;

6) Перейдем к Главной форме. Чтобы в Главной форме создать дочернюю, подключим к ней форму wfLecturer командой File > Use Unit. В появившемся окне Use Unit выберем форму wfLecturer (Преподаватели). На событие выбора пункта меню Преподаватели пропишем следующие операции:

callLect:= TLecturer.Create(EcoSpace);

callLect.MdiParent:= self;

callLect.Show;

7) Запустим приложение. Теперь по нажатию на пункт Преподаватели внутри родительского окна появляется дочернее окно Преподаватели (см. Рисунок 8.11).

Рисунок 8.11 – Создание дочернего окна внутри родительского

8) Приступим к представлению таблицы с объектами ЕСО на форме Преподаватели. Воспользуемся гото­вым компонентом DataGrid из категории палитры инструментов Data Controls. Поместим этот компонент на форму и дадим ему название dgChair (в свойстве Name). Эта таблица будет отвечать за представление экземпляров класса Кафедра (clChair). Исходно таблица должна быть пуста. В свойстве CaptionText (заголовок таблицы) введем название Кафедры.

9) Добавим еще одну таблицу dgLecturer, которая в готовом приложении будет отвечать за отображение экземпляров класса Преподаватель (clLecturer). В свойстве CaptionText введем название Преподаватели.

10) Для работы с таблицами в простом приложение потребуется пять операций: добавление и удаление данных в двух таблицах и сохранение копии ECO пространства из оперативной памяти в базу данных. Редактирование данных будет осуществляться непосредственно в полях таблиц. Добавим на форму пять кнопок – экземпляров класса Button (см. Рисунок 8.12).

Рисунок 8.12 – Добавление компонентов пользовательского интерфейса

11) Настроим автоматическое растягивание таблиц и положение кнопок при изменении размеров окна Преподаватели. Воспользуемся свойством Anchor у объектов формы. Для таблицы Кафедры зададим значения Top, Left, Right в свойстве Anchor, для таблицы Преподаватели – Top, Bottom, Left, Right, для кнопок Button1-Button4 – Top, Right, для кнопки Button5 – Bottom, Right.





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 474 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

2298 - | 2047 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.