紧急关于怎么简化下面的代码
紧急求教:关于如何简化下面的代码
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还真没有什么好的办法。
------解决方案--------------------
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还真没有什么好的办法。
------解决方案--------------------