在delphi中,我要向某函数同时传递一批不同类型的控件,比如TEDIT、TButton、Tcheckbox控件,怎么传递

补充一下:我要向aaa函数传递aaa([edt1,btn1,chk1],visible,true),函数就这三个参数,怎么实现,而且第一个参数可变,要求aaa函数实现以下... 补充一下:我要向aaa函数传递aaa([edt1,btn1,chk1],visible,true),函数就这三个参数,怎么实现,而且第一个参数可变,
要求aaa函数实现以下功能:
edt1.visible :=true;
btn1.visible :=true;
chk1.visible :=true;

就是我代码中很多以下这样的赋值,我想我调用一个函数比如我要设置它的visible属性或者enbled属性,我就以aaa([edt1,btn1,chk1],visible,true)传到子函数,这样不是很方便啊,也减少代码书写啊。
edt1.Visible := True;
edt1.Enabled := True;
lbl1.Visible := True;
txtCashUnit.Visible := True;
edt2.Visible := True;
edt2.Enabled := False;
lbl2.Visible := True;
txt2.Visible := True;
chk1.Visible :=False;
ckh2.Visible := True;
cbbUnDone.Visible := False;
lblUnDone.Visible := False;
展开
 我来答
liu55721
2012-09-09 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:871万
展开全部
在函数参数表中写上(ed:Tedit;bt:Tbutton;ckbx:Tcheckbox);就行
更多追问追答
追问
可是我不仅仅是这样啊,你看我的补充
追答
你这个函数的作用(功能)是什么?
如果要对一组界面已经存在的控件的属性进行设置,直接写一个过程就行了,如果要进行动态设置,比如有时候需要这些组件不显示,有时候又要它显示,有时候要全部显示,有时候要部分显示,那就根据需要写几个过程,然后在根据需要调用这些过程。不需要传递什么参数的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
owl_chs
2012-09-09
知道答主
回答量:12
采纳率:0%
帮助的人:1.4万
展开全部
函数原型就应该是 AAA(OBJCT : TOBJECTLIST;PROPERTY : STRING ;VALUE:STRING);
然后根据rtti判断每个OBJECT时候有PROPERTY这个属性,然后再设置值
追问
问题是我要同时传递三个不同类型的控件,你这样怎么实现呢,能说的具体一点不,或者给我个例子,谢谢哦
追答
行不通吧
这等于将语句这样写:
btn1.‘visible’ :=‘true’;
这不报错吗?

我从来都没有说直接用btn1.‘visible’ :=‘true’;这样直接赋值
而是根据rtti判断每个OBJECT的TRttiPropertys有没有PROPERTY这个属性
直接用TRttiPropertys[i].value来赋值就可以了的呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式