📄 p_password.pas
字号:
unit p_password;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, jpeg, XPMenu;
type
Tf_password = class(TForm)
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
e_password: TEdit;
Image1: TImage;
b_ok: TSpeedButton;
b_cancel: TSpeedButton;
e_user: TDBLookupComboBox;
XPMenu1: TXPMenu;
procedure qx; //自定义过程---登陆时用户的权限设置
procedure b_okClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure b_cancelClick(Sender: TObject);
procedure E_USEKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure e_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure e_userKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject); //检测系统日期时间
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_password: Tf_password;
user_name:string; //全局变量,保存登陆系统的用户名
implementation
uses p_mc,p_gl,P_DM,p_xz;
{$R *.dfm}
procedure tf_password.qx; //自定义过程---登陆时用户的权限设置
var
n:integer;
xz:boolean; //该权限是否选择
begin
with dm,f_gl do
begin
t_qx.Filter:='user_name='''+user_name+'''';
t_qx.Filtered:=true;
t_qx.First;
while not t_qx.eof do
begin
n:=t_qx['menu_id'];
xz:=t_qx['menu_xz'];
case n of
1: if xz then N1.Enabled:=true else N1.Enabled:=false;
2: if xz then n2.Enabled:=true else n2.Enabled:=false;
3: if xz then n3.Enabled:=true else n3.Enabled:=false;
5: if xz then n5.Enabled:=true else n5.Enabled:=false;
6: if xz then n6.Enabled:=true else n6.Enabled:=false;
14: if xz then n14.Enabled:=true else n14.Enabled:=false;
// 15: if xz then n15.Enabled:=true else n15.Enabled:=false;
end; //case 语句完毕
t_qx.Next;
end; //while 语句完毕
end; //with dm do 完毕
end;
procedure Tf_password.b_okClick(Sender: TObject);
begin
f_password.Hide;
f_gl.Show;
end;
procedure Tf_password.SpeedButton1Click(Sender: TObject);
begin
//确认用户密码、权限的合法性
with dm do
begin
t_user.Filter:='name='''+e_user.KeyValue+'''';
t_user.Filtered:=true;
user_name:=t_user['name'];//记录登陆用户用户名
if (e_user.KeyValue=t_user['name'])and(e_password.Text=t_user['password']) then
begin
f_password.Hide;
f_gl.Show;
f_gl.ZT.Panels[2].Text:='操作员: '+t_user['name'];
f_password.qx; //调用用户的权限过程
t_user.Filtered:=false;
if dm.T_dl['xz'] then
Application.CreateForm(Tf_xz, f_xz);
end
else
begin
t_user.Filtered:=false;
f_password.e_password.Text:='';
application.MessageBox('您输入的用户或口令有误,注意大小写!','提示',mb_ok+mb_iconinformation);
end;
//endif
end;
end;
procedure Tf_password.b_cancelClick(Sender: TObject);
begin
close;
end;
procedure Tf_password.E_USEKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then e_password.SetFocus;
end;
procedure Tf_password.e_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then b_ok.Click;
end;
procedure Tf_password.e_userKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then e_password.SetFocus;
end;
procedure Tf_password.FormCreate(Sender: TObject);
begin
//加入系统数据库初始化信息
with dm do
begin
try
//系统初始化信息
ado.Connected:=true;
t_user.Open;
t_menu.Open;
t_qx.Open;
T_DL.Open;
T_KCBIAO.Open;
T_XUEQI.Open;
T_BANJI.Open;
T_JIAOSHI.Open;
T_KECHENG.Open;
Q_KCB.Open;
Q_XQ.Open;
e_user.KeyValue:='SYSTEM';
//系统初始化完毕
except
application.MessageBox('请保证ODBC数据源连接成功或与系统管理员联系!','数据库连接错误',mb_ok+mb_iconstop);
application.Terminate;
end;//try_end
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -