gpt4 book ai didi

Delphi - 清除所有TEdit的命令

转载 作者:行者123 更新时间:2023-12-03 15:37:45 32 4
gpt4 key购买 nike

我有很多TEdit。是否有任何命令可以清除所有 TEdit 而无需像这样做手动清除

edit1.clear;
edit2.clear;

我不喜欢这样做,因为我有很多字段..有人可以帮助我吗?

最佳答案

您必须循环遍历表单或容器的控件才能清除它们。

有多种方法可以实现这一目标。

表单是设计时放置在其上的所有组件的所有者。您可以循环遍历所有 Form 组件来清除它们:

procedure ClearEdits(Owner: TWinControl);
var i: integer;
begin
for i := 0 to Owner.ComponentCount - 1 do
if Owner.Components[i] is TEdit then TEdit(Owner.Components[i]).Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClearEdits(Self);
end;

另一种方法是循环遍历父容器(也可以是表单),但在这种情况下,您必须递归地清除编辑,因为父容器仅在控件列表中保存其直接子级。

procedure ClearEdits(Parent: TWinControl);
var i: integer;
begin
for i := 0 to Parent.ControlCount - 1 do
begin
if Parent.Controls[i] is TEdit then TEdit(Parent.Controls[i]).Clear
else
if Parent.Controls[i] is TWinControl then ClearEdits(TWinControl(Parent.Controls[i]));
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClearEdits(Self);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClearEdits(SomePanel);
end;

关于Delphi - 清除所有TEdit的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42624343/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com