Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ordner auflisten? (https://www.delphipraxis.net/99819-ordner-auflisten.html)

ReBoot 18. Sep 2007 11:09


Ordner auflisten?
 
Ich bräuchte eine Auflistung aller Ordner in einem Verzeichnis. Und zwar nur derer, die direkt drin liegen, also nicht noch alle Unterordner.
FindFirst hab ich mir schon angeschaut, aber der liefert, so die Hilfe, auch Dateien und das brauch ich net. In der CL find ich das nicht.

Luckie 18. Sep 2007 11:11

Re: Ordner auflisten?
 
Dann filter doch nur die Ordner raus. Wie man Ordner von dateien unterscheidet, sollte aus dem Code-Beispiel in der Code-Lib ersichtlich werden.

ReBoot 18. Sep 2007 11:30

Re: Ordner auflisten?
 
Könntest du mir vll noch helfen, die Beispiele zu finden? :roll: Ich find da nichts derartiges.

Matze 18. Sep 2007 11:52

Re: Ordner auflisten?
 
Hallo,

in der CL wirst du fündig u.a. mit dem Suchbegriff FindAllFilesFindAllFiles.

Die Version, die für dich am leichtesten zu verstehen ist, dürfte die VCL-Version von Sakura bzw. die von Luckie abgeänderte sein. Wie du damit nur die Verzeichnisse auflistest, bekommst du mit ein klein wenig Überlegen selbst heraus, da der Code kommentiert ist. Für dich relevant ist, wie nicht schwer zu erraten, dieser Kommentar:

Delphi-Quellcode:
// --> ein Verzeichnis wurde gefunden
//   der Verzeichnisname steht in SR.Name
//   der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
//       RootFolder + SR.Name

Bauer007 18. Sep 2007 11:53

Re: Ordner auflisten?
 
Mach bitte _nicht_ nur Copy&Paste!!!

Delphi-Quellcode:
procedure ListeDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', faAnyFile, sr) = 0 then
  begin
    repeat
       if ((sr.Attr and faDirectory) = faDirectory) and
          (sr.Name <> '.') and
          (sr.Name <> '..') then
      begin
        FileList.Add(sr.Name);
      end;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListeDir('C:\Windows\', ListBox1.Items);
end;

ungetestet

Matze 18. Sep 2007 11:55

Re: Ordner auflisten?
 
Lass ihn doch bitte das nächste Mal selbst überlegen, von Copy & Paste hat doch keiner was. :? Fasse das bitte nicht negativ auf, nur wäre der Lerneffekt so deutlich größer. ;)

Bauer007 18. Sep 2007 11:58

Re: Ordner auflisten?
 
Ok - stimmt! :-)

Aber andererseits - hmmm kann man auch daraus lernen ;-) soll ja NICHT nur copy&paste machen auch verstehen was da nu steht!


Ok ok werde mich bessern :-)

ReBoot 18. Sep 2007 12:00

Re: Ordner auflisten?
 
Danke Leute :)

stho 16. Sep 2009 13:36

Re: Ordner auflisten?
 
Also ich habe noch immer meine Probleme dieses Such-Zeug zu verstehen :wall:

Ja, für viele ist es nicht so schwer, aber ich bin froh das man auch SOLCHE parade-antworten findet...
Ich bedanke mich auch für das Beispiel :-D

Achja, lernen tut man nur wenn man ein Vorbild hat und sich damit befasst. Also ist man selber für seinen Lernerfolg verantwortlich.

Liebe Grüße

:dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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