c_login.pas

来自「《delphi数据库设计与实例开发》随书光盘」· PAS 代码 · 共 106 行

PAS
106
字号
unit c_login;

interface

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

type
  Tcfrm_login = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
  i:integer;//密码循环三次
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_login: Tcfrm_login;

implementation
uses publicvar, datam, c_mainform;

{$R *.dfm}

procedure Tcfrm_login.FormCreate(Sender: TObject);
begin

  dm.ADO_user.open;
  dm.ADO_user.Sort:='编号';
  while not dm.ado_user.Eof do
    begin
     Combobox1.items.add(dm.ADO_user.fieldbyname('操作员').AsString);
     dm.ADO_user.Next;
    end;
    Combobox1.ItemIndex:=0
end;

procedure Tcfrm_login.ComboBox1Change(Sender: TObject);
begin
 edit1.Text:='';
 edit1.SetFocus;
end;

procedure Tcfrm_login.BitBtn2Click(Sender: TObject);
begin
  dm.ado_user.Close;
  Application.Terminate;
end;

procedure Tcfrm_login.BitBtn1Click(Sender: TObject);
var
  kl:variant;
  pass:string;
begin
  username:=Combobox1.text;
  kl:=dm.ado_user.lookup('操作员',username,'口令');
  if varisnull(kl) then pass:='' else pass:=kl;
  if edit1.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);
       edit1.text:='';
       edit1.SetFocus();
       exit;
     end;
  dm.ADO_user.Close;
  cfrm_login.hide;
  cfrm_mainform:=tcfrm_mainform.create(application);
  cfrm_mainform.showmodal;
end;

procedure Tcfrm_login.FormActivate(Sender: TObject);
begin
edit1.SetFocus;
end;

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

end.

⌨️ 快捷键说明

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