Воть.... =) Кто заметит ошибку или т.п. сообщите мне. И вот просьба (понимаю глупо, но) кто будет основывать свою прогу на моей. сделайте хотя бы намек на это... unit untMain; interface uses Windows, Forms, Menus, StdCtrls, Controls, ComCtrls, ExtCtrls, Classes; type TfrmMain = class(TForm) ListBox1: TListBox; Label1: TLabel; length_e: TEdit; Timer1: TTimer; StatusBar1: TStatusBar; Button1: TButton; GroupBox1: TGroupBox; PopupMenu1: TPopupMenu; sym: TCheckBox; num: TCheckBox; GroupBox2: TGroupBox; let: TCheckBox; up: TCheckBox; down: TCheckBox; GroupBox3: TGroupBox; users: TCheckBox; Edit2: TEdit; gettime: TCheckBox; gentime: TEdit; Label2: TLabel; Button2: TButton; passw: TEdit; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; function Gen(LN:integer):string; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure usersClick(Sender: TObject); procedure Button2Click(Sender: TObject); procedure letClick(Sender: TObject); procedure N7Click(Sender: TObject); private { Private declarations } public syms:string; end; const table1='0123456789'; table2='qwertyuiopasdfghjklzxcvbnm'; table3='QWERTYUIOPASDFGHJKLZXCVBNM'; table4='/?\|[]{}~`!@#$%^&*()_+=-'; var frmMain: TfrmMain; implementation {$R *.dfm} function StrToInt(const s:string):integer; var e:Integer; begin val(s,result,e); end; function IntToStr(i:Integer):string; begin str(i,Result); end; function TfrmMain.Gen(LN:integer):string; begin randomize; if syms<>''then begin result:=''; repeat result:=result+syms[random(length(syms))+1]; until(length(result)=LN); passw.Text:=result; listbox1.Items.Add(passw.Text); StatusBar1.SimpleText:='Паролей в листе '+IntToStr(ListBox1.Items.Count); end else MessageBox(0,'Что использовать?','Error',0) end; procedure TfrmMain.Button1Click(Sender: TObject); begin syms:=''; if num.Checked=true then syms:=syms+table1; if sym.Checked=true then syms:=syms+table4; if users.Checked=true then syms:=syms+edit2.Text; if let.Checked=true then begin if up.Checked=true then syms:=syms+table3; if down.Checked=true then syms:=syms+table2; end; if gettime.Checked=true then begin timer1.Interval:=StrToInt(gentime.Text); timer1.Enabled:=true; end else gen(StrToInt(length_e.Text)); end; procedure TfrmMain.Timer1Timer(Sender: TObject); begin button1.Enabled:=false; button2.Enabled:=true; groupbox1.Enabled:=false; gen(StrToInt(length_e.Text)); length_e.Enabled:=false; Application.ProcessMessages; end; procedure TfrmMain.N1Click(Sender: TObject); begin ListBox1.Clear; end; procedure TfrmMain.N2Click(Sender: TObject); begin ListBox1.Items.SaveToFile('Table.txt'); end; procedure TfrmMain.N3Click(Sender: TObject); begin ListBox1.DeleteSelected; end; procedure TfrmMain.N5Click(Sender: TObject); begin close; end; procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); begin timer1.Enabled:=false; end; procedure TfrmMain.FormDestroy(Sender: TObject); begin timer1.Enabled:=false; end; procedure TfrmMain.usersClick(Sender: TObject); begin edit2.Enabled:=users.Checked; end; procedure TfrmMain.Button2Click(Sender: TObject); begin timer1.Enabled:=false; button1.Enabled:=true; button2.Enabled:=false; GroupBox1.Enabled:=true; end; procedure TfrmMain.letClick(Sender: TObject); begin up.Enabled:=let.Checked; down.Enabled:=let.Checked; end; procedure TfrmMain.N7Click(Sender: TObject); var s:string; begin s:='Coding by: W!z@rD'; MessageBox(0,pchar(s),'About',0) end; end.
Такие весчи если даёш, то аттачем (в основном pas, dpr, dfm). А для чего писал програмку если не секрет?