Исходник PswGen by W!z@rD

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by W!z@rD, 4 Sep 2006.

  1. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Воть.... =) Кто заметит ошибку или т.п. сообщите мне.
    И вот просьба (понимаю глупо, но) кто будет основывать свою прогу на моей. сделайте хотя бы намек на это... ;)

    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.
     
  2. Brun

    Brun Elder - Старейшина

    Joined:
    21 Mar 2006
    Messages:
    95
    Likes Received:
    57
    Reputations:
    16
    Такие весчи если даёш, то аттачем (в основном pas, dpr, dfm).
    А для чего писал програмку если не секрет?
     
  3. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    аффтар жжешь. такая прога пишется за 3 минуты.

    но если только учишься то пойдет.
     
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Nex... я новичок... и попросил бы указать на недочеты и т.п.