有一表存放的是菜单的名称
例如:
表A
code MenuName
01 MenuMain_open
02 MenuMain_close
菜单的enabled都等于false
现在我要将enabled都等于true
则:
while not a.eof do
begin
a.FieldByName('MenuName').AsString.enabled:=true;
//这句显然是不行的
end;
请问:有没有什么办法实现这个功能,谢谢
例如:
表A
code MenuName
01 MenuMain_open
02 MenuMain_close
菜单的enabled都等于false
现在我要将enabled都等于true
则:
while not a.eof do
begin
a.FieldByName('MenuName').AsString.enabled:=true;
//这句显然是不行的
end;
请问:有没有什么办法实现这个功能,谢谢
I:INTEGER;
begin
FOR I:=0 TO SELF.MainMenu1.Items.Count-1 DO
BEGIN
SELF.MainMenu1.Items[I].Enabled:=TRUE;
END;
end;
对不起,我写的有些不清楚:
有一表存放的是菜单的名称
例如:
表A
code MenuName Menuqx
01 MenuMain_open 1
02 MenuMain_close 0
菜单的enabled都等于false
现在我要将enabled按条件等于true
则:
while not a.eof do
begin
if a.FieldByName('Menuqx').AsString='1') then
a.FieldByName('MenuName').AsString.enabled:=true;
//这句显然是不行的
end;
请问:有没有什么办法实现这个功能,谢谢
使code和menu的顺序一致,这样用menu.items[i].enabled:=a.FieldByName('Menuqx').asboolean;更高效一点,不然你要根据menu的itemname遍历数据库,效率不高.
begin
if a.FieldByName('Menuqx').AsString='1') then
TMenuItem(self.FindComponent(a.FieldByName('MenuName').AsString)).enabled:=true;
//这样就行了
end;
执行不就行了吗?
给分吧。
我知道你的意思,menu.items[i]跟a.FieldByName('Menuqx')的顺序必须一致
这个条件我满足不了
to yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)
你的代码我试了,过不去
to mingjunlee(包身工)
谢谢你的支持解决后我给大家散分
I:INTEGER;begin
while not a.eof do
begin
if a.FieldByName('Menuqx').AsString='1') then
FOR I:=0 TO SELF.MainMenu1.Items.Count-1 DO
BEGIN
if MainMenu1.Items[I].name=a.FieldByName('Menuname').value then
SELF.MainMenu1.Items[I].Enabled:=TRUE;
END;
end;
end;
我学DELPHI的第五天!
VAR
I:INTEGER;begin
while not a.eof do
begin
if a.FieldByName('Menuqx').AsString='1') then
FOR I:=0 TO SELF.MainMenu1.Items.Count-1 DO
BEGIN
if MainMenu1.Items[I].caption=a.FieldByName('Menuname').value then
SELF.MainMenu1.Items[I].Enabled:=TRUE;
END;
a.next
end;
end;
如果不同应该这样的:
VAR
I:INTEGER;begin
while not a.eof do
begin
FOR I:=0 TO SELF.MainMenu1.Items.Count-1 DO
BEGIN
if a.FieldByName('Menuqx').AsString='1') then
if MainMenu1.Items[I].caption=a.FieldByName('Menuname').value then
SELF.MainMenu1.Items[I].Enabled:=TRUE;
end;
a.next
end;
end;
(你有没有引用menus单元?)
这只是字符串,不是对象当然不行了,你应该动态添加菜单