Реализация информационной подсистемы "Computers"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?е понадобятся 24 компонента TTable и такое же количество компонентов TDataSource. Разместим их в отдельном модуле данных, чтобы эти компоненты не заграждали основное окно.
2.4.5 Создание модуля данных
Выберем команду File >New >Other, чтобы открыть окно хранилища объектов и на вкладке New открывшегося окна сделаем двойной левый клик на значке Data Module. В свойство Name модуля данных поместим значение DM и сохраним модуль в файле dmArchitectureU. Свяжем модуль с проектом стандартными средствами Delphi.
Для связи таблиц с базой данных воспользуемся компонентом TDatabase на вкладке BDE палитры компонентов Delphi. Сохраним его под именем DB и зададим свойства этого объекта в инспекторе объектов, как показано на рисунке 2.27.
Теперь перенесем в модуль данных 24 компонента TTable и такое же количество компонентов TDataSource (рисунок 2.28).
Зададим свойства 24 компонентов TTable в инспекторе объектов. Пример задания свойств компонентов TTable с именами COMPUTER, HARDWARE и SOFTWARE в инспекторе объектов показан на рисунке 2.39.
Как следует из логической модели данных информационной подсистемы Computers (рисунок 2.5), наборы данных ComputerTYPE и Computer, Computer и hardware, Computer и SOFTware, Computer и peripheraldevice, а также Computer и location связаны отношением один ко многим. Чтобы наборы данных знали об этом и согласовано отображали данные их нужно предварительно подготовить.
С этой целью перейдем на вкладку Diagram в окне кода модуля данных и с помощью мыши перетащим классическим способом Drag&Drop перечисленные наборы данных из окна дерева объектов на вкладку Diagram (рисунок 2.30).
Как видно из рисунка 2.30 между наборами данных ComputerTYPE и Computer, Computer и hardware, Computer и SOFTware, Computer и peripheraldevice, а также Computer и location действительно существует связь один ко многим.
Рисунок 2.30 - Вкладка Diagram в окне кода модуля
2.4.5 Создание модуля fmStocktakingComputers
Создадим модуль и сохраним его под именем fmStocktakingComputers. Разместим на форме компонент TPanel и поместим в его свойство Name значение Panel1, а в свойство Align значение alBottom. Эта панель для размещения на ней элементов управления: кнопок навигатора, командных кнопок Добавить, Редактировать, Удалить и командной кнопки Закрыть.
Поместим на форму fmClients второй компонент TPanel и поместим в его свойство Name значение Panel2, а в свойство Align значение alBottom. Эта панель предназначена для размещения элемента TPageControl с именем.
Чтобы пользователь информационной подсистемы мог изменять ширину панели Panel2, поместим на пустую часть формы fmStocktakingComputers вешку разбивки TSplitter (вкладка Additional палитры компонентов Delphi), в её свойство Align поместим значение alLeft, в свойство Beveled - True и в свойство Height - 5.
Поместим на форму fmStocktakingComputers еще одну панель и установим в её свойстве Name значение Panel3, а в свойство Align значение alBottom. На этой панели будет расположены кнопки навигатора и две командные кнопки Добавить ПК и Редактировать ПК.
Поместим на форму fmStocktakingComputers еще одну панель и установим в её свойстве Name значение Panel4, а в свойство Align значение alBottom - на этой панели будет расположены сетка DBGrid с данными о компьютерах (таблица Computer.DB).
Поместим на форму fmClients еще две панели с именами Panel5 и Panel6.
Поместим на панели Panel5 кнопки навигатора и две командные кнопки Добавить тип ПК и Редактировать тип ПК
Поместим на панели Panel6 компонент TDBGrid с данными о типах компьютеров (таблица ComputerTYPE.DB) и элемент TGroupBox. Присвоим элементу TGroupBox имя GroupBox1 и разместим в нем, как в контейнере четыре командные кнопки Паспорт ПК, Приложение к паспорту ПК, Ликвидированные комплектующие и Ликвидированное программное обеспечение.
После выполнения всех перечисленных действий Дерево Объектов формы fmStocktakingComputers принимает вид, представленный на рисунке 2.31.
Внешний вид формы fmStocktakingComputers в окне формы Delphi показан на рисунке 2.32.
Как видно из рисунка 2.32, интерфейс формы fmClients содержит все данные, необходимые для автоматизации учета компьютерной техники Усть-Джегутинского ГМУП УЖКХ.
При выборе в таблице ComputerTYPE.DB (сетка DBGrid1) записи о необходимом типе компьютера в таблице Computer.DB (сетка DBGrid2) автоматически отображаются только записи, соответствующие компьютерам именно этого типа.
Аналогично, при выборе в таблице Computer.DB (сетка DBGrid2) записи о необходимом компьютере, в таблице hardware.DB (сетка DBGrid3) автоматически отображаются только запись о компьютерных комплектующих, соответствующая именно выбранному ранее компьютеру.
Модификация данных таблиц, размещенных на форме fmStocktakingComputers, с помощью компонентов DBGrid запрещена, для этого их свойства AutoEdit установлены в значение False.
Для модификации таблицы hardware.DB используются кнопки TButton с названиями AddBitBtn (Добавить), ChangeBitBtn (Изменить), DelBitBtn (Изменить) и отдельная форма модуля fmHardwareWork (рисунок 2.33).
Нажатие на командную кнопку с надписью Паспорт ПК формы fmStocktakingComputers приводит к открытию в модальном режиме формы с именем fmQReportComposite (рисунок 2.34).
Рисунок 2.34 - Внешний вид формы fmQReportComposite
Форма fmQReportComposite разрабатывалась при помощи генератора отчетов QuickReport и представляет композитный отчет, состоящий из трех отчетов, реализованных в виде форм fmQReportPassportComp, fmQReportPeripheralDevice и fmQReportLocation (рисунки 2.35 - 2.37).
Рисунок 2.35 - Форма fmQReportPassportComp
Рисунок 2.36 - Форма fmQReportPeripheralDevice
Рисунок 2.37 - Форма fmQReportLocation
Для реализации композитного отчета fmQReportComposite потребовалось создать три SQL-запроса на выборку. Кроме отчета, представленного на рисунках 2.38 - 2.39, в приложе