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-04-2005
quetzal quetzal is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
quetzal Va por buen camino
Question obtener directorios

hay alguna funcion que te regrese todos los directorios dentro de un directorio, y pues de paso como obtener la lista de archivos en un directorio

Gracias de antemano
__________________
Toda Teoria es Gris mas es verde en Arbol de Dorados Frutos que es la Vida (Goethe)
Responder Con Cita
  #2  
Antiguo 27-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Mira a ver si te sirve este:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(form1.Handle, 'Open', 'C:\', 0, 0, SW_SHOW);
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 28-04-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Una función no, pero una combinación de ellas

Hola,

Mira en la ayuda de Delphi por las funciones FindFirst, FindNext y FindClose. También puedes buscar "Finding a file" para más información al respecto.

A continuación algo de código que pueda darte una idea (en la ayuda de las funciones susomentadas encontrarás ejemplos de uso de las mismas).

Código Delphi [-]
     
 function TForm1.ListaDirectorios(directorioPadre: string) : TStringList;
  var
    sr: TSearchRec;
  begin
    Result := TStringList.Create;
    if FindFirst(directorioPadre + '*', faDirectory, sr) = 0 then
    repeat
      if (sr.Attr = faDirectory) then
        Result.Add(directorioPadre + sr.Name);
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
  
  function TForm1.ListaArchivos(directorioPadre: string) : TStringList;
  var
    sr: TSearchRec;
  begin
    Result := TStringList.Create;
    if FindFirst(directorioPadre + '*', faAnyFile, sr) = 0 then
      repeat
        if (sr.Attr and faDirectory = 0) or (sr.Name <> '.')
          and (sr.Name <> '..') then
            Result.Add(directorioPadre + sr.Name);
      until FindNext(sr) <> 0;
    FindClose(sr);
  end;
  
     
     // Llamando a las funciones anteriores
 procedure TForm1.Button1Click(Sender: TObject);
  begin
    ListBox1.Items := ListaDirectorios('C:\');
    ListBox2.Items := ListaArchivos('C:\');
  end;

Última edición por dec fecha: 30-04-2005 a las 01:56:31. Razón: Rectificar código Delphi
Responder Con Cita
  #4  
Antiguo 28-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.309
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
También te puede servir (y el código debe ser similar al que ya te han puesto) los trucos 310 y 333 se la sección de trucos del Club Delphi. Ambos sirven para borrar directorios (y todo su contenido); Para ello hacen un recorrido buscando directorios y ficheros dentro de un directorio para luego borrarlos.
El algoritmo es muy similar al tuyo (eliminando la línea de borrar, claro...) así que tal vez te pueda servir de guía.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 16-05-2005
quetzal quetzal is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
quetzal Va por buen camino
bueno las funciones funcionan bien, valgame la redundancion, pero si las utilizo en la unidad C, pero si yo cambio de unidad como la D o la E, u otra unidad, la funcion de los directorios no regresa ningun valor, como podria yo solucionar esto, o porque sucede esto?

gracias de antemano.
__________________
Toda Teoria es Gris mas es verde en Arbol de Dorados Frutos que es la Vida (Goethe)
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


La franja horaria es GMT +2. Ahora son las 14:03:59.


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