📄 unit2.pas
字号:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, DB, DBTables, Common, Buttons;
type
TfmLogin = class(TForm)
Panel1: TPanel;
Image1: TImage;
Edit1: TEdit;
Query1: TQuery;
Button1: TButton;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure EnterSystem;
end;
var
fmLogin: TfmLogin;
implementation
{$R *.dfm}
Uses Unit1,MyClass;
procedure TfmLogin.EnterSystem;
begin
if fmMain.tbCaller.Locate('姓名',ComboBox1.Text,[]) //找到用户名
and(fmMain.tbCaller.FieldByName('密码').AsString=Edit1.Text) then begin
//密码正确,进入系统
if(fmMain.tbCaller.FieldByName('类型').AsString='管理员') then
Caller.LoginType:=ltManager
else
Caller.LoginType:=ltUser;
//Caller.LoginName:=ComboBox1.Text;
Caller.UserName:=fmMain.tbCaller.FieldByName('姓名').AsString;
//设置可显示的数据库表
if(Caller.LoginType=ltManager) then begin
fmMain.tabCaller.Visible:=true;
fmMain.tabCaller.TabVisible:=true;
fmMain.tabRoom.Visible:=true;
fmMain.tabRoom.TabVisible:=true;
fmMain.N12.Enabled:=true; //房间维护
fmMain.N16.Enabled:=true; //用户维护
fmMain.N15.Enabled:=true; //系统设置
end
else begin
fmMain.tabCaller.Visible:=false;
fmMain.tabCaller.TabVisible:=false;
fmMain.tabRoom.Visible:=false;
fmMain.tabRoom.TabVisible:=false;
fmMain.N12.Enabled:=false; //房间维护
fmMain.N16.Enabled:=false; //用户维护
fmMain.N15.Enabled:=false; //系统设置
end;
//进入系统后的初始显示页面
fmMain.PageControl1.ActivePage:=fmMain.tabPlan;
fmMain.Button2.Enabled:=true; //添加
fmMain.Button3.Enabled:=true;
fmMain.Button4.Enabled:=true;
fmMain.Button5.Enabled:=true;
//添加登录记录
fmMain.tbLogInOff.First;
fmMain.tbLogInOff.InsertRecord([Caller.UserName,fmMain.tbCaller.FieldByName('类型').AsString,Now,Now]);
//限制记录条数不超过1000条
if(fmMain.tbLogInOff.RecordCount>1000) then begin
fmMain.tbLogInOff.Last;
fmMain.tbLogInOff.Delete;
end;
SendMessage(Button1.Handle,BM_CLICK,0,0);
end
else
Edit1.Text:='';
Caller.Logined:=true;
end;
procedure TfmLogin.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if(Key=13) then begin
EnterSystem;
end;
end;
procedure TfmLogin.FormShow(Sender: TObject);
var RegistStr,str:string;
begin
//检查注册信息
str:=IntToHex(GetVolumeSerialNumber,8);
if(GetRegistStr<>TransForm(str)) then begin //注册信息不正确
ComboBox1.Enabled:=false;
Edit1.Enabled:=false;
BitBtn1.Enabled:=false;
fmLogin.Caption:='系统登陆(未注册)';
end
else begin
ComboBox1.Enabled:=true;
Edit1.Enabled:=true;
BitBtn1.Enabled:=true;
fmLogin.Caption:='系统登陆';
end;
//查找用户名
fmMain.tbCaller.First;
ComboBox1.Items.Clear;
while not fmMain.tbCaller.Eof do begin
ComboBox1.Items.Add(fmMain.tbCaller.FieldByName('姓名').AsString);
fmMain.tbCaller.Next;
end;
ComboBox1.ItemIndex:=0;
end;
procedure TfmLogin.BitBtn1Click(Sender: TObject);
begin
EnterSystem;
end;
procedure TfmLogin.BitBtn2Click(Sender: TObject);
begin
//Caller.Suspend;
//Caller.Destroy;
Application.Terminate;
end;
procedure TfmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if(not Caller.Logined) then
Application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -