ComponentCountProperty (Delphi)
Description
This code fragment moves any nonvisual components on the form into a separate data module. Note that the components are removed starting with the last component, so that the unprocessed portion of the Components array does not change. Note: This code does not save the form or data module to disk after the nonvisual components are moved. If executed at run time, the effect will not persist. Add a second TForm and name it ComponentCount2. Put "ComponentCount2" at the end of the uses clause of Form1. Place a TMemo in each form and a TButton in Form1.
Code
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
Temp: TComponent;
begin
Form1.Memo1.Lines.Add('Components removed: ');
Form2.Memo1.Lines.Add('Components added: ');
for I := ComponentCount - 1 downto 0 do
begin
Temp := Components[I];
if not (Temp is TControl) then
begin
RemoveComponent(Temp);
Form1.Memo1.Lines.Add(Temp.Name);
Form2.InsertComponent(Temp);
Form2.Memo1.Lines.Add(Temp.Name);
end;
end;
end;
Uses
- System.Classes.TComponent.ComponentCount ( fr | de | ja )
- System.Classes.TComponent.Components ( fr | de | ja )
- System.Classes.TComponent.RemoveComponent ( fr | de | ja )
- System.Classes.TComponent.InsertComponent ( fr | de | ja )