Hallo,
ich möchte PINs, deren Länge und Anzahl ich frei bestimmen kann, erzeugen und anschließend vergleichen, damit kein PIN zweimal vorkommt.
Das Erzeugen ist schon erledigt. Aber wie vergleiche ich die PINs am besten. Wenn ich sie in ein dyn.Array schreibe, wird das Array dann nicht zu groß, wenn ich einige tausend PINs erzeuge?
Wie gehe ich am elegantesten an die Sache?
Hier der Code, mit dem ich die PINs erzeuge und in eine PIN-Liste (Text_Datei) schreibe:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;
function RandPW(iPWLen: Integer): String;
var
sPW: string;
begin
sPW := 'abcdefghijklmnopqrstuvwxyz123456789';
Result := '';
repeat
Result := Result + sPW[Random(Length(sPW)) + 1];
until
(Length(Result) = iPWLen);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Speicherort.Execute then
begin
AssignFile(Text_Datei,Speicherort.FileName);
ReWrite(Text_Datei);
for i := 1 to StrToInt(EditAnzahl.Text) do
begin
PIN := RandPW(StrToInt(EditLaenge.Text));
WriteLn(Text_Datei, PIN);
end;
CloseFile(Text_Datei);
StatusBar1.Panels[0].Text := 'Pins sind erzeugt!';
end;
end;
end.
Es gibt keine dummen Fragen ...