![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
У меня есть файл в котором хранится тест в последовательности:вопрос 1 вариант ответа, 2 вариант ответа, 3 вариант ответа, 4 вариант ответа, затем правильный вариант ответа.Мне надо чтоб при нажатии кнопки вопрос присваивался Label, варианты ответа RadioButton, сколько бы не было вопросов
|
|
#2
|
||||
|
||||
|
Тут через кейс надоБесли я тебе на С++ кину подойдет??
|
|
#3
|
||||
|
||||
|
У вас каждый ответ соответствует паре (TLabel,TRadioButton) и при этом
заранее неизвестно количество ответов, значит их либо придется создавать по мере надобности с последующим уничтожением, либо заранее по максимуму набросать на форму и по необходимости отображать/скрывать. Второй вариант проще, т.к. элементы можно заранее расположить на форме, да и возни с обработкой динамического списка этих элементов можно избежать. |
|
#4
|
|||
|
|||
|
примерно так
Код:
//глобальные
type TTest = Record
ask, v1, v2, v3, v4, vt: String;
var
Test: array of TTest;
TNum, TrueCnt: Integer;
SL: TStringList;
//это туда где будешь загружать тест
SL.LoadFromFile('твой файл');
i:=0;
while i<sl.lines.count do
begin
SetLength(Test, Length(Test)-1);
with Test[Length(Test)-1] do begin
Ask:=SL[i];
V1:=SL[i+1];
V2:=SL[i+2];
V3:=SL[i+3];
V4:=SL[i+4];
VT:=SL[i+5];end;
i:=i+6;
end;
Label1.Caption:=Test[0].Ask;
RadioGroup1.Items.Clear;
RadioGroup1.Items.Add(Test[0].V1);
RadioGroup1.Items.Add(Test[0].V2);
RadioGroup1.Items.Add(Test[0].V3);
RadioGroup1.Items.Add(Test[0].V4);
Tnum:=0; //текущий вопрос
TrueCnt:=0; //верных ответов
//это кнопка СЛЕД. ВОПРОС
if RadioGroup1.Items[itemIndex]=Test[TNum].VT then inc(TrueCnt);
inc(TNum);
Label1.Caption:=Test[TNum].Ask;
RadioGroup1.Items.Clear;
RadioGroup1.Items.Add(Test[TNum].V1);
RadioGroup1.Items.Add(Test[TNum].V2);
RadioGroup1.Items.Add(Test[TNum].V3);
RadioGroup1.Items.Add(Test[TNum].V4);Последний раз редактировалось warner, 25.06.2009 в 22:12. |