![]() |
Alle Dateien eines Ordners anzeigen (auch unterordner)
Hallo, ich habe mal wieder ne Frage.
Das zu programmierenden Programm soll wie folgt aussehen: Man wählt einen Ordner und es werden alle Dateien eines bestimmten Typs (Bspw. *.ppt) angezeigt, es werden auch die Unterordner, unabhängig von der Pfadtiefe und Anzahl, nach diesem Dateityp durchsucht. In einer Liste erscheint dann der Dateiname der gefundenen Datei, sowie der Pfad abzüglich dem gewählten Ordner. Es soll dann in etwa so aussehen: gewählter Ordner: - C:\Neu gefundene Dateien: - C:\Neu\Beispiel.ppt - C:\Neu\Beispiel\Beispiel_verändert.ppt - C:\Neu\Beispiel\original\Beispiel.ppt In der Liste werden die gefundenen Dateien wie folgt angezeigt: - Beispiel.ppt - Beispiel\Beispiel_verändert.ppt - Beispiel\original\Beispiel.ppt Würde mich echt über helfende Antworten freuen!! Es geht mir hauptsächlich um die Suchroutine... MfG Jörn |
Re: Alle Dateien eines Ordners anzeigen (auch unterordner)
|
Re: Alle Dateien eines Ordners anzeigen (auch unterordner)
Einfach 'ne Procedur erstellen, der du das Verzeichnis und die Endung übergibst.
Und innerhalb dieser eine Abfrage machen und wenn Unterverzeichnisse vorhanden sind, dann die Prozedur sich selber mit Verzeichnis+'\'+Unterverzeichnisname und Endung aufrufen lassen. Beispiel:
Code:
procedure Suche(V, E: String);
begin if (letztes Zeichen in V) <> '\' then V := V + '\' DateienSuchen(V + '*' + E) repeat {Dateiname der Liste hinzufügen} until (nächsteDateiSuchen) DateienSuchen(V + '*.*') repeat if (gefundenes = Verzeichnis) then Suche(V + Verzeichnisname + '\', E); until (nächsteDateiSuchen) end Suche('C:\Verz\', '.ppt'); |
Re: Alle Dateien eines Ordners anzeigen (auch unterordner)
Genau das ist das, was ich brauche.. danke schonmal soweit...
Ich hake nur noch bei einer Sache, das wäre : Wie erkenne ich ein gefundenes Verzeichnis als Suchergebnis? |
Re: Alle Dateien eines Ordners anzeigen (auch unterordner)
Delphi-Quellcode:
procedure GetAllFiles(mask: string);
var Search: TSearchrec; verz: string; such: string; begin such := ExtractFileName(mask); verz := ExtractFilepath(mask); if verz[length(verz)] <> '\' then verz := verz + '\'; { alle Dateien suchen } if FindFirst(mask, $23, Search) = 0 then repeat Form1.listbox1.items.add(verz + Search.Name); until FindNext(Search) <> 0; { Unterverzeichnisse durchsuchen } if FindFirst(verz + '*.*', fadirectory, Search) = 0 then begin; repeat if ((search.attr and fadirectory) = fadirectory) and (search.name[1] <> '.') then GetAllFiles(verz + Search.Name + '\' + such); until FindNext(Search) <> 0; end; Findclose(Search); end; procedure TForm1.Button1Click(Sender: TObject); begin GetAllFiles('C:\myDelphiProg\*.pas'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz