Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Exclamation Recorrido de componentes

Hola. Utilizo Delphi 5. Estoy realizando un proceso que debe recorrer todos los objetos incluidos en el form para darles valor a unas propiedades. El problema lo tengo en recorrer todos los objetos. Incialmente lo plantee de la forma siguiente:
Código:
with Form1 do
begin
       for i:=0 to ControlCount-1 do Procesar(Controls[i]);
end;
El problema es que sólo recorre a un nivel, es decir, si tengo un panel que dentro tiene objetos, se queda en el panel y no procesa los elementos de dentro.
Bueno, lo planteo entonces como una función recursiva y ya está, pero el problema es que no puedo saber si un componente tiene a su vez mas hijos, ya que el proceso lo defino así
Código:
procedure analizar(Compo:TControl);
var i:integer;
begin
       if Compo.ControlCount>0 then
       begin
               for  i:=0 to Compo.ControlCount-1 do Analizar(Compo.Controls[i]);
       end
       else Procesar(Compo);

end;
Sin embargo, la propiedad ControlCount no existe para TControl. Una opción sería utilizar el with:
with Compo as TWinControl do ....
No sé cual sería la mejor opción. ¿Alguien se le ocurre la forma correcta?
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:10:07.


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
Copyright 1996-2007 Club Delphi