unit Unit1;
interface
uses
Windows, SysUtils, Forms, Dialogs, Spin, clipbrd, Classes, Controls, StdCtrls;
type
TForm1 =
class(TForm)
PWlaenge: TSpinEdit;
Edit1: TEdit;
Button1: TButton;
CheckBox2: TCheckBox;
CheckBox1: TCheckBox;
CheckBox0: TCheckBox;
Button2: TButton;
CheckBox3: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,i2,zufall : byte;
zahlen,sonder :
array[0..3]
of byte;
PW :
string;
begin
for i2 := 0
to 3
do if TCheckBox(FindComponent('
Checkbox'+inttostr(i2))).Checked
then
begin
setlength(PW,PWlaenge.Value);
for i := 0
to PWlaenge.Value-1
do
begin
zahlen[0] := 48 + random(10);
//Zahlen
zahlen[1] := 65 + random(26);
//Großbuchstaben
zahlen[2] := 97 + random(26);
//Kleinbuchstaben
sonder[0] := 32 + random(16);
sonder[1] := 58 + random(7);
sonder[2] := 91 + random(6);
sonder[3] := 123 + random(4);
zahlen[3] := sonder[random(4)];
//Sonderzeichen
repeat
zufall := random(4);
//welcher Zeichentyp soll gewählt werden
until TCheckBox(FindComponent('
Checkbox'+inttostr(zufall))).Checked;
PW[i] := char(zahlen[zufall]);
end;
edit1.Text := PW;
break;
end;
if i2 = 4
then showmessage('
Zeichensatz auswählen!');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Clipboard.Open;
Clipboard.AsText := edit1.Text;
Clipboard.Close;
end;
initialization
randomize;
end.