unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    CheckBox10: TCheckBox;
    Image1: TImage;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  No,balls,I,J,Osh2:byte;
  FNameQ,FNameA,S,PicName:String;
  F:System.Text;
  Answer:array [1..10] of String;
  Osh1:array [1..10] of boolean;
  Nal:boolean;
implementation
uses Unit1, Unit3;

{$R *.dfm}
Procedure Check;
var
  ic:byte;
begin
  for ic:=1 to 10 do
  begin
    Osh1[ic]:=false;
  end;
  For J:=1 to 10 do
  begin
      If (Answer[J]='А') and (Form2.CheckBox1.Checked=true) then
      inc(balls);
      If (Answer[J]='Б') and (Form2.CheckBox2.Checked=true) then
      inc(balls);
      If (Answer[J]='В') and (Form2.CheckBox3.Checked=true) then
      inc(balls);
      If (Answer[J]='Г') and (Form2.CheckBox4.Checked=true) then
      inc(balls);
      If (Answer[J]='Д') and (Form2.CheckBox5.Checked=true) then
      inc(balls);
      If (Answer[J]='Е') and (Form2.CheckBox6.Checked=true) then
      inc(balls);
      If (Answer[J]='Ж') and (Form2.CheckBox7.Checked=true) then
      inc(balls);
      If (Answer[J]='З') and (Form2.CheckBox8.Checked=true) then
      inc(balls);
      If (Answer[J]='И') and (Form2.CheckBox9.Checked=true) then
      inc(balls);
      If (Answer[J]='К') and (Form2.CheckBox10.Checked=true) then
      inc(balls);

      If (Answer[J]='А') then osh1[1]:=true;
      If (Answer[J]='Б') then osh1[2]:=true;
      If (Answer[J]='В') then osh1[3]:=true;
      If (Answer[J]='Г') then osh1[4]:=true;
      If (Answer[J]='Д') then osh1[5]:=true;
      If (Answer[J]='Е') then osh1[6]:=true;
      If (Answer[J]='Ж') then osh1[7]:=true;
      If (Answer[J]='З') then osh1[8]:=true;
      If (Answer[J]='И') then osh1[9]:=true;
      If (Answer[J]='К') then osh1[10]:=true;
  end;
  if (osh1[1]=false) and (Form2.CheckBox1.Checked=true) then
  inc(osh2);
  if (osh1[2]=false) and (Form2.CheckBox2.Checked=true) then
  inc(osh2);
  if (osh1[3]=false) and (Form2.CheckBox3.Checked=true) then
  inc(osh2);
  if (osh1[4]=false) and (Form2.CheckBox4.Checked=true) then
  inc(osh2);
  if (osh1[5]=false) and (Form2.CheckBox5.Checked=true) then
  inc(osh2);
  if (osh1[6]=false) and (Form2.CheckBox6.Checked=true) then
  inc(osh2);
  if (osh1[7]=false) and (Form2.CheckBox7.Checked=true) then
  inc(osh2);
  if (osh1[8]=false) and (Form2.CheckBox8.Checked=true) then
  inc(osh2);
  if (osh1[9]=false) and (Form2.CheckBox9.Checked=true) then
  inc(osh2);
  if (osh1[10]=false) and (Form2.CheckBox10.Checked=true) then
  inc(osh2);
end;

Procedure CheckFalse;
begin
  Form2.CheckBox1.Checked:=false;
  Form2.CheckBox2.Checked:=false;
  Form2.CheckBox3.Checked:=false;
  Form2.CheckBox4.Checked:=false;
  Form2.CheckBox5.Checked:=false;
  Form2.CheckBox6.Checked:=false;
  Form2.CheckBox7.Checked:=false;
  Form2.CheckBox8.Checked:=false;
  Form2.CheckBox9.Checked:=false;
  Form2.CheckBox10.Checked:=false;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  Halt;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  No:=1;
  PicName:='Pic\Pic '+IntToStr(No)+'.Bmp';
  Form2.Image1.Picture.Bitmap.LoadFromFile(PicName);
  FNameQ:='Question\Question '+IntToStr(No)+'.txt';
  Memo1.Lines.LoadFromFile(FNameQ);
  Form2.Label1.Caption:='Вопрос: '+IntToStr(No)+' из 15';
end;

procedure TForm2.Button2Click(Sender: TObject);
var
  oc:byte;
Label M1;
begin
  If No=15 then
  begin
    Check;
    Form2.Label1.Caption:='Вопрос: '+IntToStr(No)+' из 15';
    Form3.Visible:=True;

    Form3.Memo1.Lines.Delete(0);
    Form3.Memo1.Lines.Add(Form1.Edit1.Text+' '+Form1.Edit2.Text+' '+Form1.Edit3.Text);
    Form3.Memo1.Lines.Add('Вы проходили тест по географии по теме "Мировое хозяйство"');
    Form3.Memo1.Lines.Add('Количество правильных ответов: '+IntToStr(balls));
    Form3.Memo1.Lines.Add('Количество ошибок: '+IntToStr(Osh2));
    Form3.Memo1.Lines.Add('Количество набранных баллов: '+IntToStr(balls-Osh2));

    oc:=(balls-Osh2) div 6;
    if Osh2>balls then oc:=1;
    if oc=0 then oc:=1;
    Form3.Memo1.Lines.Add('Это соответствует оценке: '+IntToStr(oc));
    Form3.Memo2.Lines.Delete(0);
    Case oc of
    1:Form3.Memo2.Lines.Add('Ужас! Вам вообще знакомо слово география?');
    2:Form3.Memo2.Lines.Add('Плохо вы учили географию. Предлагаю сходить в библиотеку за учебником.');
    3:Form3.Memo2.Lines.Add('Пройдите тест еще раз пять, может, повезет.');
    4:Form3.Memo2.Lines.Add('Почти отлично. В школе вы не зря учились.');
    5:Form3.Memo2.Lines.Add('Поздравляем! Географию вы знаете на отлично!');
    end;
    Form2.Visible:=False;

    GoTo M1;
  end;

  FNameA:='Answer\Answer '+IntToStr(No)+'.txt';
  AssignFile(f,FNameA);
  Reset(f);
  For I:=1 to 10 do
  begin
    ReadLn(f,Answer[I]);
  end;
  CloseFile(f);
  Check;
  CheckFalse;
  No:=No+1;
  Form2.Label1.Caption:='Вопрос: '+IntToStr(No)+' из 15';
  FNameQ:='Question\Question '+IntToStr(No)+'.txt';
  Memo1.Lines.LoadFromFile(FNameQ);
  PicName:='Pic\Pic '+IntToStr(No)+'.bmp';
  Form2.Image1.Picture.Bitmap.LoadFromFile(PicName);
  M1:
end;
end.
