Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 09-08-2008
FerCastro FerCastro is offline
Miembro
 
Registrado: abr 2006
Posts: 97
Poder: 21
FerCastro Va por buen camino
Recursividad en el tree

- Aclaro, cuando creo el árbol identifico los empleados con ':.' al inicio del nombre, se que es no es una solución muy ortodoxa, y si alguien tiene una mejor le agradeceré me la haga saber.

No pongo el código de cuando mando el empleado a una tabla virtual y al grid, pues esto solo aplica a mi programa.

Si alguien quiere que le amplíe la explicación, o si alguien simplifica el código con todo gusto las sugerencias y preguntas son bienvenidas. Está comentado pero pudierab haber omitido algunos detalles.

Saludos!!


FCG




Código Delphi [-]



// la función recibe como parametro un nodo, que inicialmente es el nodo elegido al principio.

function TFReporte.TomaNodos(oNodo:TTreeNode): integer;
var
  nCiclo: Integer;
  cNombre: string;
  nPos: Integer;
  oNodoHijo : TTreeNode;
  nLargo: Integer;
  bEncuentra: Boolean;
  Begin

    // con este ciclo for recorremos todos los elementos del nodo que entra como parámetro
    for nCiclo := 0 to oNodo.Count - 1 do
      Begin
            // tomamos el nodo que corresponde a la posición que indica el ciclo
            oNodoHijo := oNodo.Item[nCiclo];

            // Vamos a verificar si el nodo elegido es empleado
            cNombre := oNodoHijo.Text;
            nPos:=Pos(':.',cNombre);

            // Si el nodo es un empleado, o para cualquier ejemplo práctico, si no es nodo padre dentro de un nodo padre
            if nPos > 0 then
              Begin

                // Mandar el empleado al grid


                  end;
              End
            // De lo contrario el nodo es un departamento, o es un nodo padre dentro de un nodo padre
            Else
              Begin
                 // La función se llama así misma con un nuevo parámetro, ahora el nuevo nodo que puede contener hijos dentro de otro nodo.
                 TomaNodos(oNodoHijo);
              End ;

      End;

  End;

Última edición por FerCastro fecha: 09-08-2008 a las 18:31:13. Razón: Me faltó explicar algunas cosas
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Shell tree view apolyon Varios 1 02-06-2008 20:26:53
Virtual Tree walrus OOP 3 24-11-2006 18:54:37
Grid con Tree cricri2999 OOP 3 11-08-2006 11:21:17
tree view danielsalazar Varios 1 08-09-2005 17:54:19
Tree View (problemas) jymy788 Varios 3 19-08-2004 17:14:29


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


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