📄 ulogin.pas
字号:
unit Ulogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, DB, ADODB;
type
Tloginfrm = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Btlogin: TBitBtn;
Bitclose: TBitBtn;
Label1: TLabel;
cbuser: TComboBox;
Label2: TLabel;
Editpass: TEdit;
Label3: TLabel;
Timer1: TTimer;
Timer2: TTimer;
adouser: TADOQuery;
procedure Timer1Timer(Sender: TObject);
procedure BitcloseClick(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure BtloginClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
loginfrm: Tloginfrm;
count:integer;
implementation
uses UDM, UMain;
{$R *.dfm}
procedure Tloginfrm.Timer1Timer(Sender: TObject);
begin
//使标签从右到左移动,以此循环
label3.Left :=label3.Left -20;
if label3.Left <=-label3.Width then
label3.Left:=loginfrm.Width;
end;
procedure Tloginfrm.BitcloseClick(Sender: TObject);
begin
application.Terminate; //结束本程序
end;
procedure Tloginfrm.Timer2Timer(Sender: TObject);
begin
label3.Font.Color:=random(350000); //使标签3的字体颜色不断改变
end;
procedure Tloginfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
loginfrm.Close;
end;
procedure Tloginfrm.FormCreate(Sender: TObject);
begin
//copyfile(pchar(extractfilepath(paramstr(0))+'3of9.TTF'),pchar('C:\WINDOWS\Fonts'),false);
count:=1;
cbuser.Items.Clear ;
with dm.adouser do
begin
close;
sql.Clear;
sql.Add('select * from users');
open;
end;
dm.adouser.First;
while not dm.adouser.Eof do
begin
cbuser.Items.Add(dm.adouser.Fieldbyname('username').AsString);
dm.adouser.Next;
end;
end;
procedure Tloginfrm.BtloginClick(Sender: TObject); //登陆代码
begin
if cbuser.Text <>'' then
begin
with dm.adouser do
begin
close;
sql.Clear;
sql.Add('select * from users where username=:xm and password=:mm');
parameters.ParamByName('xm').Value:=trim(cbuser.Text);
parameters.ParamByName('mm').Value:=trim(editpass.Text);
open;
end;
if dm.adouser.RecordCount>0 then //登陆成功的条件
begin
loginfrm.Close; //关闭登陆窗体
Mainfrm.Show; //打开主窗体展示在最前面
//copyfile(pchar(extractfilepath(application.ExeName)+'3of9.TTF'),'C:\WINDOWS\Fonts\3of9.TTF',false);
// copyfile(pchar(extractfilepath(paramstr(0))+'3of9.TTF'),pchar('C:\WINDOWS\Fonts'),false);
end
else
begin
inc(count);
messagebox(handle,'密码错误','系统提示',mb_iconerror+mb_ok);
if count>3 then
begin
messagebox(handle,'密码错误','您的登陆次数已超过三次',mb_iconwarning+mb_ok);
application.Terminate;
end;
editpass.Clear;
editpass.SetFocus;
end;
end
else
begin
messagebox(handle,'请选择用户名','系统提示',mb_iconwarning+mb_ok);
cbuser.SetFocus;
end;
end;
procedure Tloginfrm.FormShow(Sender: TObject);
begin
copyfile(pchar(extractfilepath(application.ExeName)+'3of9.TTF'),'C:\WINDOWS\Fonts\3of9.TTF',false);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -