Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: "array-Einträge" nicht doppelt auslesen

  Alt 23. Mai 2006, 18:12
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
  Mit Zitat antworten Zitat