Olga Belikova
Olga Belikova

Проблема с выводом вопросов случайным образом на Делфи.

До того как не было добавлено условие чтобы вопросы теста находящиеся в файле которые выводятся случайным образом НЕ повторялись все работало теперь при выводе Radiogroup и Label некоторые пустые.
Пример вывода 10 вопроса:
//Вывод 10 ого вопроса

AssignFile(F,'base.txt');// база где хранятся вопросы base.txt причем первая строка это название теста, вторая вопрос, третья количество вариантов ответа V, четвертая номер правильного ответа К и далее в зависимости от кол-ва V варианты ответа
reset(F);
Readln(F,A);
label1.Caption:=A;// А переменная для обозначения строки

Randomize;
N10:=Random(N); //Случайный выбор 10 вопроса
if N10=0 then N10:=Random(N)
else
label2.Caption:=Inttostr(N10);
if (N10=N1) or (N10=N2) or (N10=N3) or (N10=N4) or (N10=N5) or (N10=N6) or (N10=N7) or (N10=N8) or (N10=N9)
then
begin
N10:=Random(N);
label2.Caption:=Inttostr(N10);
end
else
for j:=1 to N do
begin
if j<>N10 then
begin
Readln(F,A);
Readln(F,V);
for i:=1 to (V+1) do
Readln(F,A);
end
else
begin
Readln(F,A);
label14.Caption:=A; //выводится вопрос
Readln(F,V);
Readln(F,k10);

for m:=1 to V do
begin
Readln(F,A);
Radiogroup10.Items.Add(A); //выводятся варианты ответа
end;
end;
end;
CloseFile(F);

ПО
Петр Осипов

а можно конструктивную критику
1. а нельзя написать вот так
N10:=Random(N-1)+1
2. почему не используете case
3. почему не выделить считывание вопроса в отдельную процедуру
а то читать сей текст тяжко

Похожие вопросы
Не понять в чём проблема Делфи
Вопрос по делфи 7!!!
Делфи, вывод в мемо случайных чисел без повторов из массива. массив от 1 до 35.
вопрос программистом делфи .
очень срочно! ! проблема с делфи
Вопрос по канвасам. Делфи
Вопрос с html в делфи
Каким образом в делфи можно сравнить два файла?
почему делфи так коряво выводит число:
в делфи пишется три числа при нажатие Button выводиться наибольшее, и если число больше 100 тогда выводит, много,