
2. Программная реализация
Для реализации данной программы потребовалось восемь модулей.
Форма модуля Main (рисунок 1) не является основной и служит только для ввода имени пользователя. Ввод имени является обязательным. Администратор входит в программу под именем admin.
Рисунок 1 – Форма модуля Main
Для ввода администратором пароля предназначена форма модуля Password (рисунок 2). Основным компонентом данной формы является компонент TEdit, свойство PasswordChar которого установлено равным «*».
Рисунок 2 – Форма для ввода пароля
Основной является форма модуля General (рисунок 3). Эта форма является связующим звеном для всех остальных, так как в модуле этой формы описан вызов всех возможных действий и режимов данной программы.
Для отображения текста вопроса используется компонент TMemo, для отображения номера вопроса – компонент TGroupBox, для вывода вариантов ответа – компонент TRadioGroup. Предусмотрен пропуск вопросов и возврат к предыдущему вопросу.
Рисунок 3 – Главная форма приложения
Добавление, удаление и редактирование вопросов производится с помощью формы модуля Editor (рисунок 4). Список вопросов отображается в компоненте TDBGrid, для перемещения по которому и переключения между режимами используется компонент TDBNavigator. Для связи с базой вопросов служат компоненты TTable и TDataSource. В случае, если администратор допустил ошибку, будет выдано соответствующее сообщение, для чего используется обработчик события OnBeforePost компонента TTable, возникающего перед пересылкой записи в базу данных [4].
Вывод результатов осуществляется с помощью формы модуля Result (рисунок 5). На ней отображается следующая информация:
имя тестируемого;
количество правильных ответов;
процент выполнения теста;
список вопросов, на которые были даны неправильные ответы.
Рисунок 4 – Редактор базы вопросов
Рисунок 5 – Результаты тестирования
По вопросам, на которые были даны неправильные ответы, пользователь может получить разъяснения.
Для вывода разъяснений служит форма модуля Comments (рисунок 6). Разъяснения выводятся в компоненте TMemo.
Рисунок 6 – Вывод разъяснений
Для изменения настроек предназначена форма модуля Options (рисунок 7). В данной программе настроек всего две: количество вопросов в тесте и способ выборки вопросов. В тесте может быть от 10 до 30 вопросов, которые могут выбираться либо последовательно, либо случайно. Для указания количества вопросов используется компонент TCSpinEdit, для указания способа выборки вопросов – два компонента TRadioButton.
Рисунок 7 – Настройки
Для смены пароля служит форма модуля ChangePassword (рисунок 8). Смена пароля организована стандартным образом, т.е. сначала нужно ввести старый пароль, затем новый пароль и подтверждение, для чего используются три компонента TLabeledEdit, свойство PasswordChar которых установлено равным «*».
Рисунок 8 – Смена пароля