📄 loginut.pas
字号:
unit loginut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Buttons;
type
Tloginfm = class(TForm)
Panel1: TPanel;
loginbt: TSpeedButton;
closebt: TSpeedButton;
GroupBox1: TGroupBox;
Label1: TLabel;
userpasedit: TLabeledEdit;
usernamebox: TComboBox;
ADOQuery: TADOQuery;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure loginbtClick(Sender: TObject);
procedure closebtClick(Sender: TObject);
procedure userpaseditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure usernameboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
loginfm: Tloginfm;
j:integer;
implementation
uses hotelmis;
{$R *.dfm}
procedure Tloginfm.FormCreate(Sender: TObject);
begin
j:=1;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from 操作员表');
open;
if recordcount>0 then
begin
first;
while not eof do
begin
usernamebox.Items.Add(fieldbyname('姓名').AsString);
next;
end;
end
else
showmessage('当前没有用户');
end;
end;
procedure Tloginfm.loginbtClick(Sender: TObject);
begin
if trim(usernamebox.text)='' then
begin
showmessage('请选择用户名!');
userpasedit.SetFocus;
exit;
end;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from 操作员表 where 姓名=:username and 密码=:userpas');
Parameters.ParamByName('username').Value:=trim(usernamebox.text);
Parameters.ParamByName('userpas').Value:=userpasedit.text;
open;
if recordcount<1 then
begin
if j=3 then
application.Terminate;
messagedlg('密码错误!还有'+inttostr(3-j)+'次机会',mtconfirmation,[mbok],0);
userpasedit.Clear;
j:=j+1;
exit;
end
else
begin
if fieldbyname('预定管理').AsBoolean=true then
begin
hotelfm.N1.Enabled:=true;
//mainfm.N62.Enabled:=true;
// mainfm.N63.Enabled:=true;
//mainfm.N65.Enabled:=true;
hotelfm.ToolButton2.Enabled:=true;
hotelfm.ToolButton1.Enabled:=true;
hotelfm.ToolButton6.Enabled:=true;
end
else
begin
hotelfm.N1.Enabled:=false;
//mainfm.N65.Enabled:=false;
//mainfm.N62.Enabled:=false;
//mainfm.N63.Enabled:=false;
hotelfm.ToolButton2.Enabled:=false;
hotelfm.ToolButton1.Enabled:=false;
hotelfm.ToolButton6.Enabled:=false;
end;
if fieldbyname('接待管理').AsBoolean=true then
begin
hotelfm.N7.Enabled:=true ;
//hotelfm.N68.Enabled:=true;
hotelfm.ToolButton3.Enabled:=true;
hotelfm.ToolButton7.Enabled:=true;
end
else
begin
hotelfm.N7.Enabled:=false;
// mainfm.N68.Enabled:=false;
hotelfm.ToolButton3.Enabled:=false;
hotelfm.ToolButton7.Enabled:=false;
end;
if fieldbyname('收银管理').AsBoolean=true then
begin
hotelfm.N17.Enabled:=true;
//mainfm.N73.Enabled:=true;
//mainfm.N69.Enabled:=true;
//mainfm.N71.Enabled:=true;
hotelfm.ToolButton4.Enabled:=true;
hotelfm.ToolButton5.Enabled:=true;
end
else
begin
hotelfm.N17.Enabled:=false;
//mainfm.N73.Enabled:=false;
// mainfm.N69.Enabled:=false;
//mainfm.N71.Enabled:=false;
hotelfm.ToolButton4.Enabled:=false;
hotelfm.ToolButton5.Enabled:=false;
end;
if fieldbyname('报表管理').AsBoolean=true then
begin
hotelfm.N23.Enabled:=true ;
//mainfm.N75.Enabled:=true;
hotelfm.ToolButton8.Enabled:=true;
end
else
begin
hotelfm.N23.Enabled:=false;
// mainfm.N75.Enabled:=false;
hotelfm.ToolButton8.Enabled:=false;
end;
if fieldbyname('基础设置').AsBoolean=true then
begin
hotelfm.N30.Enabled:=true;
//mainfm.N49.Enabled:=true;
hotelfm.ToolButton13.Enabled:=true;
end
else
begin
hotelfm.N30.Enabled:=false;
//hotelfm.N49.Enabled:=false;
hotelfm.ToolButton13.Enabled:=true;
end;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('insert into 日志表(姓名,操作,时间) values(:xm,:cz,:sj)');
Parameters.ParamByName('xm').Value:=trim(usernamebox.text);
Parameters.ParamByName('cz').Value:=loginfm.Caption+'成功!';
Parameters.ParamByName('sj').Value:=datetimetostr(now());
execsql;
end;
hotelfm.id:='操作员';
hotelfm.username:=fieldbyname('姓名').AsString;
hotelfm.userpas:=fieldbyname('密码').AsString;
hotelfm.statusbar.Panels.Items[0].Text:='当前用户:'+hotelfm.username;
loginfm.close;
end;
end;
usernamebox.Text:='';
userpasedit.Text:='';
end;
procedure Tloginfm.closebtClick(Sender: TObject);
begin
if messagedlg('确定退出吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
application.Terminate;
end;
procedure Tloginfm.userpaseditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
loginbt.Click;
if key=27 then
closebt.Click;
if Shift>=[ssAlt] then
showmessage('操作非法!')
end;
procedure Tloginfm.usernameboxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
loginbt.Click;
if key=27 then
closebt.Click;
if Shift>=[ssAlt] then
showmessage('操作非法!')
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -