📄 login.pas
字号:
unit login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, IniFiles;
type
Tflogin = class(TForm)
img: TImage;
Label1: TLabel;
tb_name: TEdit;
Label2: TLabel;
tb_pwd: TEdit;
btn_ok: TLabel;
btn_exit: TLabel;
lbl_title: TLabel;
lbl_info: TLabel;
procedure btn_okMouseLeave(Sender: TObject);
procedure btn_okMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure btn_exitMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure btn_exitMouseLeave(Sender: TObject);
procedure btn_exitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure tb_nameKeyPress(Sender: TObject; var Key: Char);
procedure tb_pwdKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure btn_okClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
flogin: Tflogin;
implementation
uses dm, main;
{$R *.dfm}
procedure Tflogin.btn_okMouseLeave(Sender: TObject);
begin
btn_ok.Font.Color := clNavy;
end;
procedure Tflogin.btn_okMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
btn_ok.Font.Color := clRed;
end;
procedure Tflogin.btn_exitMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
btn_exit.Font.Color := clRed;
end;
procedure Tflogin.btn_exitMouseLeave(Sender: TObject);
begin
btn_exit.Font.Color := clNavy;
end;
procedure Tflogin.btn_exitClick(Sender: TObject);
begin
Close;
end;
procedure Tflogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
procedure Tflogin.FormShow(Sender: TObject);
var
myini:TIniFile;
begin
myini := TIniFile.Create(pchar(ExtractFilePath(Application.ExeName))+'inc\set.ini');
FLOGIN.tb_name.Text := myini.ReadString('config','user','');
myini.Free;
lbl_title.Caption := Application.Title;
if fdm.conn.Connected then
lbl_info.Caption := '数据库连接成功!'
else
begin
lbl_info.Caption := '数据库连接失败!';
tb_name.Enabled := false;
tb_pwd.Enabled := false;
btn_ok.Enabled := false;
tb_name.Visible := false;
tb_pwd.Visible := false;
btn_ok.Visible := false;
Label1.Visible := false;
Label2.Visible := false;
end;
if (tb_name.Text <> '') and tb_name.Visible then
tb_pwd.SetFocus;
end;
procedure Tflogin.tb_nameKeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) and (tb_name.Text<>'') then tb_pwd.SetFocus
else if key=#27 then btn_exitClick(Sender);
end;
procedure Tflogin.tb_pwdKeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) and (tb_pwd.Text<>'') then btn_okClick(Sender)
else if Key=#27 then btn_exitClick(Sender);
end;
procedure Tflogin.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then btn_exitClick(Sender);
end;
procedure Tflogin.btn_okClick(Sender: TObject);
var
myini : TIniFile;
id : integer;
id2 : integer;
begin
with fdm do
begin
q.Close();
q.SQl.Text := 'select id from [user] where flag=0 and name='+AnsiQuotedStr(Trim(tb_name.Text),#39);
try
q.Open();
if not q.Eof then
id := Q.FieldValues['id']
else
id := 0;
except
id := 0;
end;
q.Close();
if id<>0 then
begin
q.SQL.Text := 'select count(1) as cnt from [user] where flag=0 and id='+IntToStr(id)+' and pwd='+AnsiQuotedStr(Trim(tb_pwd.Text),#39);
try
q.Open();
if not q.Eof then
id2 := q.FieldValues['cnt']
else
id2 := 0;
except
id2 := 0;
end;
if id2=1 then
begin
fmain.str[4] := pchar(ExtractFilePath(Application.ExeName))+'inc\';
myini := TiniFile.Create(fmain.str[4]+'set.ini');
if myini.ReadString('config','user','')<>tb_name.Text then
myini.WriteString('config','user',tb_name.Text);
if myini.ReadString('config','save','')<>'' then fmain.str[3] := 'OK' else fmain.str[3] := '';
if myini.ReadString('config','print','')<>'' then fmain.str[5] := 'OK' else fmain.str[5] := '';
myini.Free;
fmain.str[1] := tb_name.Text;
fmain.sb.Panels[2].Text := '操作员:'+tb_name.Text;
fmain.str[2] := IntToStr(id);
FMAIN.Show();
hide();
end
else
begin
ShowMessage('您所输入的密码错误,'+#13#10+'请重新输入!');
tb_pwd.Text := '';
tb_pwd.SetFocus;
end;
end
else
ShowMessage('您所输入的用户名错误,'+#13#10+'请重新输入!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -