Материал: Автоматизация учета сдельной оплаты труда в ОАО "Научно-исследовательский институт технологии, контроля и диагностики железнодорожного транспорта"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
65
Продолжение таблицы 2.7
п/п
Наименование модуля
Функции модуля
3.
Модуль справочника
«Отделы»
Содержит предопределенные процедуры
формы списка и элемента справочника.
4.
Модуль справочника
«Операции»
Содержит предопределенные процедуры
формы списка и элемента справочника.
5.
Модуль справочника
«Должности»
Содержит предопределенные процедуры
формы списка и элемента справочника.
6.
Модуль справочника
«Коэффициенты»
Содержит предопределенные процедуры
формы списка и элемента справочника.
7.
Модуль таблицы
«Табель учета работ»
Содержит процедуры и функции, связанные с
хранением, обработкой и выдачей
информации.
8.
Модуль таблицы
«Расчет заработной платы»
Содержит процедуры и функции, связанные с
хранением, обработкой и выдачей
информации.
2.3.4 Описание программных модулей
Файловая структура проекта приведена на рисунке 2.5.
66
Файлы проекта
Главная форма
Файл базы данных
Project_uchet_zp.tds
Project_uchet_zp.bpr
Project_uchet_zp.cpp
Project_uchet_zp.exe
Project_uchet_zp.obj
Project_uchet_zp.res
Project_uchet_zp.str
Uchet_zp.cpp
Uchet_zp.ddp
Uchet_zp.dfm
Uchet_zp.h
Uchet_zp.obj
Uchet_zp.~cpp
Uchet_zp.~ddp
Uchet_zp.~dfm
Uchet_zp.~h
ras4et_zp.mdb
Обмен
данными
Обмен
данными
Файлы форм
Справочник Отделы
Otdely.cpp
Otdely.ddp
Otdely.dfm
Otdely.h
Otdely.obj
Otdely.~cpp
Otdely.~ddp
Otdely.~dfm
Otdely.~h
Справочник Операции
Operacii.cpp
Operacii.ddp
Operacii.dfm
Operacii.h
Operacii.obj
Operacii.~cpp
Operacii.~ddp
Operacii.~dfm
Operacii.~h
Справочник Работники
Rabotniki.cpp
Rabotniki.ddp
Rabotniki.dfm
Rabotniki.h
Rabotniki.obj
Rabotniki.~cpp
Rabotniki.~ddp
Rabotniki.~dfm
Rabotniki.~h
Справочник Должности
Dolzhnosti.cpp
Dolzhnosti.ddp
Dolzhnosti.dfm
Dolzhnosti.h
Dolzhnosti.obj
Dolzhnosti.~cpp
Dolzhnosti.~ddp
Dolzhnosti.~dfm
Dolzhnosti.~h
Табель учета работ
Tabel.cpp
Tabel.ddp
Tabel.dfm
Tabel.h
Tabel.obj
Tabel.~cpp
Tabel.~ddp
Tabel.~dfm
Tabel.~h
Расчет заработной платы
Raschet.cpp
Raschet.ddp
Raschet.dfm
Raschet.h
Raschet.obj
Raschet.~cpp
Raschet.~ddp
Raschet.~dfm
Raschetd.~h
Справочник Коэффициенты
Koef.cpp
Koef.ddp
Koef.dfm
Koef.h
Koef.obj
Koef.~cpp
Koef.~ddp
Koef.~dfm
Koef.~h
Обмен
данными
Рис. 2.5 Файловая структура проекта
Чтобы описать файловую структуру информационной системы,
целесообразно вкратце описать файловую структуру проекта C++ Builder.
Для каждого приложения C++ Builder создается один файл проекта, один
make-файл и один файл ресурсов. Файл проекта генерируется при выборе пункта
меню File / NewApplication. В нашем случае проект имеет имя Project_shans.cpp.
Если в процессе разработки приложения добавляются формы и модули, C++
Builder обновляет файл проекта.
Файл проекта имеет такую же структуру, как и файл модуля. Подобно
файлу модуля это файл исходного кода на языке C++, который компилируется с
другими файлами при создании исполняемого файла.
В файле проекта имеется определенный набор ключевых элементов:
1. Директива препроцессора #include<vcl\vcl.h> предназначена для
включения в текст проекта заголовочного файла, ссылающегося на описания
классов библиотеки компонентов.
67
2. Директива препроцессора #pragmahrdstop предназначена для
ограничения списка заголовочных файлов, доступных для предварительной
компиляции.
3. Директива USEFORM сообщает, какие модули и формы используются
в проекте.
4. Директива USERES компилятора присоединяет файлы ресурсов к
выполняемому файлу. При создании проекта автоматически создается файл
ресурсов с расширением *.RES для хранения курсоров, пиктограммы
приложения и др.
5. Application->Initialize(). Это утверждение критично только в случае,
если приложение является OLE automation-сервером. В остальных случаях оно
фактически ничего не делает.
6. Application->CreateForm(). Это утверждение создает форму
приложения. По умолчанию каждая форма в приложении имеет свое
утверждение CreateForm.
7. Application->Run(). Это утверждение запускает приложение очнее
переводит его в состояние ожидания наступления одного из событий, на которое
оно должно реагировать).
8. Конструкция try...catch используется для корректного завершения
приложения в случае возникновения ошибки при инициализации, создании
форм, запуске приложения.
9. Модули являются основой создания библиотек и приложений в C++
Builder. Модуль содержит исходный текст на языке C++ и первоначально
представляет собой файл с расширением *.CPP. В дальнейшем каждый такой
файл компилируется в объектный файл с расширением *.OBJ. Объектные
файлы, в свою очередь, собираются компоновщиком в выполняемый файл с
расширением *.EXE.
В разработанной информационной системе каждая форма является
модулем.
При создании модуля используются следующие правила:
1. Имя должно быть уникальным. Два модуля с одним и тем же именем
не могут использоваться одновременно в одном и том же проекте.
68
2. Если модуль связан с формой, то имя исходного файла модуля и файла
формы расширением *.DFM) должны быть одинаковыми. При создании
обработчика событий в инспекторе объектов в тексте файла модуля
генерируется шаблон функции, в который разработчик должен вводить код,
выполняемый при наступлении обрабатываемого события.
3. Когда к проекту добавляется новая форма, создаются три отдельных
файла:
файл модуля (.CPP) cодержит исходный код, связанный с формой;
h-файл(.H) cодержит описание класса формы, то есть описания
содержащихся на форме компонентов и обработчиков событий;
файл формы (.DFM) двоичный файл, содержащий сведения об
опубликованных (то есть доступных в инспекторе объектов) свойствах
компонентов, содержащихся в форме. Двоичный файл формы содержит
информацию, используемую для конструирования формы из компонентов,
расположенных на ней. При добавлении компонента к форме и заголовочный
файл, и двоичный файл формы модифицируются. При редактировании свойств
компонента в инспекторе объектов эти изменения сохраняются в двоичном
файле формы.
Файлы с расширениями ~CPP, ~DDP, ~DFM, ~H являются
скомпилированными файлами аналогичных расширений без значка ~ [7].
Таким образом, файлы модулей с исполняемым кодом имеют расширения
*.CPP, и их содержимое приводится в приложениях 1-8.
Как видно из файловой структуры информационной системы обмен
данными с базой данных происходит через главную форму, файлы всех
остальных форм вызываются также через главную форму.
69
2.4 Контрольный пример реализации программы и его описание
Главная форма приложения изображена на рисунке 2.6.
Рис. 2.6 Главная форма
Для начала проверим на корректность работу справочников. Для этого
откроем справочник «Операции» и добавим операцию «Лабораторное
исследование» с почасовой оплатой 250 рублей (рис. 2.7).
Рис. 2.7 Режим добавления операции
Источник: https://baza.diplomsite.ru/previewfile/2463