editpassword.~pas

来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· ~PAS 代码 · 共 108 行

~PAS
108
字号
unit EditPassword;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TEditPswFrm = class(TForm)
    Panel1: TPanel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Panel2: TPanel;
    Label2: TLabel;
    Edit2: TEdit;
    Panel3: TPanel;
    Label3: TLabel;
    Edit3: TEdit;
    Edit1: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  EditPswFrm:TEditPswFrm;
  Times:integer;
  pwdfile:textfile;
  PwdStr:string;
implementation

{$R *.dfm}

procedure TEditPswFrm.BitBtn1Click(Sender: TObject);
begin
 if RadioButton1.checked=true then
       assignfile(pwdfile,'.\Student.cfg');
 if RadioButton2.checked=true then
       assignfile(pwdfile,'.\Administrator.cfg');
 reset(pwdfile);
 readln(pwdfile,PwdStr);
 closefile(pwdfile);
 Times:=Times+1;
 if edit2.Text=PwdStr then
      begin
         Bitbtn2.Enabled :=true;
         Edit3.Enabled:=True;
         Edit1.Enabled:=True;
      end
 else
     begin
     if MessageDlg('密码输入错误,是否退出?',mtConfirmation,[mbYes,mbNo],0)=mrYes  then close
         else
           begin
             if times<3 then edit2.SetFocus
             else
              begin
               MessageDlg('对不起,密码输入严重错误,请退出!',mtInformation,[mbOk],0);
               Application.Terminate;
              end;
           end;
     end;
end;

procedure TEditPswFrm.FormShow(Sender: TObject);
begin
  Times:=0;
end;

procedure TEditPswFrm.BitBtn3Click(Sender: TObject);
begin
  close;
end;

procedure TEditPswFrm.BitBtn2Click(Sender: TObject);
begin
  if edit3.Text=edit1.Text then
    begin
       if RadioButton1.checked=true then
          assignfile(pwdfile,'.\Student.cfg');
       if RadioButton2.checked=true then
          assignfile(pwdfile,'.\Administrator.cfg');
       ReWrite(pwdfile);
       Writeln(pwdfile,PwdStr);
       closefile(pwdfile);
       ModalResult:=MrOk;
    end
  else
     begin
       Showmessage( '两次的密码输入不一致,请重新输入! ' );
       edit3.text:='000000';
       edit1.text:='111111';
       edit3.SetFocus ;
     end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?