首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

紧急关于怎么简化下面的代码

2012-02-20 
紧急求教:关于如何简化下面的代码ifSelf.Components[i]isTcxMemothenbegincArrCtlName[0]:TcxMemo(Self.C

紧急求教:关于如何简化下面的代码
if   Self.Components[i]   is   TcxMemo   then
begin
    cArrCtlName[0]:=TcxMemo(Self.Components[i]).Name;
end
else   if   Self.Components[i]   is   TcxLabel   then
begin
    cArrCtlName[0]:=TcxLabel(Self.Components[i]).Name;
end
else   if   Self.Components[i]   is   TMemo   then
begin
    cArrCtlName[0]:=TMemo(Self.Components[i]).Name;
end;
.....
这里cArrCtlName是一个数组,这里如何才能简化掉代码,否则如果我要判断几十个控件,难不成要写几十个if   else?想听听高人的意见。

[解决办法]
cArrCtlName[0]:=Self.Components[i].Name;不就行了,每个控件都有name属性,你管他是什么控件呢
[解决办法]
每个从Components继承下来的组件都有Name,但是如果你要只是判断指定的几类控件,除了写if else还真没有什么好的办法。
[解决办法]

探讨
引用:
cArrCtlName[0]:=Self.Components[i].Name;不就行了,每个控件都有name属性,你管他是什么控件呢

的确,是都有name属性,问题是我不仅仅是赋name的值给数组,还包括Cursor,OnClick(一些其它属性、还有事件)等...

热点排行