Herzlich willkommen in der Delphi-PRAXiS.
Hier noch eine Alternative: wenn du statt eines Arrays eine StringList verwendest, dann könntest du deine Fragen einfach per LoadFromFile() einlesen, per Index auf die einzelnen Fragen und Antworten zugreifen und auch verbrauchte Fragen löschen.
Delphi-Quellcode:
var
s: TStringList;
i: Integer;
fn: TFileName;
begin
fn := 'FragenAusDemTierreich.txt';
s := TStringList.Create;
with s do
begin
LoadFromFile(fn);
while Count > 0 do
begin
i := Random(Count);
ShowMessage(Format('', [Names[i], ValueFromIndex[i]]));
Delete(i);
end;
Free;
end;
end;
Für ein Array müsstest du dir eine Prozedur schreiben, die das verbrauchte Element durch Zusammenschieben der restlichen Elemente entfernt und die Zahl der Elemente im Array verringert.
Freundliche Grüße vom marabu