Ver Mensaje Individual
  #1  
Antiguo 07-06-2006
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
Obtener el número de subdirectorios de un directorio dado

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.

Código Delphi [-]
uses
  SysUtils;

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;
Responder Con Cita