![]() |
Verzeichnissliste in Listbox
Gibt es eine Funktion der man ein Verzeichnis übergibt und wo dann alle Unterverzeichnisse in einer Listbox angezeigt werden können? Halt sowas wie ne Shelltreeview, nur weiß ich nich wie ich das übers netzwerk übertragen soll weil man ja mit listbox1.commtatext einen String bauen kann. Es soll ein Program zum DAteien hin und her kopieren werden.
Koller |
Re: Verzeichnissliste in Listbox
|
Re: Verzeichnissliste in Listbox
In der DP gibt alles :mrgreen:
Man schaue in die Code-Library: ![]() |
Re: Verzeichnissliste in Listbox
Er braucht aber nur die Verzeichnisse :P . Aber man kann die Funktion ja als Vorlage benutzen, dann hat man sich schon viel Arbeit gespart.
|
Re: Verzeichnissliste in Listbox
Also ich stehe nun vor dem gleichen Problem, dass ich ein Verzeichnis habe, in dem sich diverse Ordner befinden, die ich einlesen und auflisten muss. Wie kann ich also die von Euch angepriesene Routine umschreiben? (
![]() Dort gehts doch immer um Dateien a´la *.* Ich suche aber Ordner. Ich weiss, das sind auch nur Dateien im weitesten Sinn, aber wie gehts denn nun? |
Re: Verzeichnissliste in Listbox
Die Lösung steht doch schon im Code:
Delphi-Quellcode:
Hier kannst du dann die Ordner in die StringList werfen. Die rekursive Suche kannst du ja entfernen, wenn du keine Unterordner brauchst.
if Recurse then
if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then // --> ein Verzeichnis wurde gefunden // der Verzeichnisname steht in SR.Name // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist // RootFolder + SR.Name |
Re: Verzeichnissliste in Listbox
Mein Problem ist, dass ich nicht wirklich rekursiv suchen will sondern nur alle direkten Unterordner eines Verzeichnisses finden will.
Ich habe es jetzt mal so probiert, aber es will mir einfach nicht gelingen...
Delphi-Quellcode:
Ich erhalte alle Unterordner aber auch 2 Einträge mit . und ..
procedure GetDirectoriesInDirectory(ADirectory: string; AMask: String; AList: TStrings; ARekursiv: Boolean);
var SR: TSearchRec; begin if ARekursiv then if (FindFirst(ADirectory+'*.*',faDirectory,SR)=0) then begin repeat if SR.Attr and faDirectory = faDirectory then AList.Add(sr.Name); until FindNext(SR)<>0; FindClose(SR); end; end; |
Re: Verzeichnissliste in Listbox
Zitat:
Delphi-Quellcode:
if (SR.Attr and faDirectory = faDirectory) and (sr.Name<>'.') and (sr.Name<>'..') then
AList.Add(sr.Name); |
Re: Verzeichnissliste in Listbox
Da lag ich ja gar nicht so falsch mit meiner Herangehensweise
Delphi-Quellcode:
repeat
if SR.Attr and faDirectory = faDirectory then if not(sr.name='.') and not(sr.name='..')then AList.Add(sr.Name); until FindNext(SR)<>0; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 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