Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Estructura de un CD (https://www.clubdelphi.com/foros/showthread.php?t=26586)

david duarte 27-10-2005 16:24:27

Estructura de un CD
 
Hola!!!

Quiero hacer un programa en donde cuando yo inserte un cd-rom, en un memo o en algun componente, me diga la estructura de los archivos y directorios que tiene ese cd-rom, he checado el TreeList o algo asi, que viene en delphi, pero la verdad es que no se ni como empezar,

Y despues de que me diga o muestre la estructura, pasarlo a excel, o a un stringgrid o a un dbgrid, quiero que los directorios queden en una sola celda o columna y los archivos en otra columna, bueno, eso ya es harina de otro costal. jejeje:D

ya que necesito saber que directorios, subdirectorios tiene ese cd-rom, y por lo tanto que archivos tiene cada directorio y sub.

Código:


 /
 /dir1/
 /dir1/archivo1.txt
 /dir1/archivo2.pdf
 /dir1/archivo3.xls
 /dir1/archivo4.dpk
 /dir2/pruebas_delphi/a1.bpg
 /dir2/pruebas_delphi/project1.exe
 /dir2/pruebas_delphi/form1.dfm
 ....
 
 /dir50/prueba1/prueba2/pruebas_delphi/prueba.txt
 jejeje con eso de que no nos gusta poner pruebasa todas las "pruebas" que hacemos

No tengo ni la mas remota idea de como se empieza.

Alguien tiene una idea?

Se aceptan ideas
Si alguien sabe de algun componente para poder hacer esto, por favor digalo!!!!

Gracias.

Cómo te sientes hoy??

delphi.com.ar 27-10-2005 16:29:48

En mi página tienes un ejemplo llamado "StrObjs", que lista una ruta y todos sus subdirectorios en forma recursiva.

Saludos!

dec 27-10-2005 16:43:44

Hola,

roman puede aportarte el componente TCdChange que te avisará cuando se inserte o extraiga un cederrón. ;)

Lepe 27-10-2005 17:06:32

A partir de Delphi 6, tienes el TShellTreeView creo que en la paleta Win32 o Samples, están bien escondidos.

Simplemente lo añades a tu ventana, y ya tienes un explorador de windows.

saludos

Neftali [Germán.Estévez] 27-10-2005 17:48:50

Si te basas por ejemplo en el truco 333 del ClubDelphi para borrar una estructura en arbol de forma recursiva y lo "modificas" un poco puedes obtener un procedimiento como éste que te devuelve toda la estructura a partir de un directorio.

Código Delphi [-]
 procedure ShowTree(cPath: string; out: TStrings);
 var
   search: TSearchRec;
   nFiles: integer;
   path: string;
 begin
   path := IncludeTrailingBackslash(cPath);
   nFiles := FindFirst(Path + '*.*', faAnyFile, search);
   while nFiles = 0 do begin
     if Search.Attr = faDirectory then begin
       if (Search.Name <> '.') and (Search.Name <> '..') then begin
         ShowTree(Path + Search.Name, out);
       end;
     end
     else
       out.Add(Path + Search.Name);
     nFiles := FindNext(Search);
   end;
   FindClose(Search);
 end;

Pon un memo en un formulario y un botón con el siguiente código:

Código Delphi [-]
   Memo1.Clear;
   ShowTree('c:\winnt\', Memo1.Lines);


La franja horaria es GMT +2. Ahora son las 09:16:22.

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