📄 loginunit.pas
字号:
unit LoginUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TLoginForm = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Bevel1: TBevel;
Label3: TLabel;
procedure Edit3Enter(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
FNumber: Integer;
procedure WMNcActivate(var Msg: TMessage); message WM_NCACTIVATE;
protected
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public declarations }
LoginFlag: Boolean;
end;
var
LoginForm: TLoginForm;
implementation
uses MainUnit, ShareUnit;
{$R *.dfm}
procedure TLoginForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.WndParent := 0;
end;
procedure TLoginForm.WMNcActivate(var Msg: TMessage);
begin
if not LongBool(Msg.WParam) then
begin
Edit2Exit(nil);
Msg.Result := 1;
end;
inherited;
end;
procedure TLoginForm.Edit3Enter(Sender: TObject);
begin
if Edit2.MaxLength = 0 then
begin
Edit2.MaxLength := 16;
Edit2.Text := TheMainForm.ProcessPassword('Edit2', Edit2.Text, True);
end;
Edit2.SetFocus;
TEdit(Sender).Visible := False;
end;
procedure TLoginForm.Edit2Exit(Sender: TObject);
begin
Edit3.Visible := True;
if Edit2.MaxLength = 16 then
begin
Edit2.MaxLength := 0;
Edit2.Text := TheMainForm.ProcessPassword('Edit2', Edit2.Text);
end;
end;
procedure TLoginForm.FormCreate(Sender: TObject);
begin
Caption := '登录' + Application.Title;
Icon.Assign(Application.Icon);
FNumber := 0;
LoginFlag := False;
end;
procedure TLoginForm.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
procedure TLoginForm.Button1Click(Sender: TObject);
var
TempString: string;
begin
TempString := Edit2.Text;
if Edit2.MaxLength = 0 then
TempString := TheMainForm.ProcessPassword('Edit2', Edit2.Text, True);
LoginFlag := TheMainForm.Login(Edit1.Text, TempString);
FNumber := FNumber + 1;
if LoginFlag or (FNumber = 3) then
Close
else begin
Label3.Caption := '您还有' + IntToStr(3 - FNumber) + '次机会!';
if not Label3.Visible then
Label3.Visible := True;
end;
end;
procedure TLoginForm.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TLoginForm.Edit1Change(Sender: TObject);
begin
if not Button1.Enabled and (TEdit(Sender).Text <> '') then
Button1.Enabled := True
else
if TEdit(Sender).Text = '' then
Button1.Enabled := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -