📄 load.pas
字号:
unit Load;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzTabs, ExtCtrls, RzButton, StdCtrls, Mask, RzEdit, RzCmboBx;
type
TLoadForm = class(TForm)
Image1: TImage;
RzEdit1: TRzEdit;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzComboBox1: TRzComboBox;
procedure FormShow(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
//如果登陆成功,则设定用户权限
procedure SetUserPower;
//记下用户登陆记录
procedure UserLanding;
//记下用户退出时的时间
procedure UserExitDate;
private
{ Private declarations }
public
{ Public declarations }
LandingUser : String; //登陆用户名
LandingTime : TDateTime; //登陆时间
Degree : Integer; //登陆编号
end;
var
LoadForm: TLoadForm;
Loads : Integer;
implementation
uses DM, MAIN;
{$R *.dfm}
procedure TLoadForm.FormShow(Sender: TObject);
var
I : integer;
begin
Loads:=1;
RzComboBox1.Items.Clear;
with DM1.ADODataSet11 do try
Open;
First;
for i:=0 to RecordCount-1 do begin
RzComboBox1.Items.Add(FieldByName('用户名').AsString);
next;
end;
except
end;
end;
procedure TLoadForm.RzBitBtn1Click(Sender: TObject);
begin
//检查用户输入的密码是否正确
if RzComboBox1.ItemIndex<0 then begin
messagebox(Handle,'请选择一个正确的用户名!','提示',MB_OK+MB_ICONINFORMATION);
RzComboBox1.SetFocus;
Exit;
end;
with DM1.ADODataSet11 do try
if not Locate('用户名',RzCombobox1.Text,[])then begin
Messagebox(Handle,'找不到该用户名,请检查您选择的用户名是否正确或与管理员联系!','错误',MB_OK+MB_ICONWARNING);
RzComboBox1.SetFocus;
Exit;
end else begin
if (RzEdit1.Text<>FieldByName('密码').AsString) then begin
if loads<3 then begin
Messagebox(Handle,pchar('您输入的密码有误,您还有'+IntToStr(3-Loads)+'次机会重新输入!'),'错误',MB_OK+MB_ICONWARNING);
RzEdit1.SetFocus;
Inc(Loads);
Exit;
end else LoadForm.Close;
end else begin
MainForm.LogoIn:=true;
SetUserPower;
UserLanding;
//记下登陆用户名
LandingUser:=RzCombobox1.Text;
MainForm.RzStatusPane2.Caption:='用户:'+LandingUser;
LoadForm.Close;
end;
end;
except
end;
end;
procedure TLoadForm.SetUserPower;
begin
//设定用户权限
with DM1.ADODataSet11 do try
MainForm.power:=FieldByName('权限管理').AsBoolean;
mainform.password:=FieldByName('修改密码').AsBoolean;
MainForm.print:=FieldByName('打印报表').AsBoolean;
MainForm.DataOut:=FieldByName('导出数据').AsBoolean;
Mainform.BackUp:=FieldByName('备份还原').AsBoolean;
MainForm.Log:=FieldByName('查看日志').AsBoolean;
except
end;
end;
procedure TLoadForm.UserExitDate;
begin
//记下用户退出时间
with DM1.LogData do try
//如果本次登陆记录被删除
if not Locate('Degree',Degree,[])then begin
Append;
FieldByName('LoadDate').AsDateTime:=LandingTime;
FieldByName('UserName').AsString:=LandingUser;
FieldByName('OutDate').AsDateTime:=Now;
UpdateBatch;
end else begin
Edit;
FieldByName('OutDate').AsDateTime:=Now;
UpdateBatch;
end;
except
end;
end;
procedure TLoadForm.UserLanding;
begin
//记录用户登陆记录
with DM1.LogData do try
Append;
FieldByName('LoadDate').AsDateTime:=Now;
FieldByName('UserName').AsString:=RzCombobox1.Text;
LandingTime:=Now;
UpdateBatch;
Degree:=FieldByName('Degree').AsInteger;
Requery;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -