问题描述:我现在使用开发工具为:DELPHI6.0,SQL2000,做一个酒店管理系统!
现在老板要求我把权限设置为:把权限放到每个FORM,也就是,把权限设置为以下几种条件:
1:对某个窗口根本没有权限。所以就直接不能SHOW;
2,对某个窗口有查看的权限。所以窗口上的能对数据进行添加,修改,删除的按钮要不能用。
3,对某个窗口有读写权限。所以就不加限制。
请教各位的程序设置思路?
现在老板要求我把权限设置为:把权限放到每个FORM,也就是,把权限设置为以下几种条件:
1:对某个窗口根本没有权限。所以就直接不能SHOW;
2,对某个窗口有查看的权限。所以窗口上的能对数据进行添加,修改,删除的按钮要不能用。
3,对某个窗口有读写权限。所以就不加限制。
请教各位的程序设置思路?
http://community.csdn.net/Expert/topic/3019/3019738.xml?temp=.4417536
http://community.csdn.net/Expert/topic/2964/2964348.xml?temp=1.076907E-02
我的观点:
先建几张表,比如说:一张用户信息表(包含权限ID),一张权限表(就是如管理员,普通用户之类的),一张菜单表,一张权限和菜单关系表。
权限表和菜单表有两个字段分别为(ID,Name)。
然后在Form的菜单中每个菜单都设一个tag值,把tag值对应到表里的菜单ID上,菜单项再关联到ActionList上(或者也可以直接设置Action的Tag)。再给个示例:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TMenuItem then
if pos('-' + IntToStr(Components[i].Tag) + '-', s) > 0 then
TMenuItem(Components[i]).Visible := True;
end;细致的工作留给你了,自己研究一下吧!