Thema: Delphi Funktion erweitern

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#21

AW: Funktion erweitern

  Alt 21. Jun 2010, 20:05
Oder einfach diesen Parameter nach hinten verlagern.

Bei Verwendung einer Maske wird es schwieriger,
denn die Verzeichnisse dürfen ja nicht über die Maskte gesucht werden.
Also muß man entweder selber den Dateinamen mit der Maske vergleichen oder man sucht in zwei Schritten.
Delphi-Quellcode:
procedure TForm1.scan(path: string; Maske:String;DateiendungAnzeigen:Boolean=true;parent:TTreeNode=nil);
var SR: TSearchRec;
  s:string;
begin
  path := IncludeTrailingPathDelimiter(path);
  if FindFirst(path + '*', faAnyFile, SR) = 0 then
    try
      repeat
        if (SR.Name <> '.') and (SR.Name <> '..')
            and (SR.Attr and faDirectory <> 0) then
          scan(path + SR.Name, Maske, DateiendungAnzeigen,
            TreeView1.Items.AddChild(parent, SR.Name));
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  if FindFirst(path + Maske, faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = 0 then
        begin
          s := SR.Name;
          if not DateiendungAnzeigen then
            s := ChangeFileExt(s, '');
          TreeView1.Items.AddChild(parent, S);
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Jun 2010 um 20:08 Uhr)
  Mit Zitat antworten Zitat