Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#12

Re: Random ohne doppelte Zahlen

  Alt 3. Okt 2008, 14:40
Ich gehe mal davon aus, daß wir 12 Namen haben, die in labelededit1..12 stehen. Dann sähe eine Lösung (analog des Vorschlags von Z4ppy) so aus:

Delphi-Quellcode:
var
  list: TStringList;
  I, N: Integer;
begin
  list := TStringList.Create;
  try
    { Liste mit den Einträgen füllen }
    list.Add(labelededit1.Text);
    ...
    list.Add(labelededit12.Text);
    
    N := list.Count;
    for I:=1 to N do begin
      if list.Count < 2 then
        N := Random(list.Count)
      else
        N := 0;
      memo1.Lines.Add(IntToStr(I) + ':' + list[N]);
      list.Delete(N);
    end;
    Assert(list.Count = 0, 'Liste nicht leer!');
  finally
    list.Free;
  end;
end;
Uwe Raabe
  Mit Zitat antworten Zitat