Реферат: Разработка тестового приложения Компоненты меню Delphi
Если значение Button1.Tag равно двум, то применением метода close к форме Form1 закрывается окно программы, в результате чего программа завершает работу.
Вывод вопроса и альтернативных ответов выполняет процедура voprosToScr. Сначала процедура увеличивает счетчик вопросов vopros и присвоением значения свойству формы Caption выводит номер текущего вопроса в заголовок окна. Затем процедура читает строки из файла теста до тех пор, пока первым символом очередной прочитанной строки не будет точка или "обратная наклонная черта".
После вывода текста вопроса делается проверка, какой символ используется в качестве признака конца вопроса. Если обратная наклонная черта, что свидетельствует о том, что к вопросу есть иллюстрация, то свойству Form1.image1.Tag присваивается единица и из прочитанной строки выделяется имя файла иллюстрации.
Загрузка иллюстрации осуществляется применением метода LoadFromFile к свойству image1.Picture. Однако после загрузки иллюстрация на экране не появляется, т. к. значение свойства image1.visible равно False.
После считывания иллюстрации процедура считывает вопросы. После обработки последнего вопроса, форма переходит к разделу оценок. Так же на форме имеется компонент Gauge1, который предназначен для визуального вывода информации о количестве правильных ответов. Используя процедуру Form1.gauge1.progress:=integer мы можем задать необходимое визуальное отображение числа баллов за ответы. Для этого нам надо объявить переменную, которая бы при подсчёте баллов автоматически отображалась на этой компоненте. Этой переменной будет summa. Итак, просто пропишем значения суммы (количества баллов) и действия для отображения баллов:
if summa=10 then
Form1.gauge1.progress:=100;
if summa=9 then
Form1.Gauge1.Progress:=90;
if summa=8 then
Form1.gauge1.progress:=80;
if summa=7 then
Form1.gauge1.progress:=70;
if summa=6 then
Form1.gauge1.progress:=60;
if summa=5 then
Form1.gauge1.progress:=50;
if summa=4 then
Form1.gauge1.progress:=40;
if summa=3 then
Form1.gauge1.progress:=30;
if summa=2 then
Form1.gauge1.progress:=20;
if summa=1 then
Form1.gauge1.progress:=10;
if summa=0 then
Form1.gauge1.progress:=0;
End;
Для сохранения результатов тестирования был использован компонент Memo, который был связан с компонентом savedialog1. Т.е. при выводе результатов тестирования данные из компонента Label5 помещались в Memo и, затем, их можно было сохранить, для этого используется следующие операторы: