Danke, werde ich auch mal ausprobieren.
Ursprünglich ging es darum, jedem Buchstaben im Alphabet einen anderen zuzuweisen, ohne dass dabei einer doppelt oder mehrfach vorkommt.
Ich poste mal meinen Code (leider noch unkommentiert):
Delphi-Quellcode:
function Alphabet_Neu: String;
var ErlaubteZeichen: array of char;
i, j, zufall: Integer;
zeichen, hilf: Char;
begin
SetLength(ErlaubteZeichen, 26);
for j := 0 to High(ErlaubteZeichen) do
ErlaubteZeichen[j] := chr(ord('A') + j);
for i := 1 to 26 do
begin
zufall := Low(ErlaubteZeichen) +
Random(High(Erlaubtezeichen) - Low(ErlaubteZeichen) + 1);
zeichen := ErlaubteZeichen[zufall];
hilf := ErlaubteZeichen[zufall];
ErlaubteZeichen[zufall] := ErlaubteZeichen[High(ErlaubteZeichen)];
ErlaubteZeichen[High(ErlaubteZeichen)] := hilf;
SetLength(ErlaubteZeichen, 26 - i);
result := result + zeichen + ' ';
end;
end;
procedure TfrmAlphabet.BtnNewAlphabetClick(Sender: TObject);
begin
PnlNeu.Caption := Copy(Alphabet_Neu, 1, length(Alphabet_Neu) - 1);
end;