Per riempire una TstringList con la lista dei file contenuti in una directory possiamo ricorrere a questa procedure:
procedure LoadFilesByMask(lst: TStrings; const SpecDir, WildCard: string);
var
intFound: Integer;
SearchRec: TSearchRec;
begin
lst.Clear;
intFound := FindFirst(SpecDir + WildCard, faAnyFile, SearchRec);
while intFound = 0 do
begin
lst.Add(SpecDir + SearchRec.Name);
intFound := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
dove lst sarà la TstringList da riempire, Specdir è la directory base da esaminare e wilcard è una stringa che definirà la tipologia di nomi da ricercare. Possiamo richiamare questa procedura usando:
LoadFilesByMask(MyList.Items, ExtractFilePath(Application.ExeName), '*.bmp')
con la quale verranno ricercati tutti i file Bitmap presenti nella directory dello stesso file eseguibile che stiamo creando.
Se volessimo cercare solo le sotto directory dovremo modificare il parametro "faAnyFile" all'interno della funzione FindFirst :
faReadOnly = $00000001 platform;
faHidden = $00000002 platform;
faSysFile = $00000004 platform;
faVolumeID = $00000008 platform deprecated; // not used in Win32
faDirectory = $00000010;
faArchive = $00000020 platform;
faSymLink = $00000040 platform;
faAnyFile = $0000003F;





