Информационная система начальника жилищно-эксплуатационной службы (47150)

Посмотреть архив целиком














КУРСОВОЙ ПРОЕКТ

по курсу «Структуры и организация данных в ЭВМ»

на тему

«Информационная система начальника жилищно-эксплуатационной службы»




Введение


Тема данного курсового проекта – «Информационная система начальника жилищно-эксплуатационной службы». При этом по заданию к курсовому проекту необходимо использовать структуру данных типа вектор и сортировку 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 – процедура записи вектора данных из текстового файла.


  1. Данные программы


В программе для хранения данных был спроектирован класс 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 байт).



    1. Логические структуры данных


Базовой структурой данного проекта является класс TVector в котором для хранения данных использовался вектор векторов FArr и организованы свойства и методы для доступа и обработки данных класса.

Объявление вектора FArr выглядит следующим образом:

FArr: array [1..100] of TVarMas, где TVarMas = array [1..MaxN] of Variant;

Вектор (array) – это линейная структура данных (список) с элементами одинакового размера в которой адрес элемента однозначно определяется его номером.

Для логического определения вектора ему необходимо присвоить имя, указать пару ограниченных значений индекса, а также указать тип элементов. Элементами векторов также могут являются векторы.


Логическая схема структуры вектора векторов FArr:


0

1

2

100

1






2






3











100







Каждый элемент одного вектора занимает 16 байт памяти. Соответственно FArr будет занимать (100*100)*16=160000 байт.


Случайные файлы

Файл
36494.rtf
1912.rtf
76053.rtf
184600.doc
138288.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.