Hallo.
Auch wenn man auf Rekursion verzichtet und Dateinamen ohne Pfadanteil ausreichend sind - da wären schon noch ein paar Details, die man verbessern könnte - ohne die Signatur oder die Semantik zu verändern:
Delphi-Quellcode:
procedure ListFileDir(Path: string; FileList: TStrings);
var
SR: TSearchRec;
begin
Path := IncludeTrailingPathDelimiter(Path); //1
FileList.BeginUpdate; //2
if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
begin
repeat
if ((SR.Attr and faDirectory) = 0)
and (CompareText(ExtractFileExt(sr.Name), '.ini') <> 0) then //3
FileList.Add(SR.Name);
until FindNext(SR) <> 0;
FindClose(SR);
end;
FileList.EndUpdate; //4
end;
//1 - eine gute Stelle um den terminierenden Backslash einzubauen
//2 - beschleunigt die Abwicklung beim Speichern z.B. in einer ListBox
//3 - schließt auch Dateien mit .INI aus
//4 - reaktiviert die Anzeige der visuellen Komponente (ListBox)
Freundliche Grüße vom marabu