Ver Mensaje Individual
  #2  
Antiguo 22-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Está feo que lo diga yo, pero, en fin, tal vez puede serte de utilidad el componente "TDirsWin" que puedes encontrar dentro del paquete "DecComp", el cual hallarás en el apartado de componentes del ClubDelphi y también en mi página Web personal. Si no quieres hacer uso de dicho componente al menos puedes ver cómo hace lo que hace, valga la redundancia.

Respecto de la segunda cuestión tal vez la siguiente función, si bien no te proporciona exactamente lo que quieres, puede darte alguna idea:

Código Delphi [-]
 // Devuelve el número de subdirectorios de
 // un determinado directorio. Pueden contarse
 // los subdirectorios ocultos, de sistema y de
 // "solo lectura". Como parámetros hay que pasar
 // la ruta del directorio cuyos subdirectorios
 // quieren contarse, además de si hay que tener
 // en cuenta los subdirectorios cuyos atributos
 // coincidan con los mencionados arriba.
 //
 function NumeroSubDirectorios(directorio: string;
   ocultos, sistema, soloLectura: boolean) : integer;
 var
   SR: TSearchRec;
   atributos: Cardinal;
 begin
   Result := 0;
   atributos := faDirectory;
   if ocultos then atributos := atributos or faHidden;
   if sistema then atributos := atributos or faSysFile;
   if soloLectura then atributos := atributos or faReadOnly;
   directorio := IncludeTrailingPathDelimiter(directorio);
   if FindFirst(directorio +'*', atributos, SR) = 0 then
   begin
     repeat
       if (SR.Name <> '.') and (SR.Name <> '..')
         and DirectoryExists(directorio + SR.Name) then
           Inc(Result);
     until FindNext(SR) <> 0;
     SysUtils.FindClose(SR);
   end;
 end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita