Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: String aus Datei lesen

  Alt 24. Apr 2013, 11:30
Du könntest die Stringlist in "Unordnung" bringen dann kannst du ganz gemütlich eine Zeile nach der Anderen konsumieren bis die Liste leer ist.

Hier ist die Prozedur, die deine Stringliste mischelt:
Delphi-Quellcode:
// Stringliste zufällig mischen
procedure ShuffleTStrings(s:TStrings);

  procedure FisherYatesShuffle(x:TStrings);
  var
     i : Integer;
  begin
     for i := x.Count-1 downto 1 do
        x.Exchange(i, random(i+1));
  end;

var
   t : TStringList;
begin
   Assert(Assigned(s));
   if s is TStringList then
      FisherYatesShuffle(s)
   else
   begin
      t := TStringList.Create;
      try
         t.Assign(s);
         FisherYatesShuffle(t);
         s.Assign(t);
      finally
         t.Free;
      end;
   end;
end;
Und so kannst du eine Zeile nach der Anderen rausnehmen
Delphi-Quellcode:
function GetFirstLine(list:TStrings):string;
begin
  if list.Count = 0 then
    raise Excepion.Create('Liste ist leer');
  result := list[0];
  list.Delete(0);
end;
  Mit Zitat antworten Zitat