Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Rellenar treeview con un directorio recursivamente (https://www.clubdelphi.com/foros/showthread.php?t=42415)

mierda 13-04-2007 14:35:31

Rellenar treeview con un directorio recursivamente
 
Hola tios, estoy intentando rellenar un treeview recursivamente con las carpetas y ficheros de texto de un directorio, y si solo hay una subcarpeta me funciona perfectamente, pero cuando paso de ahi se me va de bola ... a ver si me arrojais un poco de luz

Gracias

Código Delphi [-]
 
procedure TForm1.RastreaDir( Dir: string );
var
   FileSearch:  TSearchRec;
   nodo1,nodo2,nodo3,nodo4,nodo5,nodo6, nodo7, nodo8, nodo9,nodo10: TTreeNode;
begin
   num  := num +1;
   ChDir ( Dir );
   if FindFirst ( '*.*', faDirectory, FileSearch )=0 then
   repeat
     if ( (FileSearch.Attr and fadirectory) = fadirectory) then
       begin
         if  (FileSearch.Name <> '.')and (FileSearch.Name <> '..') then
           begin
             if num = 1 then
               begin
                 nodo1 := arbol.Items.Add(nil,filesearch.name);
                 nodo1.selectedindex := num;
               end
             else
               begin
                nodo1 := arbol.Items.Addchild(nodo1,filesearch.name);
                nodo1.selectedindex := num;
               end;
             RastreaDir( Dir + '\' + FileSearch.Name );
           end;
       end
     else
       begin
         Memo1.Lines.Add( Dir +'\'+FileSearch.Name );
         arbol.Items.AddChild(nodo1,inttostr(num) + ' ' + filesearch.name);
       end;
   until FindNext( FileSearch ) <> 0;
   num := num -1;
   FindClose( FileSearch );
end;

roman 13-04-2007 18:13:40

Hola, para ver los directorios y archivos en un árbol, puede no ser muy recomendable hacerlo recursivamente. Toma en cuenta que si el directorio tiene muchas ramificaciones, el proceso puede ser muy lento y gastar muchos recursos.

Échale un ojo a http://www.clubdelphi.com/foros/showthread.php?t=24567, en donde puse un ejemplo adjunto que usa un treeview para ver directorios y archivos. La diferencia es que sólo leo un nivel y el resto sólo conforme el usuario va expandiendo las ramas.

// Saludos

mierda 13-04-2007 19:09:49

Muchas gracias
 
Hola Roman, muchas gracias por contestar ... la verdad es q para q quiero rellenar todo el directorio si a lo mejor no llegan a entrar ???? asi q tu ejemplo es perfecto!!!!! ... yo no se que haria sin vusutros!!!!

Un saludo

PD: Lo que ya seria lo mas ... es que supiera como ir navengado hacia arriba para construir la ruta completa .... voy a ver si lo encuentro! un saludo


La franja horaria es GMT +2. Ahora son las 20:49:31.

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