Программа для тестовых проверок знаний — страница 8

  • Просмотров 4078
  • Скачиваний 488
  • Размер файла 18
    Кб

результат} Result := IntToStr(nMin) + ' минут ' + IntToStr(nSec) + ' секунд'; end; end; procedure TForm2.ShowQuestion; var Count, i: Integer; begin if (QuestNum > QuestCount) and (QuestNum > 0) then begin {если кол-во вопросов больше чем уже показанных и кол-во вопросов >0 то выполняем следушее....} Form3 := TForm3.Create(self);//создаем форму с результатами тестирования res := (Scores * 100) div QuestCount;// узнаем кол-во правильных ответов Form3.Gauge1.Progress := res; // выводим правильные ответы на графике в % Form3.Gauge2.Progress := 100-res; //выводим кол-во

неправильных ответов //сколько всего вопросов.... Form3.Label5.Caption := 'Вопросов в тесте: '+IntToStr(QuestCount); //пишем на label кол-во правильных ответов Form3.Label3.Caption := IntToStr(Scores); //тоже самое, только неправильные Form3.Label4.Caption := IntToStr(Wrong); Timer1.Enabled:=False; //выключаем таймер времени Form3.TimeLabel.Caption:=TimeLabel.Caption; //выводим время на label времени Form3.ShowModal;// наконец показываем форму с результатами Form2.close; //закрываем форму с вопросами end; //загружаем текст вопроса Label1.Caption :=

Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст вопроса', 'Вопрос отсутствует'); //загружаем варианты ответов RadioButton1.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 1', 'ERROR'); RadioButton2.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 2', 'ERROR'); RadioButton3.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 3', 'ERROR'); RadioButton4.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 4', 'ERROR'); {Процедура загрузки завершена} end; {Процедура созлания формы с вопросами}

procedure TForm2.FormCreate(Sender: TObject); begin {Получаем путь папки где находится наша прога} ProgPath := ExtractFileDir(Application.ExeName) + '\'; Ini := TIniFile.Create(ProgPath + 'Test.ini'); Label1.Caption := Ini.ReadString('Тест', 'Название теста', 'Тест без названия'); QuestNum := 0; Scores := 0; wrong := -1; QuestCount := Ini.ReadInteger('Тест', 'Количество Вопросов ', -2); Label5.Caption := 'Всего вопросов в тесте: ' + IntToStr(QuestCount); end; procedure TForm2.BitBtn1Click(Sender: TObject); var Answer, CA: Integer; begin Answer := Ini.ReadInteger('Вопрос №' + inttostr(QuestNum), 'Правильный вариант', -1); if Answer < 0 then

Exception.Create('В файле с вопросами не написан правильный вариант'); ca := 0; if RadioButton1.Checked then Ca := 1; if RadioButton2.Checked then Ca := 2; if RadioButton3.Checked then Ca := 3; if RadioButton4.Checked then Ca := 4; if Ca = Answer then inc(Scores) else inc(Wrong); inc(QuestNum); Label6.Caption := 'Номер вопроса: ' + IntToStr(QuestNum); Label8.Caption := 'Правильных ответов: ' + IntToStr(Scores); Label7.Caption := 'Неправильных ответов: ' + IntToStr(Wrong); ShowQuestion; RadioButton1.Checked:=False; RadioButton2.Checked:=False; RadioButton3.Checked:=False; RadioButton4.Checked:=False; end; procedure TForm2.Button1Click(Sender: TObject); begin Count:=0; Timer1.Enabled:=True;

Label10.Visible:=True; TimeLabel.Visible:=True; BitBtn1.Visible := true; Panel3.Visible := true; Button1.Visible := false; Label9.Visible:=True; BitBtn1.OnClick(self); end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin // Ini.Free; end; procedure TForm2.Timer1Timer(Sender: TObject); begin Count:=Count+1; TimeLabel.Caption:=ss2nn(Count); end; end. Приложение Б Модуль формы с результатами тестирования unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Gauges, Buttons; type TForm3 = class(TForm) Bevel1: TBevel; Label1: TLabel; Label2: TLabel; Gauge1: TGauge; Gauge2: TGauge; Label3: TLabel; Label4: TLabel; Label5: TLabel;