一个form上有2个panel,每个panel上有20个edit,我不想一个一个的去写,请教
如何以最有效的方法清空panel1上的20个edit中的内容,而不清空panel2上的20个edit中的内容
如何以最有效的方法判断panel1上的20均不为空,而不去判断panel2上的20个edit是否为空
如何以最有效的方法清空panel1上的20个edit中的内容,而不清空panel2上的20个edit中的内容
如何以最有效的方法判断panel1上的20均不为空,而不去判断panel2上的20个edit是否为空
解决方案 »
- 如何让delphi的dbgrid显示sql里nvarchar(255)属性的字段啊?
- 如何设计一个由TDataSet派生而来的数据集控件
- idftp的问题
- 九局下半(人生就象一场棒球比赛)
- Delphi中如何使用PowerPoint
- SQL Server的数据备份问题
- 关于<<Windows2000安全登录>>的想法??????<再问>
- 关于使用com时出现“标记没有引用存储”的问题??
- 有关Object、Component、Control的概念性问题!
- 一个关于TServer/ClientSocket的问题,谢谢
- 十万火急DBGrid控件的一种用法
- 怎么屏蔽form的onmousewheel事件?
i: Integer;
begin
for i := 0 to Panel1.ControlCount - 1 do
if Panel1.Controls[i] is TEdit then
TEdit(Panel1.Controls[i]).Clear;end;//判断钧不为空function IsEmpty: Boolean;
var
i: Integer;
begin
result := false;
for i := 0 to Panel1.ControlCount - 1 do
if Panel1.Controls[i] is TEdit then
if TEdit(Panel1.Controls[i]).Text = '' then
begin
result := true;
Break;
end;
end;随手所写,请调试能不能用
声明一个全局数组
var
arrEdit : Array[0..19] of TEdit;
//这里数组大小根据你的Edit的数量来定在初始化的时候,把Edit都加进来
arrEdit[0] := edit1;
arrEdit[1] := edit2;
.
.
.
arrEdit[19] := edit19;这样在以后要用的时候,要清空Edit,一个循环就可以了
for i := 0 to 19 do
begin
arrEdit[i].text = '' ;
end;
判断是否为空也一样,循环一下,加入IF判断就可以了Panel2上的Edit也可以同样做成一个控件数组,这样基本上能解决你的问题
“arrEdit[19] := edit19;”
也许应该改成:
“arrEdit[19] := edit20;”