📄 login.~pas
字号:
unit login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,DB,DBTables,comctrls,toolwin,extctrls,buttons;
type
TLogin_Form = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel1: TPanel;
name_Edit: TEdit;
password_Edit: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure FormClose(Sender:TObject;var Action:TCloseAction);
procedure FormKeyPress(Sender: TObject;var Key:char);
procedure PassWord_EditKeyPress(Sender: TObject;var Key:char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
isok:boolean;
{ Public declarations }
end;
var
Login_Form: TLogin_Form;
implementation
uses main;
{$R *.dfm}
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
procedure TLogin_Form.FormClose(Sender:TObject;var Action:TCloseAction);
begin
if isok then
Main_Form.N15.Enabled:=true
else
Main_Form.N11.Enabled:=true;
Action:=caFree;
end;
/////////////////////////////////////////////////////////////////
procedure TLogin_Form.FormKeyPress(Sender: TObject;var Key:char);
begin
if key=#13 then
begin
key:=#0;
PerForm(WM_NEXTDLGCTL,0,0);
end;
end;
/////////////////////////////////////////////////////////////
procedure TLogin_Form.PassWord_EditKeyPress(Sender: TObject;var Key:char);
begin
if key=#13 then BitBtn1.Click;
end;
////////////////////////////////////////////////////////////
procedure TLogin_Form.BitBtn1Click(Sender: TObject);
var
aname,apassword,sqlstr:string;
a,b:integer;
begin
Main_Form.N15.Enabled:=true;
if(Length(Trim(Name_Edit.Text))>0)or(Length(Trim(PassWord_Edit.Text))>0) then
begin
aname:=Trim(Name_Edit.Text);
apassword:=Trim(PassWord_Edit.Text);
sqlstr:='select *from [users] where(用户名='''+aname+''') and (密码='''+apassword+''')';
with TQuery.Create(nil)do
begin
try
SessionName:=Main_Form.Database1.SessionName;
DatabaseName:=Main_Form.Database1.DatabaseName;
Close;
SQL.Clear;
SQL.Add(sqlstr);
Active:=True;
if RecordCount>0 then
begin
TQuery.NewInstance;
sqlstr:='select b.*from [users] a,[qxb] b where(a.用户名='''+aname+''')and(a.密码='''+apassword+''')and(a.用户名=b.用户名)order by b.菜单编号';
Close;
SQL.Clear;
SQL.Add(sqlstr);
Active:=True;
if RecordCount>0 then
begin
First;
while not Eof do
begin
a:=StrToInt(copy(FieldByName('菜单编号').AsString,1,1));
b:=StrToInt(copy(FieldByName('菜单编号').AsString,2,2));
Main_Form.MainMenu1.Items.Items[a].Visible:=true;
Main_Form.MainMenu1.Items.Items[a].Items[b].Visible:=true;
Next;
end;
end;
isok:=true;
Main_Form.N6.Visible:=true;
Login_form.Close;
Main_Form.StatusBar1.Panels[0].Text:='用户'+aname+'登录系统!';
Main_Form.StatusBar1.Panels[1].Text:='登录时间是:'+main_form.getnettime;
Main_Form.dlname:=aname;
end
else begin
ShowMessage('请确认用户名和密码是否正确?');
Name_Edit.SetFocus;
Name_Edit.SelectAll;
end;
finally
Free;
end;
end;
end
else
begin
ShowMessage('请输入用户名和密码!');
Name_Edit.SelectAll;
end;
end;
procedure TLogin_Form.BitBtn2Click(Sender: TObject);
begin
Main_Form.N11.Enabled:=true;
Close;
end;
procedure TLogin_Form.FormCreate(Sender: TObject);
begin
isok:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -