Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2009
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 21
RoyTan Va por buen camino
Leer y contar todos los achivos

Saludos foreros del club delphi.

Seria posible leer y contar todos los archivos y carpetas de una unidad por ejemplo la unidad C.

Gracias.
Responder Con Cita
  #2  
Antiguo 31-01-2009
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,

Busca, en estos mismos foros, por las funciones "FindFirst()" y "FindNext()". Si no recuerdo mal, también encontrarás algún truco relacionado con este asunto. Si necesitas ayuda no dejes de decirlo. Y, si alguien conoce un método mejor, que hable ahora o calle para siempre.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 31-01-2009
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Poder: 19
jorge82 Va por buen camino
Hola, esta función recorre el directorio pasado como parámetro y lista los archivos y directorios, además lleva la cuenta de ellos, al final guarda la lista en un StringList, por lo que facilmente puedes asignar su contenido en un TMemo o componente similar.

Código Delphi [-]
procedure Contar(SPath: string);
var
  R : TSearchRec;
  Busq, Dirs, Arcs: Integer;
  List: TStringList;
begin
  Dirs :=0; Arcs := 0;
  List := TStringList.Create;

  if not DirectoryExists(SPath) then
  begin
    Application.MessageBox(PChar('No existe la ruta: ' + SPath), 'Error', MB_ICONERROR);
    Exit;
  end;

  Busq := FindFirst(SPath + '*.*', FaAnyfile, R);
  while Busq = 0 do
  begin
    if (R.Attr and faDirectory = faDirectory ) then
    begin
      if (R.Name <> '.') and (R.Name <> '..') then
      begin
        Inc(Dirs);
        List.Add(R.Name + '/');
      end;
    end
    else
    begin
      if (R.Attr and faVolumeId <> faVolumeID) then
      begin
        Inc(Arcs);
        List.Add(R.Name);
      end;
    end;
    Busq := FindNext(R);
  end;
  SysUtils.FindClose(R);
  Form1.Memo1.Lines := List;
  List.Free;
  ShowMEssage(Format('Hay %d Directorios y %d Archivos', [Dirs, Arcs]));
end;

Ejemplo de llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Contar('C:\');
end;

Espero que te sirva.
__________________
Un saludito.
Responder Con Cita
  #4  
Antiguo 31-01-2009
Avatar de RoyTan
RoyTan RoyTan is offline
Miembro
 
Registrado: oct 2003
Ubicación: Mijas - Málaga
Posts: 121
Poder: 21
RoyTan Va por buen camino
Fantastico Jorge82, y gracias Dec.

Todo de maravilla.
Responder Con Cita
  #5  
Antiguo 12-02-2011
Pedro-Juan Pedro-Juan is offline
Miembro
 
Registrado: ago 2006
Ubicación: Barcelona - España
Posts: 315
Poder: 18
Pedro-Juan Va por buen camino
Question

Hola.

Sólo me funciona en el directorio raiz de cada unidad, en los interiores no.

El ShowMEssage en los interiores: Hay 1 directorios y 0 archivos.
Cuando hay más directorios y archivos.

No estoy muy enterado del tema de ficheros y no encuentro el porqué del error.

Un saludo.
__________________
Este mundo es el camino para el otro, que es morada sin cesar. Mas cumple tener buen tino para andar esta jornada sin errar. (J. Manrique)
Responder Con Cita
  #6  
Antiguo 16-04-2011
pato89xd pato89xd is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 13
Poder: 0
pato89xd Va por buen camino
hola, yo tengo el mismo problema, este algoritmo solo me encuentra un directorio y 0 archivos, que puedo hacer? :S
Responder Con Cita
Respuesta



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
Leer todos los ficheros de una carpeta VRO Varios 9 14-12-2021 11:26:27
Interpretar achivos dwg (CAD) Val Gráficos 1 16-01-2008 06:56:14
como modificar achivos de recursos aeff API de Windows 3 14-09-2007 00:22:42
Como leer todos los eventos del teclado en todas las aplicaciones?? JuanErasmo API de Windows 1 04-04-2006 16:35:43
Achivos djmiller Varios 0 04-09-2003 18:14:09


La franja horaria es GMT +2. Ahora son las 02:23: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
Copyright 1996-2007 Club Delphi