Einzelnen Beitrag anzeigen

ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#1

PINs erzeugen und vergleichen

  Alt 26. Okt 2009, 14:43
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 ...
  Mit Zitat antworten Zitat