Текст программы
else begin fn: = ParamStr(1); assignfile(f,fn); {$I-} reset(f); {I+} if IOResult=0 then begin Info(f,Label5); // прочитать и вывести информацию о тесте GetLevel(f); // прочитать информацию об уровнях оценок end; end; end; procedure TForml.ButtonlClick(Sender: TObject); begin case Button1.tag of 0: begin Buttonl.caption: = 'Дальше'; Buttonl.tag: = 1; RadioButtonS.Checked: = TRUE; // вывод первого вопроса Buttonl.Enabled: = False; ResetForm(Form1); VoprosToScr(f,Forml,vopros} end; 1: begin // вывод остальных вопросов summa: = summa+score[otv]; RadioButtonS.Checked: = TRUE; Button1.Enabled: = False; ResetForm(Form1); if not eof(f) then VoprosToScr(f,Forml,vopros) else begin suima: =summa+score [otv]; closefile(f); Buttonl.caption: = 'Ok'; Form1.caption: ='Результат'; Button1.tag: = 2; Button1.Enabled: = TRUE; Itog(summa,Forml); end; end; 2: begin // завершение работы Forml.Close; end; end; end; procedure TForm1.RadioButtonClick(Sender: TObject); begin if sender = RadioButtonl then otv: = l else if sender = RadioButtonl then otv: = 2 else if sender = RadioButton3 then otv: = 3 else otv: = 4; Buttonl.enabled: = TRUE; end; end.
После запуска программы и вывода на экран стартовой формы происходит событие onActivate. Процедура FormActivate сначала вызывает процедуру ResetForm, которая, присваивая значение False свойству visible, делает невидимыми поля вывода альтернативных ответов и переключатели. Аналогично делается невидимой область иллюстрации. Кроме того, процедура устанавливает максимально возможную ширину полей меток альтернативных ответов.
После очистки формы проверяется, указан ли при запуске программы параметр – имя тестового файла.
Если параметр не указан (значение paramCount в этом случае равно нулю), то присвоением значения свойству caption метки Label5 выводится сообщение:
Не задан файл вопросов теста и свойству Tag кнопки Button1 присваивается значение 2 (Button1.Tag: = 2;).
Если параметр задан, то открывается файл теста.
Программа тестирования получает имя файла теста как результат функции Paramstr(l). Реализация программы предполагает, что если имя файла теста задано без указания пути доступа к нему, то файл теста и файлы с иллюстрациями находятся в том же каталоге, что и программа тестирования. Если путь доступа указан, то файлы с иллюстрациями должны находиться в том же каталоге, что и файл теста. Такой подход позволяет сгруппировать все файлы одного теста в одном каталоге.