Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Alle Dateien eines Verzeichnisses außer *.ini

  Alt 6. Apr 2006, 12:13
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
  Mit Zitat antworten Zitat