Hallo Stefan,
du kannst dein Problem auch als zufällige Neuanordnung einer gegebenen Menge von Zeichen (Mischen) betrachten:
Delphi-Quellcode:
function Shuffle(const s: string): string;
var
i, iRand: Integer;
cTemp: Char;
begin
Result := s;
for i := Length(Result) downto 2 do
begin
iRand := Succ(Random(i));
cTemp := Result[i];
Result[i] := Result[iRand];
Result[iRand] := cTemp;
end;
end;
Grüße vom marabu