El siguiente procedimiento lista los archivos que cumplan con una determinada máscara y se encuentren en un determinado directorio.
Los archivos se devuelven en la variable "lista", que se pasa como parámetro por referencia al procedimiento. Pueden obtenerse tan sólo los nombres de los archivos, si así se requiere.
Código Delphi
[-]
uses
SysUtils;
procedure ArchivosDirectorio(dir, mascara: string;
var lista: TStrings; const soloNombres: boolean);
var
SR: TSearchRec;
begin
dir := IncludeTrailingPathDelimiter(dir);
if FindFirst(dir + mascara, faAnyFile, SR) = 0 then
begin
repeat
if not soloNombres then
lista.Add(ExtractFileName(ChangeFileExt(dir + SR.Name, '')))
else
lista.Add(dir + SR.Name);
until FindNext(SR) <> 0;
SysUtils.FindClose(SR);
end;
end;