Parámetros:
- Dir: carpeta a revisar
- FileNames: TStringList donde se almacenarán los archivos
- Mask: máscara de búsqueda (ej: *.jpg, win*.*, ........)
- Recursive: si se desea mirar en las subcarpetas que pueda tener
- IncludeBaseDir: incluir toda la ruta del fichero en el nombre
- ClearList: borrar FileNames
delphi
procedure GetNameFilesFromFolder(Dir: string; FileNames: TStringList; Mask: string = '*.*'; Recursive: Boolean = False; IncludeBaseDir: Boolean = False; ClearList: Boolean = True); procedure GetNameFilesFromFolder(Dir: string; FileNames: TStringList; Mask: string; Recursive, IncludeBaseDir, ClearList: Boolean); var Files: integer; FOrigen: string; FDestino: string; ok: boolean; Search: TSearchRec; begin Dir := IncludeTrailingPathDelimiter(Dir); if ClearList then FileNames.Clear; Files := FindFirst(Dir + Mask, faAnyFile, Search); while Files = 0 do begin if Search.Attr <> faDirectory then begin if IncludeBaseDir then FileNames.Add(Dir + Search.Name) else FileNames.Add(Search.Name); end else begin if (Search.Name <> '.') and (Search.Name <> '..') and Recursive then GetNameFilesFromFolder(Dir + Search.Name, FileNames, Mask, Recursive, IncludeBaseDir, False); end; Files := FindNext(Search); end; FindClose(Search); end;
Nos leemos