Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2007
angelp4492 angelp4492 is offline
Miembro
 
Registrado: dic 2007
Posts: 99
Poder: 0
angelp4492 cantidad desconocida en este momento
Obtener carpetas de un directorio

Hola como estan?

Veran tengo una duda.
Utulizando la función que puso Darkbyte q es la siguiente

Código Delphi [-]
   
procedure Rastrear (Dir:string);
   var
      FileSearch:  TSearchRec;
   begin
     Screen.Cursor := crHourGlass;
     ChDir ( Dir );
     if FindFirst ( '*.*', faDirectory, FileSearch )=0 then
     repeat
       begin
         //Pon aqui lo que quieras hacer con los ficheros encontrados
         Form1.Memo1.Lines.Add (FileSearch.Name);
       end;
     until FindNext( FileSearch ) <> 0;
     FindClose( FileSearch );
     Screen.Cursor := crDefault;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Rastrear ('C:\');
end;

esta funcion me devuelve todos las carpetas y archivos que hay en un directorio, mi pregunta era como podria hacer para que solo me muestre las carpetas.
gracias
Responder Con Cita
  #2  
Antiguo 27-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Es raro... porque estás indicando que "FindFirst" no te retorne sino directorios, precisamente, con "faDirectory". Pero,... prueba a hacer algo como esto, por si tiene que ver con la "extensión" que se busca:

Código Delphi [-]
procedure Rastrear (Dir:string);
   var
      FileSearch:  TSearchRec;
   begin
     Screen.Cursor := crHourGlass;
     Dir := ExtractFilePath(Dir);
     if FindFirst (Dir + '*', faDirectory, FileSearch )=0 then
     repeat
       begin
         //Pon aqui lo que quieras hacer con los ficheros encontrados
         Form1.Memo1.Lines.Add (FileSearch.Name);
       end;
     until FindNext( FileSearch ) <> 0;
     FindClose( FileSearch );
     Screen.Cursor := crDefault;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Rastrear ('C:\');
end;

Ya dirás qué tal...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 27-12-2007
angelp4492 angelp4492 is offline
Miembro
 
Registrado: dic 2007
Posts: 99
Poder: 0
angelp4492 cantidad desconocida en este momento
Unhappy

Pues no se pero obtengo el mismo resultado con las dos cosas que le has modificado, no se que pasa, me da todo lo q hay en el directorio raiz, en vez de darme solo los directorio...
Responder Con Cita
  #4  
Antiguo 27-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues... tiene que haber otra forma más elegante, más aún, estoy seguro de que la hay, pero, no la recuerdo exactamente. Pero, algo así parece funcionar:

Código Delphi [-]
procedure Rastrear (Dir:string);
   var
      FileSearch:  TSearchRec;
   begin
     Screen.Cursor := crHourGlass;
     Dir := ExtractFilePath(Dir);
     if FindFirst (Dir + '*', faDirectory, FileSearch ) = 0 then
     repeat
       begin
         if (FileSearch.Attr = faDirectory) then begin
           //Pon aqui lo que quieras hacer con los ficheros encontrados
           Form1.Memo1.Lines.Add (FileSearch.Name);
         end;
       end;
     until FindNext( FileSearch ) <> 0;
     FindClose( FileSearch );
     Screen.Cursor := crDefault;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Rastrear ('C:\');
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 27-12-2007
angelp4492 angelp4492 is offline
Miembro
 
Registrado: dic 2007
Posts: 99
Poder: 0
angelp4492 cantidad desconocida en este momento
Hola dec, pues la verdad no encuentro que has cambiado de la funcion
Responder Con Cita
  #6  
Antiguo 27-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código Delphi [-]
if (FileSearch.Attr = faDirectory) then begin
  {...}
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 27-12-2007
angelp4492 angelp4492 is offline
Miembro
 
Registrado: dic 2007
Posts: 99
Poder: 0
angelp4492 cantidad desconocida en este momento
Joe que tonto estoy, lo podia haber copiado y pegado, pero me gusta mas teclearlo, tb esque tengo ya los ojos cansaillos

Funciona estupendamente Gracias..
Responder Con Cita
Respuesta


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
Obtener el directorio padre de una ruta diego11 Varios 4 26-11-2007 20:56:14
Como Obtener las carpetas del sistema? bustio Varios 7 04-05-2007 19:49:57
saber el numero de archivos o carpetas de un directorio ilcapo C++ Builder 3 07-02-2006 19:25:46
Obtener directorio del programa bsa_sux Varios 3 02-02-2006 18:56:01
Obtener los archivos de un directorio MRSAM Varios 16 03-08-2005 22:37:12


La franja horaria es GMT +2. Ahora son las 01:50:57.


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