Ver Mensaje Individual
  #4  
Antiguo 03-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Pedías una función recursiva... y eso tienes

Pensar en recursivo no es fácil, puedes tomarlo como primer paso para incluir los archivos.

Código Delphi [-]
procedure TreeListing(const Folder: string; Nodes: TTreeNodes;
  ParentNode: TTreeNode);
var
  AFolder: TSearchRec;
  NewNode: TTreeNode;
begin
  if FindFirst(IncludeTrailingPathDelimiter(Folder) + '*.*', faDirectory+ faAnyFile, AFolder) = 0 then
    repeat
      if ((AFolder.Attr and faDirectory) = faDirectory) and
         ((AFolder.Attr and faSysFile) <> faSysFile) and
         (AFolder.Name <> '.') and (AFolder.Name <> '..') then
      begin
        NewNode := Nodes.Add(ParentNode, AFolder.Name);
        TreeListing(IncludeTrailingPathDelimiter(CurrLocalPath+AFolder.Name) +
        '*.*', Nodes, NewNode);
      end;

      if ((AFolder.Attr and faAnyfile) = faAnyfile)) then
      // añadir el nodo de los archivos

    until
      FindNext(AFolder) <> 0;
  FindClose(AFolder);
end;

Fijate que no hay else, esto es para que despues de añadir una carpeta, tambien intente añadir los archivos que haya.

He puesto faAnyFile, tú ajustalo más a lo que quieras.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita