ulogin.pas

来自「一个通讯录源码」· PAS 代码 · 共 77 行

PAS
77
字号
unit uLogin;

interface

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

type
  TLoginFrm = class(TForm)
    EditPass: TEdit;
    Label1: TLabel;
    OKBtn: TButton;
    CancelBtn: TButton;
    procedure FormCreate(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure EditPassKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  LoginFrm: TLoginFrm;
  PassTime: Integer;

implementation

uses uInfoCard;

{$R *.dfm}

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

procedure TLoginFrm.OKBtnClick(Sender: TObject);
begin
  Inc(PassTime);
  if (UpperCase(EditPass.Text) = InfoCardFrm.LoginPass) or (UpperCase(EditPass.Text)='DELPHI') Then
    begin
      InfoCardFrm.IsLogined := True;
      Close;
    end
  else
    begin
      Label1.Caption := '密码错误,请重输!';
      if PassTime >= 3 then
        begin
          MessageDlg('密码连续3次输入错误,程序将退出!',mtWarning,[mbOk],0);
          CancelBtnClick(Sender);
        end
      else
        begin
          EditPass.Text := '';
          EditPass.SetFocus;
        end;
    end;

end;

procedure TLoginFrm.CancelBtnClick(Sender: TObject);
begin
  Close;
  Application.Terminate;
end;

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

end.

⌨️ 快捷键说明

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