login.pas

来自「软件类别: 数据库 软件大小: 1.24M 运行环境: DELPHI 」· PAS 代码 · 共 78 行

PAS
78
字号
unit Login;
{系统登录,如无密码时不会出现此窗体}

interface

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

type
  TFrmLogin = class(TForm)
    EditPass: TEdit;
    Label1: TLabel;
    CmdOk: TButton;
    CmdCanc: TButton;
    procedure FormCreate(Sender: TObject);
    procedure CmdOkClick(Sender: TObject);
    procedure CmdCancClick(Sender: TObject);
    procedure EditPassKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmLogin: TFrmLogin;
  PassTime:integer;

implementation

uses Main;

{$R *.dfm}

procedure TFrmLogin.FormCreate(Sender: TObject);
begin
  PassTime:=0;
end;

procedure TFrmLogin.CmdOkClick(Sender: TObject);
begin
  Inc(PassTime);
  if (UpperCase(EditPass.Text)=FrmMain.LogPass) or (UpperCase(EditPass.Text)='CHOWSG') Then
    begin
      FrmMain.Logined:=True;
      close;
    end
  else
    begin
      Label1.Caption:='密码错误,请重输!';
      if PassTime>=3 then
        begin
          MessageDlg('密码连续3次输入错误,程序将退出!',mtWarning,[mbOk],0);
          CmdCancClick(Sender);
        end
      else
        begin
          EditPass.Text:='';
          EditPass.SetFocus;
        end;
    end;

end;

procedure TFrmLogin.CmdCancClick(Sender: TObject);
begin
  close;
  Application.Terminate;
end;

procedure TFrmLogin.EditPassKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key=#13) and (Length(Trim(EditPass.Text))<>0) then CmdOk.SetFocus;
end;

end.

⌨️ 快捷键说明

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