PDA

Ver la Versión Completa : contar subdirectorios...


Jorghino reyes
25-09-2005, 23:51:22
Hola amigos, podran ayudarme con esto porfavor.

Requiero contar todas las subcarpetas que existen en una determinada ruta.

Pero unicamente los subdirectorios (o subcarpetas) contenidos. No archivos, no directorios "." ni ".." y mandar el numero a una variable o etiqueta

Como podria hacerle , lo que he estado investigando es referente a findfirst. pero requiero de una ayuda.

De antemano Gracias.

Saludos!

dec
26-09-2005, 05:26:51
Hola,


// 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;

Jorghino reyes
26-09-2005, 16:33:21
Execelente, te agradezco el apoyo. ! :D