Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Operacion sobre todos los componente de un formulario (https://www.clubdelphi.com/foros/showthread.php?t=80807)

Goyo 20-06-2007 20:15:01

Operacion sobre todos los componente de un formulario
 
Efectuar una determinada operación sobre todos los componentes de un formulario (Delphi)

ComponentCount devuelve el número total de componentes y Component es la matriz que los contiene.

Por ejemplo, si queremos asignar un valor a la propiedad que se nos ocurra, por ejemplo dejar todos los componentes Edit de un formulario en blanco:
Código Delphi [-]
For x := 0 To ComponentCount - 1 Do
  If Components[x] Is TEdit Then
    TEdit(Components[x]).Text := '';

Hay que recordar que la matriz se inicia en el elemento 0, por eso el bucle con el número de componentes menos 1.

jhonny 21-06-2007 20:38:57

Incluso si en un formulario, tenemos TButtons, TEdits y otros mas... podriamos usar este mismo ciclo para blanquear sus respectivos, Captions y Text, asi:

[/delphi]For x := 0 To ComponentCount - 1 Do
TEdit(Components[x]).Text := '';[/delphi]

madriles 23-06-2007 09:09:05

jhonny, el if es necesario. normalmente hay otros controles que pueden sufrir los efectos. por ejemplo pon en un form varios TEdit y Varios Paneles, luego prueba este codigo con y sin el if, veras que pasa

Código Delphi [-]
var
   x: Integer;
begin
For x := 0 To ComponentCount - 1 Do
   If Components[x] Is TPanel Then
  TPanel(Components[x]).Color:=clGreen;
end;

madriles 23-06-2007 09:09:24

jhonny, el if es necesario. normalmente hay otros controles que pueden sufrir los efectos. por ejemplo pon en un form varios TEdit y Varios Paneles, luego prueba este codigo con y sin el if, veras que pasa

Código Delphi [-]
var
   x: Integer;
begin
For x := 0 To ComponentCount - 1 Do
   If Components[x] Is TPanel Then
  TPanel(Components[x]).Color:=clGreen;
end;

jhonny 25-06-2007 21:15:03

Bueno madriles, eso es exactamente lo que queria mostrar, si lees bien mi comentario dice, que si deseas afectar otros controles diferentes a los TEdits, solo bastaria con quitar el IF.

RK2 27-06-2007 19:03:06

mysql con delphi7...?


La franja horaria es GMT +2. Ahora son las 13:34:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi