📄 sys_login.pas
字号:
unit sys_login;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, Grids, DBGrids, Mask, ExtCtrls, jpeg;
type
TFrm_sys_login = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edt_Id: TEdit;
Edt_Name: TEdit;
Medt_passwd: TMaskEdit;
Btn_ok: TButton;
Btn_Cancel: TButton;
Image1: TImage;
procedure FormShow(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure check(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_sys_login: TFrm_sys_login;
implementation
uses sys_dm, sys_global ;
{$R *.DFM}
var
M_passwd: string ;
passwdtimes: integer ;
checkresult : boolean = false ;
procedure TFrm_sys_login.FormShow(Sender: TObject);
begin
with frm_sys_dm.qr_tmp1 do
begin
close;
sql.Clear ;
sql.add('select * from operator');
open;
end;
end;
procedure TFrm_sys_login.FormActivate(Sender: TObject);
begin
checkresult := false ;
passwdtimes := 0 ;
edt_id.text := '' ; edt_name.text := '' ; medt_passwd.text := '';
edt_id.setfocus;
end;
procedure TFrm_sys_login.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frm_sys_dm.qr_tmp1.close ;
if not checkresult then application.Terminate ; // 如果使用鼠标关闭窗口, 则退出
release ;
end;
procedure TFrm_sys_login.check(Sender: TObject);
begin
checkresult := false ; //
if sender = edt_id then
begin
with frm_sys_dm.qr_tmp1 do
begin
first ;
if not locate('id',edt_id.Text,[]) then
begin
application.MessageBox(' 非法编号! ','错误提示', mb_ok+mb_iconstop);
edt_id.SetFocus ;
exit;
end;
// 若编号存在
edt_name.Text := trim(fieldbyname('Gname').asstring) ;
M_passwd := trim(fieldbyname('passwd').asstring) ;
m_system:= fieldbyname('R_system').asstring ; // 权限
m_Card := fieldbyname('R_Card').asstring ; // 权限
m_Report := fieldbyname('R_Report').asstring ; // 权限
edt_name.enabled := false ; // 姓名不需要输入
medt_passwd.SetFocus ;
end;
end;
if sender = medt_passwd then
begin
if trim(medt_passwd.text) <> M_passwd then
begin
application.MessageBox(' 非法口令! ','提示', mb_ok+mb_iconstop);
passwdtimes := passwdtimes+1;
medt_passwd.SetFocus ;
if passwdtimes=4 then application.Terminate ;
exit ;
end;
checkresult := true ; // 如果按回车键登录成功
m_OpName := trim(edt_name.text); // 操作者姓名
btn_ok.click ; // 关闭FORM
end;
end;
procedure TFrm_sys_login.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_escape:
application.Terminate ;
vk_return, vk_down:
selectnext(activecontrol as twincontrol, true, true);
vk_up:
selectnext(activecontrol as twincontrol, false, true);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -