PDA

Ver la Versión Completa : Obtener los nombres de las subcarpetas de una carpeta


ingabraham
31-05-2013, 19:20:57
^\||/hola,

quiero obtener los nombres de las subcarpetas que posee una carpeta.

C:Carpetapadre
|- 1subcarpeta
|- 2subcarpeta
|- 3subcarpeta


los cargare en un combobox

delphi 7

ecfisa
31-05-2013, 19:57:06
Hola.


procedure SubCarpetas(Ruta: string; TS: TStrings);
var
SR: TSearchRec;
begin
Ruta := InCludeTrailingPathDelimiter(Ruta) + '*.*';
if FindFirst(Ruta, $10, SR) = 0 then
repeat
if (SR.Name[1] <> '.')and(SR.Attr = $10) then
TS.Add(SR.Name);
until FindNext(SR) <> 0;
FindClose(SR);
end;


Llamada:

SubCarpetas('C:\WINDOWS\', ListBox1.Items);


También podrías usar el componente TDirectoryListBox...

Saludos.

nlsgarcia
01-06-2013, 06:49:24
ingabraham,

Una variante al código sugerido en el Msg #2 es:

if (SR.Name[1] <> '.') and ((SR.Attr and faDirectory) = faDirectory) then

Espero sea útil :)

Nelson.