Hallo Martin,
dein Problem ist im Kern vergleichbar mit der Lottoziehung. Es wäre ungünstig den Zufall dabei an mehr als einer Stelle zu verwenden, indem du Zufallszahlen auf ihre bisherige Verwendung prüfst. Nehme die zufällig gezogene Zahl aus dem Ziehungsvorrat:
Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
rpl: TRandomPickList;
begin
ListBox.Clear;
rpl := TRandomPickList.Create;
rpl.Count := 6;
while rpl.Count > 0 do
ListBox.Items.Add(IntToStr(Succ(rpl.Pick)));
rpl.Free;
end;
Grüße vom marabu