47
КУРСОВОЙ ПРОЕКТ
по курсу «Структуры и организация данных в ЭВМ»
на тему
«Информационная система начальника жилищно-эксплуатационной службы»
Данный проект состоит из двух форм: InputForm и ReportForm:
На форме InputForm расположены следующие компоненты (см. рис1):
- компонент AddBtn - верхняя кнопка кнопка в правой части формы для добавления записей данных.
- компонент CopyBtn - кнопка для копирования записей данных.
- компонент DelBtn - кнопка для удаления записей данных.
- компонент SortBtn - кнопка для сортировки выделенного столбца в таблице данных.
- компонент FindBtn - кнопка для поиска определенного пользователем значения в столбце данных.
- компонент SaveBtn - кнопка для сохранения всех табличных данных на форме в текстовых файл.
- компонент LoadBtn - кнопка для загрузки всех табличных данных на форме из текстового файла.
- компонент 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 - процедура записи вектора данных из текстового файла.
Имя массива
Тип
Размер в байтах
Kvart
TVector
100*100*16+10100+8=170108
Scheme
170108
Gk
People
FlatAtr
Базовой структурой данного проекта является класс TVector в котором для хранения данных использовался вектор векторов FArr и организованы свойства и методы для доступа и обработки данных класса.
Объявление вектора FArr выглядит следующим образом:
FArr: array [1..100] of TVarMas, где TVarMas = array [1..MaxN] of Variant;
Вектор (array) - это линейная структура данных (список) с элементами одинакового размера в которой адрес элемента однозначно определяется его номером.
Для логического определения вектора ему необходимо происвоить имя, указать пару ограниченых значений индекса, а также указать тип элементов. Элементами векторов также могут являтся векторы.
Логическая схема структуры вектора векторов FArr:
0
1
2
…
100
3
Страницы: 1, 2, 3