📄 main_form.pas
字号:
unit Main_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DB,ADODB, Menus, ComCtrls, ActnList, StdCtrls, XPMenu, jpeg,
ExtCtrls;
type
TMain_F = class(TForm)
MainMenu1: TMainMenu;
XTST_N: TMenuItem;
DL_N: TMenuItem;
ActionList1: TActionList;
XPMenu1: TXPMenu;
XPMenu2: TXPMenu;
N1: TMenuItem;
Panel1: TPanel;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure FormCreate(Sender: TObject);
procedure DL_NClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CheckUser(AUserName , AUserPwd : string);
Procedure ShowIt(Sender:Tobject);
end;
var
Main_F: TMain_F;
implementation
uses share, Enter_Form, QXGL_Form, YHZGL_Form;
var
UserName,UserPwd:string;
{$R *.dfm}
procedure TMain_F.FormCreate(Sender: TObject);
begin
Connect:=TADOConnection.Create(nil);
Connect.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Data.mdb;Persist Security Info=False';
Connect.LoginPrompt:=false;
connect.Connected:=true;
end;
procedure TMain_F.DL_NClick(Sender: TObject);
begin
if Enter_F.ShowModal = mrok then
begin
UserName := Enter_F.ZH_E.Text;
UserPwd := Enter_F.MM_E.Text;
CheckUser(UserName,UserPwd);
end;
end;
procedure TMain_F.CheckUser(AUserName , AUserPwd : string);
var
YHDL_Q,YHGNB_Q,ZCD_Q: TADOQuery;
GNB_T :TADOTable;
i,s:integer;
menu:TMenuItem ;
begin
try
YHDL_Q := TADOQuery.Create(nil);
YHDL_Q.Connection := Connect;
YHDL_Q.SQL.Add('select * from 用户表 where 帐号=:帐号');
YHDL_Q.Parameters.ParamByName('帐号').Value := AUserName;
YHDL_Q.Open;
if YHDL_Q.RecordCount = 0 then
begin
MessageDlg('帐户名错误',mtError,[mbok],0);
Exit;
end
else begin
if YHDL_Q.FieldByName('密码').AsString <> AUserPwd then
begin
MessageDlg('用户口令错误',mtError,[mbok],0);
Exit;
end
else begin
GNB_T:= TADOTable.Create(nil);
GNB_T.Connection := Connect;
GNB_T.TableName:='功能表';
GNB_T.Open;
YHGNB_Q := TADOQuery.Create(nil);
YHGNB_Q.Connection := Connect;
YHGNB_Q.SQL.Add('select 功能号 from 用户功能表 where 帐号=:帐号');
YHGNB_Q.Parameters.ParamByName('帐号').Value :=AUserName;
YHGNB_Q.Open;
ZCD_Q := TADOQuery.Create(nil);
ZCD_Q.Connection := Connect;
ZCD_Q.SQL.Add('select 功能名 from 主菜单');
ZCD_Q.Open;
while not ZCD_Q.Eof do
begin
menu:=TMenuItem.Create(self);
menu.Caption:=ZCD_Q.FieldValues['功能名'];
MainMenu1.Items.Add(menu);
ZCD_Q.Next;
end;
for i:=1 to YHGNB_Q.RecordCount do
begin
GNB_T.Locate('功能号',YHGNB_Q.FieldValues['功能号'],[]);
s:=strtoint(GNB_T.FieldValues['父菜单号']);
menu:=TMenuItem.Create(self);
menu.Caption:=GNB_T.FieldValues['功能名'];
MainMenu1.Items[s].Add(menu);
menu.OnClick:=ShowIt;
YHGNB_Q.Next;
end;
XPMenu1.Active:=true;
DL_N.Enabled:=false;
end;
end;
except
MessageDlg('连接数据库出错',mtError,[mbok],0);
end;
FreeAndNil(YHDL_Q);
FreeAndNil(YHGNB_Q);
FreeAndNil(ZCD_Q);
FreeAndNil(GNB_T);
end;
Procedure TMain_F.ShowIt(Sender:Tobject);
begin
With Sender as TmenuItem do
begin
if caption='权限管理' then
with TQXGL_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='用户组管理' then
with TYHZGL_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
end;
end;
procedure TMain_F.FormDestroy(Sender: TObject);
begin
connect.Connected:=false;
end;
procedure TMain_F.N1Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -