var
qxb:boolean;
qxs:string;
i:integer;
begin
qxs:=query.fiedbyname('qxs').asstring//把权限字符串读入qxs中
for i:=1 to length(qxs) do
if qxs[i]='1' then qxb:=true
else qxb:=false;
menui.n1.enable:=qxb
menui.n2.enable:=qxb
^^^^^^//用0,1确定menu的子菜单(n1,n2...)是否可用
qxb:boolean;
qxs:string;
i:integer;
begin
qxs:=query.fiedbyname('qxs').asstring//把权限字符串读入qxs中
for i:=1 to length(qxs) do
if qxs[i]='1' then qxb:=true
else qxb:=false;
menui.n1.enable:=qxb
menui.n2.enable:=qxb
^^^^^^//用0,1确定menu的子菜单(n1,n2...)是否可用
begin
if ...
menui...
...
end;注意for .. do 的使用方法
menui.n1.enable := qxs[1]='1';
menui.n2.enable := qxs[2]='1';
...
然后 根据取出来的字段长度 来循环
menui.n1.enable:=qxb
menui.n2.enable:=qxb比如你有5位,
它取的只是你最后一个 的qxb ,
然后前面4 个 的qxb 都已经被覆盖了
你想想是吗?
qxb:boolean;
qxs:string;
i:integer;
begin
qxs:=query.fiedbyname('qxs').asstring//把权限字符串读入qxs中
for i:=1 to length(qxs) do
begin
if qxs[i]='1' then qxb:=true
else qxb:=false;
menui.n1.enable:=qxb
menui.n2.enable:=qxb
end