Entwickler-Ecke
Dateizugriff - Nur Ordner einlesen
Anonymous - Mo 10.02.03 08:34
Titel: Nur Ordner einlesen
Irgendwie komme ich nicht weiter. Ich will nur die Ordner eines Verzeichnisses auslesen (also ohne Dateinamen). Zwar hab ich das noch nie gemacht, ich war mir aber sicher, daß man da an FindFirst nur das faDirectory übergeben muß. Ist aber nicht so. Mit dem Attribut FindFirst werden alle Dateien ausgelesen (zumindest bei mir). Hat einer eine Idee wie man das zu laufen kriegt.
Hier der Code den ich benutze.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure GetAllFilesF(PathAndMask: String; Sl: TStrings); var Search: TSearchRec; i, Attrib: Integer; begin Attrib := faDirectory;
Sl.Clear; if FindFirst(PathAndMask, Attrib, Search) = 0 then repeat Sl.Add(Search.Name) until FindNext(Search) <> 0;
for i := Sl.Count - 1 downto 0 do if (Sl.Strings[i] = '.') or (Sl.Strings[i] = '..') then Sl.Delete(i); end; |
Es wird ein Pfad mit Maske übergeben. Das Ergebnis landet in der Listbox.
Delete - Mo 10.02.03 09:21
Hi Popov. Ich benutze meist das Attribut
faAnyFile und teste vor der Darstellung im Programm, ob es sich wirklich um einen Ordner handelt:
Quelltext
1: 2: 3:
| if(Search.Attribute and faDirectory <> 0) and (Search.Name <> '.') and (Search.Name <> '..') then S1.Add(Search.Name); |
btw: Für Listboxen gibt´s übrigens noch die Nachricht "LB_DIR", mit der du die Ordner noch einfacher einlesen kannst. Habe ich nie ausprobiert, aber ich bin im PSDK darüber gestolpert.
Anonymous - Mo 10.02.03 17:54
Danke. Die Möglichkeit mit der Nachricht "LB_DIR" kenne ich auch. Allerdings braucht man das so selten, daß man, wenn man es braucht, meistens garnicht draufkommt oder es auf die Schnelle nicht hinkriegt.
AndyB - Mo 10.02.03 18:31
Was mit bei
| Zitat: |
Quelltext 1: 2:
| if FindFirst(PathAndMask, Attrib, Search) = 0 then repeat Sl.Add(Search.Name) until FindNext(Search) <> 0; | |
fehlt, ist ein
FindClose(Search).
Anonymous - Mo 10.02.03 22:33
Hast du recht. Sehe ich auch gerade.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!