Информационная система начальника жилищно-эксплуатационной службы
47
КУРСОВОЙ ПРОЕКТ по курсу «Структуры и организация данных в ЭВМ» на тему «Информационная система начальника жилищно-эксплуатационной службы» ВведениеТема данного курсового проекта - «Информационная система начальника жилищно-эксплуатационной службы». При этом по заданию к курсовому проекту необходимо использовать структуру данных типа вектор и сортировку QuickSort.Для разработки приложения была выбрана среда программирования Delphi.Среда визуального объектно-ориентированного проектирования Delphi позволяет:1. Создавать законченные приложения для Windows самой различной направленности.2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows.3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования.4. Создавать мощные системы работы с базами данных любых типов.5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.6. Создавать справочные системы, как для своих приложений, так и для любых других.7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.Delphi - быстро развивающаяся система. Первая версия Delphi была выпущена в феврале 1995 года, в 1996 году вышла вторая версия, 1997 - третья, 1998 - четвертая, 1999 - пятая, 2001 - шестая. Все версии, начиная с Delphi 2.0, рассчитаны на разработку 32-разрядных приложений, т.е. приложений для операционных систем Windows 95/98, NT и т.д. В 2002 году вышла седьмая версия, основным нововведением в которой были Интернет-технологии.Проект данной курсовой работы представляет собой инструмент для управления информационной системой начальника жилищно-эксплуатационной службы.1. Состав DELPHI-проекта1.1 Состав проектаДанный проект состоит из двух форм: InputForm и ReportForm: На форме InputForm расположены следующие компоненты (см. рис1): - компонент AddBtn - верхняя кнопка кнопка в правой части формы для добавления записей данных. - компонент CopyBtn - кнопка для копирования записей данных. - компонент DelBtn - кнопка для удаления записей данных. - компонент SortBtn - кнопка для сортировки выделенного столбца в таблице данных. - компонент FindBtn - кнопка для поиска определенного пользователем значения в столбце данных. - компонент SaveBtn - кнопка для сохранения всех табличных данных на форме в текстовых файл. - компонент LoadBtn - кнопка для загрузки всех табличных данных на форме из текстового файла. - компонент SaveBtn - кнопка для сохранения всех табличных данных на форме в текстовых файл. - компонент FBtn - кнопка для отображения формы ReportForm и формирования отчета Ф5. - компонент BitBtn1 - кнопка для закрытия приложения. - компонент MSpinEdit - поле ввода для задания количества этажей M. - компонент KSpinEdit - поле ввода для задания количества подъездов К. На форме также находятся компоненты Label1, Label2 для отображения подсказок для ввода информации и невизуальные компоненты OpenDialog1, SaveDialog1 для вызова стандартных окон открытия и сохранения файлов. - компонент PageControl1 - содержит вкладки TabSheet 1-5 на которых отражены данные (соответственно «Квартиры», «СХЕМА», «ГК (Р)», «Жители члены семей ГК (А)», и «Атрибуты квартир (С)»). Компоненты TabSheet 1-5 содержат в себе элементы таблиц StringGrid 1-5, которые связаны с векторами данных, соответственно «Kvart», «Scheme», «GK», «People», «FlatAtr»). Рис. 1 - Главная форма программы На форме ReportForm расположены следующие компоненты (см. рис 2): - компоненты Panel1, Panel2 - панели на форме для разделения формы на отчет и панель кнопок. - компонент OkBtn - кнопка для закрытия формы. - компонент ListBox1 - список для отображения отчета. Рис. 2 - форма для формирования отчета Ф5. 1.2 Основные модули и процедуры, входящие в состав программного комплекса Список модулей: Программа содержит следующие модули: Unit1 - модуль главной формы проекта. Unit2 - модуль отчетной формы проекта. MyTypes - модуль с описаниями классов данных. Список основных процедур, входящих в состав программного комплекса: - procedure LoadButtonClick - процедура загрузки данных из файла в векторы. - procedure SaveButtonClick - процедура сохранения данных в файл. - procedure FillStringGrid - процедура инициализации таблиц и заполнения их в соответствии с массивами. - procedure PageControl1Change - процедура выбора необходимой страницы с данными и вызова перезаполнения соответствующей таблицы. - procedure SGDblClick - процедура ввода / редактирования данных в текущей ячейки таблицы данных. - procedure AddBtnClick - процедура добавления строки в текущую таблицу данных и вектор данных. - procedure DelBtnClick - процедура для удаления записей данных. - procedure SortBtnClick - процедура для сортировки выделенного столбца в таблице данных. - procedure KSpinEditChange - процедура для изменения значения количества подъездов К в соответствии с полем ввода. - procedure MSpinEditChange - процедура для изменения значения количества этажей M в соответствии с полем ввода. - procedure CopyBtnClick - процедура ввода новой строки данных копированием текущей строки. - procedure FindBtnClick - процедура для поиска определенного пользователем значения в столбце данных. - procedure SortBtn - кнопка для сортировки выделенного столбца в таблице данных. - procedure FButtonClick - процедура для отображения формы ReportForm и формирования отчета Ф5. - procedure ReadVec - процедура чтения вектора данных из текстового файла. - procedure WriteVec - процедура записи вектора данных из текстового файла. 2. Данные программыВ программе для хранения данных был спроектирован класс TVector в котором для хранения данных использовался вектор векторов FArr. Для хранения имен колонок использовался вектор FNames, описанный как array [1..100] of string. В программе были созданы 5 объектов класса TVector:Kvart: TVector;Scheme: TVector;Gk: TVector;People: TVector;FlatAtr: TVector;|
Имя массива | Тип | Размер в байтах | | Kvart | TVector | 100*100*16+10100+8=170108 | | Scheme | TVector | 170108 | | Gk | TVector | 170108 | | People | TVector | 170108 | | FlatAtr | TVector | 170108 | | | Кроме того, в программе для временных нужд объявляются переменные:KPod, M, i, j, k, x, типа integer (каждая по 4 байта);FileNameT типа string (200 байт);Ft типа TextFile (460 байт);FSGVector - вектор ссылок типа TStringGrid (40 байт).3. Логические структуры данныхБазовой структурой данного проекта является класс TVector в котором для хранения данных использовался вектор векторов FArr и организованы свойства и методы для доступа и обработки данных класса. Объявление вектора FArr выглядит следующим образом: FArr: array [1..100] of TVarMas, где TVarMas = array [1..MaxN] of Variant; Вектор (array) - это линейная структура данных (список) с элементами одинакового размера в которой адрес элемента однозначно определяется его номером. Для логического определения вектора ему необходимо происвоить имя, указать пару ограниченых значений индекса, а также указать тип элементов. Элементами векторов также могут являтся векторы. Логическая схема структуры вектора векторов FArr: Каждый элемент одного вектора занимает 16 байт памяти. Соответственно FArr будет занимать (100*100)*16=160000 байт. Логическая схема структуры вектора имен FNames: Каждый элемент вектора занимает 101 байт памяти. Соответственно вектор FNames будет занимать 100*101 =10100 байт.
Страницы: 1, 2, 3
|