Delphi. Учимся на примерах | страница 54
>end;
>procedure TForm1.question_seleсt();
>label ran; //метка ran для быстрого перехода
>begin
> Randomize;
>ran:
> a:=Random(n); //выбираем случайный вопрос из базы
> //проверяем: не задавали ли мы этот вопрос ранее
> for i:=1 to n do
> if mass[i] = a then goto ran;
> for i:=1 to n do
> if mass[i] = 0 then begin
> mass[i]:= а; {записываем номер вопроса, чтобы не задавать его больше }
> Break;
> end;
> //сбрасываем флажки со всех вариантов ответов
> an1.Checked:= False;
> an2.Checked:= False;
> an3.Checked:= False;
> an4.Checked:= False;
>end;
>procedure TForm1.verno();
>begin
> if an1.Checked then
> if yes = an1.Caption then balls:= balls + 1;
> if an2.Checked then
> if yes = an2.Caption then balls:= balls + 1;
> if an3.Checked then
> if yes = an3.Caption then balls:= balls + 1;
> if an4.Checked then
> if yes = an4.Caption then balls:= balls + 1;
>end;
>procedure TForm1.N2Click(Sender: TObject);
>begin
> Randomize;
> //начинаем обзор с текущего каталога
> Open1.InitialDir:= GetCurrentDir;
> if not Open1.Execute then ShowMessage('Вы не выбрали файл!')
> else begin
> ss:= Open1.FileName; //открываем выбранный файл
> zz:= ss; //запоминаем путь к базе
> start(); //начинаем тест
> end;
>end;
>procedure TForm1.FormCreate(Sender: TObject);
>begin
> Randomize;
> //получаем каталог, в котором находится наша программа
> dir:= GetCurrentDir;
> ss:= dir + '\comp.ini'; //путь к базе вопросов
> zz:= ss;
> start(); //начинаем тест
>end;
>procedure TForm1.p1Click(Sender: TObject);
>begin
> Label1.Caption:= 'Второй вопрос:';
> verno(); //принимаем вариант ответа
> p1.Visible:= False; //убираем первую панель
> р2.Visible:=True; //активизируем вторую панель
> vopr:= Random(4) +1; //выбираем случайный вариант ответа
> vars(vopr); //задаем вопрос
>end;
>procedure TForm1.p2Click(Sender: TObject);
>begin
> Label1.Caption:= 'Третий вопрос:';
> verno();
> p2.Visible:= False;
> p3.Visible:= True;
> vopr:= Random(4) + 1;
> vars(vopr);
>end;
>procedure TForm1.p3Click(Sender: TObject);
>begin
> Label1.Caption:= 'Четвертый вопрос:';
> verno();
> р3.Visible:= False;
> p4.Visible:= True;
> vopr:= Random(4) + 1;
> vars(vopr);
>end;
>procedure TForm1.p4Click(Sender: TObject);
>begin
> Label1.Caption:= 'Пятый вопрос:';
> verno();
> p4.Visible:= False;
> p5.Visible:= True;
> vopr:= Random(4) + 1;
> vars(vopr);
>end;
>procedure TForm1.p5Click(Sender: TObject);
>begin
> //проверяем правильность ответа на последний вопрос
> verno() ;
> //узнаем, сколько баллов набрал пользователь
> ss:= IntToStr(balls);
> //делаем почти все компоненты невидимыми
> Memo1.Visible:= False;