Encontrar un componente sabiendo su nombre

2763 vistas

Para buscar un componente conociendo su nombre y su propietario, utilizaremos la función FindComponent del propietario. El resultado de esta función es un dato de tipo TComponent, por lo que necesitaremos castear el resultado a la clase deseado.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   Edit: TEdit;
  4. begin
  5.   Edit := TEdit(Form1.FindComponent('Edit1'));
  6.   if Edit <> Nil then ShowMessage(Edit.Text);
  7. end;



Este método es muy útil para modificar las propiedades de una serie de componentes el nombre de los cuales puede ser calculados en un bucle. Por ejemplo, si queremos borrar el contenido de Edit1 a Edit10....



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   Edit: TEdit;
  4.   i: Integer;
  5. begin
  6.   for i := 1 to 10 do
  7.   begin
  8.     Edit := TEdit(Form1.FindComponent('Edit'+IntToStr(i)));
  9.     if Edit <> Nil then Edit.Text := '';
  10.   end;
  11. end;