很有效AND有用的代码
1)清楚所有窗体内的输入框
For i:=0 to ComponentCount - 1 do
if Components[i] is TEdit then
TEdit(Components[i]).Text := '';
以此类推,可以用于Label,Button等等,那些需要统一更改的属性等内容。
2)遍历一个窗口的所有组件以显示它们的类名称procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i:= 0 to ComponentCount - 1 do
ShowMessage(Components[i].ClassName);
end;
3)Create(Self)与Create(nil)的区别Create(Self):下面一行语句表示了如何向TButton.Create()构造器传递窗口隐含的参数Self。这样窗口成为新创建组件的拥有者:
MyButton := TButton.Create(Self);
当窗口被析构时,与MyButton有关的TButton实例也会被析构。这是在VCL内部处理的。实质上,窗口再次通过Components数组属性遍历组件并析构它们
Create(nil):通过传递nil给组件的 Create()方法,可以创建一个不具备拥有者的组件,不过,如果这样做了,编程时你需要负责组件的删除。下列代码显示了这个技术:
MyTable := TTable.Create(nil)
Try
{用MyTable填充}
finally
MyTable.Free;
end;

浙公网安备 33010602011771号