Маньяк!!!
Для тестовой программы тебе надо:
1. Memo - выводить вопрос
2. TRadioGroup - для вывода ответов и выпора пользователя.
3. Массив данных вида "Вопрос, Ответ1..ОтветN, Номер правильного ответа".
4. Цикл по вопросам с подсчетом кол-ва правильных ответов.
Пусть у нас всегда будет 4 варианта ответов, один из которых правильный (простейший вариант):
Код:
type
TQuestion = record
Text : String;
Answers : Array [0..3] Of String;
RightAnswer : Integer; // 0.. 3
end;
const
Q : Array [1..10] Of TQuestion =
((Text: 'Текст вопроса 1', Answers:('Ответ1','Ответ2','Ответ3','Ответ4'),0), // первый вопрос. и так всего 10 вопросов
...);
procedure TForm1.btStartClick(Sender : TObject);
begin
AQuestion := 0;
QRights := 0;
btNextClick(Self);
end;
procedure TForm1.btNextClick(Sender : TObject);
var
I : Integer;
begin
// Если > 0 то забираем ответ.
If AQuestion > 0 Then
If RadioGroup1.ItemIndex = Q[AQuestion].RightAnswer Then Inc(QRights);
// Если > 10, то тест заеончен - выводим результат
Inc(AQuestion);
If AQuestion > 10 Then
Begin
Memo1.Lines.Text := '';
RasioGroup1.Items.Clear;
ShowMessage('Тест окончен. Правильных ответов ' + IntToStr(QRights));
Exit;
End;
// Выводим след. вопрос
Memo1.Lines.Text := Q[AQuestion].Text;
For I := 0 To 3 Do
RadioGroup1.Items[i] := Q[AQuestion].Answers[i];
RadioGroup1.ItemIndex := -1;
end;