📄 mmxn.pas
字号:
unit mmxn;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Db, DBTables;
type
Tf_mmxn = class(TForm)
Label1: TLabel;
name_sr: TEdit;
Label2: TLabel;
passwd_sr: TEdit;
GroupBox1: TGroupBox;
xzsb: TRadioButton;
xzyh: TRadioButton;
ok: TBitBtn;
cancel: TBitBtn;
quit: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure okClick(Sender: TObject);
procedure cancelClick(Sender: TObject);
procedure name_srKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure passwd_srKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure xzsbClick(Sender: TObject);
procedure xzyhClick(Sender: TObject);
procedure quitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_mmxn: Tf_mmxn;
pass : integer; //通过标志
i : integer;
implementation
uses jfos, gbv, data, sbgl_ref, yhgl_ref;
{$R *.DFM}
procedure Tf_mmxn.okClick(Sender: TObject);
begin
pass:=0;
with ds_data.Qu_pass do
begin //打开口令数据库
//参数设置
Close;
ParamByName('name').value:=name_sr.Text;
ParamByName('passwd').value:=passwd_sr.Text;
//判断登录方式
if xzsb.Checked then
begin //设备登录
DatabaseName:='sbos';
ds_data.Qu_chpw.DatabaseName:='sbos';
ds_data.Qu_chqx.DatabaseName:='sbos';
end
else
begin //用户登录
DatabaseName:='yhos';
ds_data.Qu_chpw.DatabaseName:='yhos';
ds_data.Qu_chqx.DatabaseName:='yhos';
end;
Open;
//判断是否登录
if RecordCount=1 then
begin //登录成功,并保存初始值
f_gbv.pass_dl.Caption:=DatabaseName;
f_gbv.pass_name.Caption:=FieldByName('name').AsString;
f_gbv.pass_passwd.Caption:=FieldByName('passwd').AsString;
f_gbv.pass_qx.Caption:=FieldByName('qx').AsString;
f_gbv.pass_qxx.Caption:=FieldByName('qxx').AsString;
f_mmxn.quit.Visible:=False;
f_mmxn.cancel.Visible:=True;
pass:=1;
end;
Close; //关闭口令数据库
end;
f_mmxn.Close;
end;
procedure Tf_mmxn.FormClose(Sender: TObject; var Action: TCloseAction);
var qxs : string; //权限字符串
qxl : Boolean; //权限判断
begin
if pass=1 then //通过检查
begin //权限
qxs:=f_gbv.pass_qxx.Caption; //权限字符串
with f_jfos do
begin //权限初始化
for i:=1 to Length(qxs) do
begin
//权限判断
if qxs[i]='1' then qxl:=True else qxl:=False;
case i of
1: menu_glxt_sbgl.Enabled:=qxl;
2: ds_data.Qu_sbgl.RequestLive:=qxl;
3: f_sbgl_ref.xsgb.Enabled:=qxl;
4: menu_glxt_yhgl.Enabled:=qxl;
5: ds_data.Qu_yhgl.RequestLive:=qxl;
6: f_yhgl_ref.xsgb.Enabled:=qxl;
7: menu_glxt_zx.Enabled:=qxl;
8: menu_glxt_exit.Enabled:=qxl;
9: menu_sjxt_yhsj.Enabled:=qxl;
10: menu_sjxt_yysj.Enabled:=qxl;
11: menu_tjxt_sbtj.Enabled:=qxl;
12: menu_tjxt_jftj.Enabled:=qxl;
13: menu_tjxt_clear.Enabled:=qxl;
14: menu_xtsz_szkl.Enabled:=qxl;
15: menu_xtsz_xfsjk.Enabled:=qxl;
end;
end;
end;
end;
if pass=0 then
begin //未通过检查
Application.MessageBox('口令错误,请更改口令。', '错误', Mb_OK);
FormShow(nil);
Action:=caNone;
end
else
begin //放弃注销、注销成功
f_jfos.Enabled:=True;
f_jfos.Show;
end;
end;
procedure Tf_mmxn.FormShow(Sender: TObject);
begin
//初始化按钮
quit.Left:=cancel.Left;
//初始化口令框
name_sr.Text:='';
passwd_sr.Text:='';
name_sr.SetFocus;
end;
procedure Tf_mmxn.cancelClick(Sender: TObject);
begin
//放弃注销
pass:=2;
f_mmxn.Close;
end;
procedure Tf_mmxn.name_srKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//设置焦点
if (Key=13) or (key=40) then passwd_sr.SetFocus;
end;
procedure Tf_mmxn.passwd_srKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//设置焦点
if key=38 then name_sr.SetFocus;
//口令判断
if Key=13 then okClick(nil);
end;
procedure Tf_mmxn.xzsbClick(Sender: TObject);
begin
name_sr.SetFocus;
end;
procedure Tf_mmxn.xzyhClick(Sender: TObject);
begin
name_sr.SetFocus;
end;
procedure Tf_mmxn.quitClick(Sender: TObject);
begin
f_jfos.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -