|
发表于 2008-7-17 00:33:43
|
显示全部楼层
做好全部菜单,将全部的visible设为false,每一菜单项的tag设一唯一值,
数据库里设定每一操作员的权限对应的tag值,即可以进入哪个菜单,启动时根据权限
设定菜单visible=true。
以下是相关的代码供参考:
var
i,j:integer;
mi,mi1:TMenuItem;
begin
sql:='SELECT u.id,u.parent_id, s.system_name, s.script FROM user_menus u, system_names s ';
sql:=sql+'where (u.id = s.id) AND u.user_name =:user_name';
_main_Data.q1.Close;
_main_Data.q1.SQL.Clear;
_main_Data.q1.SQL.Add(sql);
_main_Data.q1.Parameters.ParamByName('user_name').Value:=_main_Data.user_name;
_main_Data.q1.Open;
for i:=0 to MainMenu1.Items.Count-1 do
begin
mi:=MainMenu1.Items;
if not _main_Data.q1.Locate('id',mi.Tag,[]) then
mi.Visible:=false
else
mi.Visible:=true;
if mi.Count > 0 then
begin
for j:=0 to mi.Count-1 do
begin
mi1:=mi.Items[j];
if not _main_Data.q1.Locate('id',mi1.Tag,[]) then
mi1.Visible:=false
else
mi1.Visible:=true;
end;
end;
end;
_main_Data.q1.Close; |
评分
-
查看全部评分
|