Рис. 3.1Алгоритм проверки повторного запуска
Во время загрузки любого приложения из пакета программ на экран выводится заставка. Она представляет собой овальное полупрозрачное окно с наименованием программного продукта. Заставка для всех приложений пакета программ сделана в единообразном стиле. Окно делается овальным при помощи системной функции создания объекта типа «регион» [5]. Далее, созданный регион «накладывается» на форму и она становится овальной. Полупрозрачное окно создаётся при помощи алгоритмов смешения цветов. Кроме этого, на окно накладывается светофильтр. Смешение цветов осуществляется по формуле (3.1)
(3.1)где Cr – результирующий цвет;
Сa, Сb - исходные цвета;
Wa, Wb - веса исходных цветов.
В качестве Сa берётся цвет пикселя скопированной с экрана картинки, в качестве Сb - заранее заданный цвет, Wa – это заданная прозрачность в процентах, Wb=100-Wa. Очевидно, что эту операцию необходимо выполнить для каждого из основных цветов в отдельности. Описанный способ смешения цветов позволяет создавать различные вариации на его основе. Например, если сделать прозрачность не постоянной, а зависящей от координаты, то получится градиентная прозрачность. Можно в качестве Сb взять не фиксированный цвет, а цвет пикселя другой картинки – получится окно, фоном которого служит полупрозрачная картинка. Возможны и другие модификации алгоритма.
3.3.1 Вход в программу
После того, как произошла загрузка программы, на экране появляется окошко с предложением ввести пароль для входа. Вид окна изображён на рис. 3.2.
Рис. 3.2 Диалог ввода входного пароля
После того, как нажата кнопка «ОК», происходит считывание правильного пароля из картинки окна «О программе» и его декодирование. Далее, введённый пароль сравнивается с правильным. В случае совпадения работа с программой будет продолжена, иначе – выводится сообщение об ошибке. Вид окна сообщения представлен на рис. 3.1.
Рис. 3.3 Сообщение о неверном пароле
Подробнее об алгоритме чтения и проверки пароля рассказано в главе, посвящённой защите программы. После пяти неудачных попыток происходит выгрузка программы из памяти. При нажатии на кнопку «Отмена» в любом из окон произойдёт выгрузка программы из памяти.
3.3.2 Главное окно
В программе реализована технология многодокументного интерфейса – MultipleDocumentInterface (MDI). На главной форме имеются верхнее меню, панель инструментов и строка состояния. Кнопки панели инструментов дублируют некоторые команды верхнего меню. Строка состояния разделена на две панели. В первой панели появляется комментарий текущего состояния программы, а также дублируются всплывающие подсказки элементов управления. Вид информации на второй панели меняется в зависимости от текущего состояния программы. В случае, если в данный момент выполняется подпрограмма обработки данных, то во второй панели высвечивается индикатор выполнения задачи, а в первой панели находится комментарий к выполняемой подзадаче. В другом состоянии, во второй панели показывается текущее время. Все модули, вызываемые из основного окна, имеют дочерние окна. Вид главного окна с раскрытым окном «О программе» показан на рис. 3.4. При запуске программы окно автоматически переходит в развёрнутое состояние, заполняя всю видимую область экрана. На рис. 3.4 также показано раскрытое окно «О программе». В этом окне, имеется рисунок с глубиной цвета 24 бит, в который при помощи алгоритма стегографии записывается текущий пароль для входа в программу. Подробнее о записи и чтении пароля из рисунка рассказано в главе, посвящённой защите программы.
Рис. 3.4 Главное окно.
3.3.3 Редактирование вопросов
Окно редактирования вопросов, показанное на рис. 3.5, предназначено для ввода текстов вопроса и комментария. Эти тексты могут вводиться пользователем при помощи клавиатуры или могут быть загружены из файла.
Рис. 3.5 Окно редактирования вопросов
В правой нижней секции показан список заголовков ответов. При двойном щелчке на нужный пункт откроется диалоговое окно ввода текста ответа. Вид окна изображён на рис. 3.6.
Рис. 3.6 Окно ввода текста ответа
Если данный ответ является правильным, то он помечается активизированием радиокнопки. При этом, если в это время другой ответ помечен как правильный, то в его окне радиокнопка деактивизируется. Элемент выбора «Расположить поверх всех окон» позволяет сделать это окно видимым всегда. В то время, пока открыто окно редактирования вопросов, в верхнем меню главного окна отображаются команды работы с компонентами вопроса. Добавление, удаление ответов и рисунков осуществляется через главное меню. Также, в нём имеются команды для работы с группой ответов или рисунков: «Показать все…», «Закрыть все…», а также команды управления окнами: «Каскадом», «Закрыть все».
3.3.4 Заданиенастроек теста
Окно настройки теста предназначено для выбора режима работы тестирующей программы и выбора количества предлагаемых в тесте вопросов. Вид окна настройки изображён на рис. 3.7.
Рис. 3.7 Окно настройки.
После нажатия на кнопку «ОК» введённые параметры кодируются и записываются в таблицу данных теста.
3.3.5 Выбор метода неразрушающего контроля
Разработанный пакет программ имеет универсальное назначение, т.е. может применяться для тестирования по различным темам. По умолчанию, данная программа предназначена для тестирования специалистов по методам неразрушающего контроля. Поэтому, в программе предусмотрено окно выбора метода неразрушающего контроля. Вид окна представлен на рис. 3.8
Рис. 3.8 Окно выбора метода неразрушающего контроля.
Выбранный метод передаётся тестирующей программе. Передача происходит путём копирования файлов с вопросами в каталог тестирующей программы. После выбора метода все изменения, произведённые в окне настройки теста, применяются и к копии файлов вопросов в каталоге тестирующей программы.
3.3.6 Экспорт теста
В некоторых случаях может понадобиться бумажная или электронная копия элементов комплекта тестирования. Поэтому в редакторе предусмотрена функция экспорта информации в редактор MSWord. MSWord обладает широким функциональным спектром, поэтому представляется наиболее оптимальным решением сделать экспорт информации во внешнее приложение, чем дублировать его функциональность. В окне экспорта возможен выбор типов элементов, которые необходимо экспортировать. Вид окна приведён на рис. 3.9.
Рис. 3.9Окно экспорта информации в MSWord/
Смена паролей на вход в редактор и тест осуществляется в редакторе теста. Для того, чтобы изменить пароли, необходимо ввести пароль к редактору. Вид окна смены паролей приведён на рис. 3.10.
Рис. 3.10 Окно смены паролей
Возможно изменение как одного из двух паролей, так и обоих.
3.4 Клиентская программа тестирования
3.4.1 Регистрация
После запуска программы тестирования выводится окно регистрации пользователя. Вид окна представлен на рис. 3.11. После внесения своих данных пользователю необходимо нажать кнопку «Дальше» для перехода к следующему окну. При нажатии на кнопку «Выход» произойдёт выгрузка программы из памяти.
Рис. 3.11 Окно регистрации
После регистрации начинается тестирование. Окно тестирования представлено на рис. 3.12
Рис. 3.12 Окно тестирования
Окно заполняет собой всю видимую область экрана. Варианты ответов располагаются в отдельных окнах. Окна упорядочиваются по порядку внизу окна тестирования. Если вариантов ответов больше четырёх, то они будут выведены в два и более рядов. После отображения очередного вопроса ни одно из окон ответов не является активным. Если пользователь активизировал окно с ответом, оно выделяется жёлтым цветом (на рисунке – «Ответ В»), а кнопка «Ответить» - красным, с увеличением размера шрифта. Для выбора нужного ответа необходимо нажать на кнопку «Выбрать». После этого будет отображён текст следующего вопроса, варианты ответов, рисунки к вопросу. Если это был последний вопрос теста, то тестирование будет завершено. Вопрос, на который получен ответ, помечается в списке вопросов галочкой. В режиме обучения доступна кнопка «Комментарий». При нажатии на неё в отдельном окне будет выведен текст комментария к вопросу. После ответа на все утверждения теста появится сообщения об успешном завершении тестирования. Вид сообщения приведён на рис. 3.13.