请教各位大神一个遍历控件的问题,谢谢

葫芦老四 葫芦老四 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位大侠:
小弟菜鸟,在这里问个小问题,求大神们点化一下:
下面这张图片是我用遍历控件的方式将控件的文本属性清空,实现没有问题,功能也可以


但因为每个窗体都会用到这个功能,我想写到公共模块中,所以就写成了下面这张图片的样子,但写成这样后功能就不能实现了,请问下问题出在哪里啊



------------------------------------------------------------------------------------------
下面是代码:



//这段代码是写在窗体单元中的,可以实现功能
procedure TFrmMeterielList.CompClear;
var
i:Integer;
begin
for i:=0 to ComponentCount - 1 do
begin
if (Components[i]) is TEdit then
begin
(Components[i] as TEdit).Text:=''
end;

if (Components[i]) is TMemo then
begin
(Components[i] as TMemo).Text:=''
end;

if (Components[i]) is TComboBox then
begin
(Components[i] as TComboBox).Text:='' ;
(Components[i] as TComboBox).ItemIndex:= (Components[i] as TComboBox).Items.IndexOf('');
end;

end;

end;


//下面这段代码是写在公共单元中的,不能实现功能
procedure CompTxtClear(MyForm:TForm);
var
i:Integer;
begin
for i:=0 to MyForm.ComponentCount - 1 do
begin

if MyForm.Components[i] is TEdit then
begin
(MyForm.Components[i] as TMemo).Text:=''
end;

if MyForm.Components[i] is TMemo then
begin
(MyForm.Components[i] as TMemo).Text:=''
end;

if MyForm.Components[i] is TComboBox then
begin
(MyForm.Components[i] as TComboBox).Text:='' ;
(MyForm.Components[i] as TComboBox).ItemIndex:= (MyForm.Components[i] as TComboBox).Items.IndexOf('');
end;

end;

end;
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
葫芦老四
Delphi 5,944 成员 262,941 内容