AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Alle Dateien eines Ordners anzeigen (auch unterordner)
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Dateien eines Ordners anzeigen (auch unterordner)

Ein Thema von Hazardos · begonnen am 30. Mär 2004 · letzter Beitrag vom 30. Mär 2004
Antwort Antwort
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#1

Alle Dateien eines Ordners anzeigen (auch unterordner)

  Alt 30. Mär 2004, 17:35
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
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Alle Dateien eines Ordners anzeigen (auch unterordner)

  Alt 30. Mär 2004, 17:37
Da hilft Dir die Suche: Hier im Forum suchenFindFirst FindNext bzw. die Code-Lib: FindFirst FindNextFindFirst FindNext

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Alle Dateien eines Ordners anzeigen (auch unterordner)

  Alt 30. Mär 2004, 17:51
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');
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Hazardos

Registriert seit: 8. Okt 2003
Ort: Alfeld
73 Beiträge
 
#4

Re: Alle Dateien eines Ordners anzeigen (auch unterordner)

  Alt 30. Mär 2004, 18:25
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?
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Alle Dateien eines Ordners anzeigen (auch unterordner)

  Alt 30. Mär 2004, 18:31
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz