Реализации информационной подсистемы "Advancement"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
StudentUОтчет Результаты успеваемости с группировкой по предметамfmQReportGroupUОтчет Список групп по формам обученияfmQReportListStudentsGroupUОтчет Список учеников группыfmSpecialtyDisciplineUСправочник СпециализацияУчебная диiиплинаfmSpecialtyUСправочник СпециализацияfmSpecialtyWorkUВвод и корректировка данных справочника СпециализацияfmStudentCheckListBoxUВыбор учеников из списка
2.4 Реализация проекта Delphi
.4.1 Разработка главного меню
Поместим на форму fmMain компонент TMainMenu и сохраним его под именем MainMenu1. Двойным левым кликом на компоненте MainMenu1 откроем Menu Designer. Средствами Menu Designer создадим пункты и подпункты (подменю) главного меню.
В инспекторе объектов Delphi зададим свойства пунктов главного меню MainMenu1, как это показано на рисунке 2.26.
2.4.2 Разработка интерфейса главной формы
В инспекторе объектов зададим заголовок главной формы fmMainU:
Caption := Информационная подсистема учета успеваемости обучаемых.
Поместим на форму fmMain компонент TImage и сохраним его под именем Image1. В инспекторе объектов поместим в свойство Align этого объекта значение alClient.
В результате форма fmMainU принимает вид, представленный на рисунке 2.28.
Для дальнейшей реализации приложения необходимо создать псевдоним базы данных.
2.4.3 Создание псевдонима базы данных
С помощью команды Programs >Borland Delphi 7 > BDE Administrator запустим утилиту BDE Administrator. На вкладке Database открывшегося окна сделаем правый клик на узле Database и выберем команду New в контекстном меню.
Утилита предложит выбрать тип вновь создаваемого псевдонима Standard, предполагаемым по умолчанию. Согласимся с этим предложением. Изменим имя Standard1 на Advancement_Database.
Теперь перейдем на вкладку Definition и в пустом поле справа от свойства PATH введем путь доступа к файлам базы данных, сгенерированных ERwin: C:\Advancement_Database (рисунок 2.29).
Рисунок 2.29 - Окно утилиты BDE Administrator
Сделаем правый клик на вновь созданном псевдониме на вкладке Databases и выберем команду Apply в контекстном меню. В появившемся после этого диалоговом окне подтвердим необходимость запомнить вновь созданный псевдоним.
Как видно из рисунка 2.11, в программе понадобятся девять компонентов TTable и такое же количество компонентов TDataSource. Реализуя принцип инкапсуляции, разместим их в отдельном модуле данных.
2.4.4 Создание модуля данных
Выберем команду File >New >Other, чтобы открыть окно хранилища объектов и на вкладке New открывшегося окна сделаем двойной левый клик на значке Data Module. В свойство Name модуля данных поместим значение DM и сохраним модуль в файле dmAdvancementU. Свяжем модуль с проектом стандартными средствами Delphi.
Для связи таблиц с базой данных воспользуемся компонентом TDatabase на вкладке BDE палитры компонентов Delphi. Сохраним его под именем DB и зададим свойства этого объекта в инспекторе объектов, как показано на рисунке 2.30.
Теперь перенесем в модуль данных девять компонента TTable и такое же количество компонентов TDataSource (рисунок 2.31).
Рисунок 2.30 - Свойства объекта DB в инспекторе объектов
Рисунок 2.31 - Внешний вид модуля данных DM
Зададим свойства компонентов TTable в Инспекторе Объектов, как показано, например, на рисунке 2.32.
Рисунок 2.32 - Свойства компонентов TTable в инспекторе объектов
Как следует из логической модели данных информационной подсистемы Advancement (рисунок 2.11), наборы данных FORMINSTRUCTION.DB и GROUP.DB связаны отношением один ко многим. Чтобы наборы данных знали об этом и согласовано отображали данные их нужно предварительно подготовить. С этой целью перейдем на вкладку Diagram в окне кода модуля данных и с помощью мыши перетащим классическим способом Drag&Drop наборы FORMINSTRUCTION.DB и GROUP.DB из окна дерева объектов на вкладку Diagram (рисунок 2.33).
Рисунок 2.33 - Вкладка Diagram в окне кода модуля данных
Как видно из рисунка 2.33 между указанными наборами данных действительно существует связь один ко многим. Таким озанными наборами данных действительно существует связь один ко многим. Таким образом, модуль данных разработан корректно.
Перейдем к созданию модуля fmAccountingU, реализующему функцию учета обращений по трудоустройству, договоров с водителями и пр.
2.4.5 Создание модуля fmAccountingU
Создадим новый модуль и сохраним её под именем fmAccountingU. Разместим на форме этого модуля компонент TPageControl и сохраним его под именем PageControl1. Кроме указанного компонента PageControl, разместим на форме модуля fmAccountingU невизуальные компоненты TImageList, TMainMenu, TOpenDialog и TSaveDialog.
На вкладке Обращения по трудоустройству компонента PageControl разместим четыре компонента TPanel и сохраним их под именами Panel1, Panel2, ..., Panel4.
Поместим на панель Panel4 компонент TDBGrid для отображения данных, хранящихся в наборе данных DM.GROUP (список группы) и сохраним его под именем DBGrid1.
В инспекторе объектов Delphi зададим свойства компонента DBGrid1 как это показано на рисунке 2.34.
Рисунок 2.34 - Свойства компонента DBGrid1 в инспекторе объектов Delphi
Разместим на панели Panel3 компонент TDBNavigator. Сохраним этот компонент под именем DBNavigator1. В свойстве DataSource этого навигатора установим значение DM.dsJOBCALL, а в свойстве VisibleButtons ? [nbFirst, nbPrior, nbNext, nbLast].
После выполнения всех перечисленных действий дерево объектов формы модуля fmAccountingU принимает вид, представленный на рисунке 2.35.
Рисунок 2.35 - Окончательный вид дерева объектов формы модуля fmAccountingU
Внешний вид формы модуля fmAccountingU в окне формы Delphi показан на рисунке 2.36 - 2.39.
Как видно из рисунков 2.36 - 2.39, интерфейс формы fmAccountingU содержит все данные, необходимые для автоматизации учета у