Показать сообщение отдельно
  #3  
Старый 17.11.2009, 02:04
Boris the Blade Boris the Blade вне форума
Прохожий
 
Регистрация: 17.09.2009
Сообщения: 27
Репутация: 10
По умолчанию

Я бы делал следующим образом:

1. каждый вопрос делал бы в виде записи: текст вопроса, три ответа, причем правильный ответ всегда первый
Код:
type
  _question = record
    _text : string;
    _answers : array [1..3] of string;
  end;
2. далее сделать процедуру вывода вариантов ответа в произвольном порядке, например нечто подобное (выглядит дико, но всё же рабочая версия)
Код:
procedure TForm1._shuffle();
var
  _i : integer;
  _s : string;
begin
  randomize;
  _s := '123';

  _i := random(3)+1;
  label1.Caption := _q._answers[strtoint(copy(_s,_i,1))];
  delete(_s,_i,1);

  _i := random(2)+1;
  label2.Caption := _q._answers[strtoint(copy(_s,_i,1))];
  delete(_s,_i,1);

  label3.Caption := _q._answers[strtoint(_s)];
end;
3. и наконец, проверять ответ, скажем, вот так - щелчком по Label определять его Caption и сравнивать с правильным ответом
Ответить с цитированием