login.pas

来自「图书影碟租赁管理系统」· PAS 代码 · 共 110 行

PAS
110
字号
unit login;

interface

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

type
  TF_login = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    b_ok: TBitBtn;
    b_exit: TBitBtn;
    e_pass: TEdit;
    e_czy: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure e_czyChange(Sender: TObject);
    procedure b_okClick(Sender: TObject);
    procedure b_exitClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure e_passKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    i:integer;//密码循环三次
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_login: TF_login;

implementation

uses datam, main;

{$R *.dfm}

procedure TF_login.FormCreate(Sender: TObject);
begin
   e_czy.Text:='';
   e_pass.Text:='';

end;

procedure TF_login.e_czyChange(Sender: TObject);
begin
  e_pass.Text:='';
  //e_pass.SetFocus;
end;

procedure TF_login.b_okClick(Sender: TObject);
 var
  kl:variant;
  pass,czyname:string;
begin
  czyname:=e_czy.text;
  kl:=dm.ado_user.lookup('操作员',czyname,'口令');
  if varisnull(kl) then pass:='' else pass:=kl;
  if e_pass.text<>pass then
     begin
       i:=i+1;
       if i>=3 then
        begin
        Application.MessageBox(PChar('密码验证错误,拒绝访问!'), PChar('提示'),
        MB_ICONEXCLAMATION);
        Application.Terminate;
        close;
        end;
       application.messagebox(pchar('密码验证错误,重新录入!'),pchar('提示'),
       MB_ICONQUESTION);
       e_pass.text:='';
      // e_pass.SetFocus();
       exit;
     end;
  dm.ADO_user.Close;
  F_login.hide;
  F_main:=TF_main.create(application);
  F_main.showmodal;
end;


procedure TF_login.b_exitClick(Sender: TObject);
begin
 close;
end;


procedure TF_login.FormActivate(Sender: TObject);
begin
  e_czy.SetFocus;
end;

procedure TF_login.e_passKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
   begin
    b_ok.OnClick(b_ok);
   end;
end;

procedure TF_login.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  dm.ado_user.Close;
  Application.Terminate;
end;

end.

⌨️ 快捷键说明

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