我在做一个管理系统,在做到权限这块时,小弟以前没做过,希望高手指点?
我想在access中建表如下:
权限 用户类型
0 系统管理员
1 一般管理员
2 一般用户
小弟自己下了一些原代码,但是调试不成功?代码如下:
procedure TMain_F.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[0].Text := '用户名:'+UserName;
if QX ='0' then
StatusBar1.Panels[1].Text := '用户描述:超级管理员'
else
if QX='1' then
StatusBar1.Panels[1].Text := '用户描述:一般管理员'
else
StatusBar1.Panels[1].Text := '用户描述:一般用户';
end;
procedure TMain_F.FormShow(Sender: TObject);
begin
if QX='2' then
begin
XSRK_N.Enabled:=false; //一般用户菜单上的功能很多不能让他用
TSZL_N.Enabled:=false;
BJSK_N.Enabled:=false;
TSJH_N.Enabled:=false;
QXGL_N.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
ZYHGL_N.Enabled:=false; BJSK_SB.Enabled:=false; //一般用户工具条上的功能很多不能让他用
TSZL_SB.Enabled:=false;
TSJH_SB.Enabled:=false;
XSRK_SB.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
exit;
end
else if QX='1' then
begin
XSRK_N.Enabled:=false; //一般管理员菜单上的有些功能不能让他用
TSZL_N.Enabled:=false;
QXGL_N.Enabled:=false;
ZYHGL_N.Enabled:=false; TSZL_SB.Enabled:=false; //一般管理员工具条上的有些功能不能让他用
XSRK_SB.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
end;小弟就是对其中的QX不明白,到底该怎么设置,在哪里设置不明白?请高手指点?谢谢?
我想在access中建表如下:
权限 用户类型
0 系统管理员
1 一般管理员
2 一般用户
小弟自己下了一些原代码,但是调试不成功?代码如下:
procedure TMain_F.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[0].Text := '用户名:'+UserName;
if QX ='0' then
StatusBar1.Panels[1].Text := '用户描述:超级管理员'
else
if QX='1' then
StatusBar1.Panels[1].Text := '用户描述:一般管理员'
else
StatusBar1.Panels[1].Text := '用户描述:一般用户';
end;
procedure TMain_F.FormShow(Sender: TObject);
begin
if QX='2' then
begin
XSRK_N.Enabled:=false; //一般用户菜单上的功能很多不能让他用
TSZL_N.Enabled:=false;
BJSK_N.Enabled:=false;
TSJH_N.Enabled:=false;
QXGL_N.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
ZYHGL_N.Enabled:=false; BJSK_SB.Enabled:=false; //一般用户工具条上的功能很多不能让他用
TSZL_SB.Enabled:=false;
TSJH_SB.Enabled:=false;
XSRK_SB.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
exit;
end
else if QX='1' then
begin
XSRK_N.Enabled:=false; //一般管理员菜单上的有些功能不能让他用
TSZL_N.Enabled:=false;
QXGL_N.Enabled:=false;
ZYHGL_N.Enabled:=false; TSZL_SB.Enabled:=false; //一般管理员工具条上的有些功能不能让他用
XSRK_SB.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
end;小弟就是对其中的QX不明白,到底该怎么设置,在哪里设置不明白?请高手指点?谢谢?
readersm68(地主)
建议用ActionList组织事件方法,利用菜单或按钮的Action属性来做权限。菜单或按钮会根据Action对应的ActionList中映射的事件方法的enable及visible及caption来控制菜单或按钮的可用不可用,可见不可见,菜单或按钮的caption。
ActionList放在主窗体中,分配的时候列表显示ActionList中Action的name,caption等等。
这个帖子不是已经说过了吗?我的看法是:
QX是一个全局变量(权限的拼音字头)
这个可以在用户登陆窗体
我想是在输入用户名和密码按“确定”的时候判断并对QX赋值的输入用户名和密码后就可以去数据库中查找出用户的具体权限了
然后对QX赋值
楼上的这位大俠具体该怎么做啊
能不能说的具体点啊?小第拜托你拉!!