Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DP.doc
Скачиваний:
11
Добавлен:
23.09.2019
Размер:
3.11 Mб
Скачать

2.2.4 Структура таблиц базы данных предприятия

На рисунке 3. Предоставлен список таблиц базы данных.

Рисунок 3. Схема данных

База данных «Учет перевозок» содержит 7 таблиц: country (Список стран), drivers (Водители), kontragents (Заказчики), lists (Путевые листы), traffic (Перевозки), transport (Транспорт), users (Пользователи). Все таблицы хранят данные в формате varchar и кодировке cp1251 general ci, которая поддерживает кириллические символы.

2.2.5 Этап разработки программы

  1. Первым этапом разработки АИС «Учет перевозок» является создание нового проекта в среде Embarcadero RAD Studio XE2 Delphi. Создаём новый проект ("File" => "New" => “VCL Forms Application-Delphi”) рис. 4.

Первым проектом будет приложение для работы с БД.

Рисунок 4. Создание нового проекта

При первом сохранения проекта задаем его имя, как «uptrasko».

  1. Созданная форма является главной в проекте и будет использоваться для авторизации пользователей. Сразу же переименовываем форму в «start».

Далее на форме start добавляются компоненты:

  • Edit1, DBEdit1, DBEdit2, Combobox1, Checkbox1, GroupBox1, Label1, Label2;

  • GroupBox2, Button1, Button2, Button3;

  • ProgressBar1, Image1, Panel1, Panel2, Timer, IdIcmpClient1.

После проделанных действий интерфейс формы start выглядит следующим образом (рисунок 5).

Компоненты, видимые пользователю, располагаем на Panel2, остальное скрываем, чтобы пользователь не смог поменять в них системные значения.

Рисунок 5. Интерфейс формы start

  1. Следующей созданной формой будет форма osnovnaya_forma, которая будет являться основной формой для работы с программой.

Создаем новую форму выполнив в среде «File->New->VCL Form-Delphi». Меняем имя на osnovnaya_forma, а заголовок на «Автоматизированная информационная система учета перевозок».

Создаем главное меню формы MainMenu1, содержащие разделы: «Файл», «Данные», «Настройка», «Справка», «О программе».

Раздел «Файл» содержит кнопки:

  • «Закрыть все таблицы», закрывает все открытые формы и таблицы. Для этой кнопки меню назначено сочетание клавиш «Ctrl+A»;

  • «Блокировка», закрывает все открытые формы и переходит к форме авторизация. Для этой кнопки меню назначено сочетание клавиш «Ctrl+Z»;

  • «Выйти», завершает работу приложения. Для этой кнопки меню назначено сочетание клавиш «Ctrl+X».

Раздел меню «Данные» содержит:

  • «Поиск», открывает форму поиска. Для этой кнопки меню назначено сочетание клавиш «Ctrl+F»;

  • «Обновить данные», запускает пере подключение с таблицами базы данных, тем самым обновляя данные. Для этой кнопки меню назначено сочетание клавиш «F5».

Раздел «Настройки». Открывает форму «Настройки». Для этой кнопки меню назначено сочетание клавиш «F2».

Раздел «Справка» открывает форму «Справка».

Раздел «О программе» открывает одноименную форму. Для этой кнопки меню назначено сочетание клавиш «F1».

Добавляем на форму компонент PageControl, создаем в нем пять вкладок TabSheet и называем их именами таблиц. Содержание компонентов на каждой вкладке одинаково:

  • DBGrid1, в который будут выводиться выбранная таблица из БД и результаты запросов. Для навигации по данным выведенным в DBGrid1 добавим компонент DBNavigator1, который позволит перемещаться по данным, а также добавлять, удалять и сохранять строки.

  • Кнопка BitBtn «Печать» с иконкой принтера, для печати таблицы.

  • Кнопка Button «Режим формы», для открытия таблицы в режиме формы.

  • Кнопка Button «Фильтр», для открытия соответствующей таблице формы с фильтрами;

  • Ниспадающий список ComboBox «Сортировки»;

Общий вид формы osnovnaya_forma в среде разработки представлен на рисунке 6.

Рисунок 6. Интерфейс главной формы

  1. На четвертом этапе создается форма U. Данная форма недоступна для пользователя и используется для соединения и работы с базой данных. На нем располагаются компоненты типа UniDAC: UniConnection, UniTable, UniQuery, UniDataSource, которые отвечают за соединение, отправку запросов и хранение выбранных данных. Пары компонентов UniTable и UniDataSource создаются для каждой таблицы БД:

  • Table_users, DataSource_users (для работы с таблицей пользователи);

  • Table_drivers, DataSource_drivers (для работы с таблицей водителей);

  • Table_transport, DataSource_transport (для работы с таблицей транспорта);

  • Table_lists, DataSource_lists (для работы с таблицей путевых листов);

  • Table_traffic, DataSource_traffic (для работы с таблицей перевозок);

  • Table_kontragents, DataSource_kontragents (для работы с таблицей заказчики);

Отдельно для разных SQL запросов создаем компоненты Query и DataSource_Query.

Данная форма продемонстрирована на рисунке 7.

Все компоненты для работы с БД располагаются только на этой форме.

Рисунок 7. Форма U.

  1. На пятом этапе создаётся форма registration.

На форму добавляются компоненты Edit (1-4), Label (1-9) и Button (1, 2). Данные из компонентов типа Edit отправляются в таблицу users по нажатию кнопки «Регистрация» (Button1), при условии заполнения всех полей, затем поля очищаются и данная форма закрывается. Кнопка «Пример» (Button2) по нажатию которой текстовые поля заполняются в виде образца. На рисунке 8 изображена данная форма в среде разработки.

Рисунок 8. Форма «Регистрация».

  1. На шестом этапе создаются модули, которые отображают информацию в режиме формы (рисунки 9-13). Алгоритм создания един для всех таких форм:

  • на новую форму добавляются элементы Label, DBEdit, DBCombobox, , GroupBox, Image, DBNavigator, BitBtn и DateTimePicker;

  • компоненты DBEdit и DBCombobox связываются с необходимым UniDataSource. После связи выбирается необходимое поле таблицы;

  • DBNavigator связывается с тем же UniDataSource;

  • Кнопка BitBtn выполняет функцию печати.

Модули форм: D (Водители), transport (Транспорт), kontragents (Заказчики), traffic (Перевозки), lists (Путевые листы).

Рисунок 9. Форма «Транспорт».

Рисунок 10. Форма «Водители».

Рисунок 11. Форма «Заказчики».

Рисунок 12. Форма «Путевые листы».

Рисунок 13. Форма «Перевозки».

  1. На седьмом этапе создается форма «Настройки».

На форме расположены CheckBox’ы с различными настройками. А также кнопка пинга сервера (проверка на доступность в сети). Результаты пинга выводятся в текстовое поле Memo1. На рисунке 14 изображена данная форма в среде разработки.

Рисунок 14. Форма «Настройки».

  1. На восьмом этапе создается форма «О программе». На форму добавляются компоненты GroupBox1, Image (1,2) Label (1,2,3,4,5). В компоненты Label добавляется информация о программе и разработчике. На рисунке 15 изображена данная форма в среде разработки.

Рисунок 15. Форма «О программе».

  1. На девятом этапе создается форма «Справка».

На форме создаются компоненты TreeView1, Panel1 и OleContainer(1-3). В TreeView1 вручную создается иерархия разделов справки. Сами текстовые по каждому разделу хранятся в OleContainer. По умолчанию все компоненты OleContainer невидимы пользователю. По выбору раздела в TreeView1 нужный OleContainer становится видимым. На рисунке 16 изображена данная форма в среде разработки.

Рисунок 16. Форма «Справка».

  1. На десятом этапе создается форма «Поиск».

Здесь расположены два компонента ComboBox «Выбор таблицы» и «Выбор поля». После выбора таблицы список полей автоматически заполняется в зависимости от выбранной таблицы.

В текстовое поле Edit вводим значение которое необходимо найти, по выбору ставим (или нет) галочку в компоненте CheckBox «Точное значение» и нажимаем кнопку «Поиск», внизу формы нам открывается результат поиска в компоненте DBGrid. Для открытия этой записи в режиме формы, необходимо выделить запись в DbGrid’e и нажать кнопку «Режим формы» и откроется форма с данными по найденной записи.

На рисунке 17 изображена данная форма в среде разработки.

Рисунок 17. Форма «Поиск».

  1. На одиннадцатом этапе создается серверная часть программы. Создаем новый проект и называем его «uptrasko_server». Описание компонентов и их функций:

  • Лог событий, текстовое поле Memo, в которое записываются все события (входы\выходы пользователей) и выводятся списки неактивных учетных записей;

  • Колонка пользователей on-line, реализована с помощью компонента ListBox, показывает список пользователей находящихся в клиентской части программы;

  • Кнопка «Открыть таблицу пользователей», по нажатию на нее, внизу формы открывается таблица пользователей в компоненте DBGrid;

  • «Бэкап БД», кнопка сохраняющая базу данных;

  • «Печать лога», вывод на печать текущего лога сообщений;

  • «Сохранить», кнопка сохранения лога сообщений;

  • «Очистить лог», производится очистка лога событий;

  • «Новые пользователи», вывод в лог событий списка не активированных учетных записей;

На рисунке 18 изображена данная форма в среде разработки, а на рисунке 19 в рабочем состоянии.

Рисунок 18. Форма «Серверное приложение», в среде разработки.

Рисунок 19. Форма «Серверное приложение», в рабочем состоянии.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]