Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Verzechniss: alle beinhaltenden Ordner ermitteln? (https://www.delphipraxis.net/119938-verzechniss-alle-beinhaltenden-ordner-ermitteln.html)

LuCSteR 3. Sep 2008 12:57


Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Hi,

gibt es eine Funktion oder Eigenschaft, die mir von einem bestimmten Pfad die Namen alle darin befindlichen Ordner zurückgibt?

Grüße

mkinzler 3. Sep 2008 12:59

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Nein, aber Ordner sind besondere Dateien. Du kannst sie wie Datein finden (.FindFirst/.FindNext)

HenKst 3. Sep 2008 13:01

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Schau dir mal FindFirst, FindNext, FindClose an.

Damit findest du jeweils eine Datei bzw einen Ordner im angegebenen Pfad.
Ich Kenne keine Funktion die mehrere auf einmal zurückgiebt.

Yey 10 Posts^^

DeddyH 3. Sep 2008 13:04

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Du könntest Dir TStrings als Parameter an die Prozedur übergeben. Diese werden dann von der Prozedur befüllt.

LuCSteR 3. Sep 2008 13:09

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Zitat:

Es wird dringend davon abgeraten diese Lösung zu benutzen, da so die interne Reihenfolge durcheinander gebracht werden kann. So ist nicht garantiert, dass FindNext die richtigen Dateien für das Löschen findet.
(In meinem Fall kopieren)

Deshalb wollte ich auf diesen Weg verzichten.
Bei der FTP Komponente "synapse" gibt es auch eine Funktion, die mir alle Datei/Ordner-Namen in eine Liste speichert. Wenn es eine solche Funktion bei dieser speziellen Komponente gibt, warum gibt es denn keine in den Standardbibliotheken? Mhh...

@ DaddyH:
Von welcher Prozedur sprichst du?
Wie oben erwähnt, macht es nat. Sinn die Namen in einer Liste zu speichern.

DeddyH 3. Sep 2008 13:13

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Von Löschen hattest Du nichts gesagt. Und die angesprochene Prozedur könnte z.B. die folgende Signatur haben:
Delphi-Quellcode:
procedure ListSubDirs(Dirname: string;const sList: TStrings);

HenKst 3. Sep 2008 13:16

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Synapse hat diese Liste weil es eben einen FTPbefehl gibt der die liste zurückgibt.
Da macht aber der Server auch nichts anderes als das system äquivalent zu FindFirst, FindNext...

Ich weiss jetzt nicht woher dein Quote war aber das scheint mir so als wäre das eine schleife die eine Datei löscht sobald sie gefunden ist.
Wenn du dir eine Liste mit einer Find schleife erstellst und nach der Schleife eben die Dateien/Ordner aus der Liste löschst, sollte keine interne Reihenfolge darunter leiden.

LuCSteR 3. Sep 2008 13:23

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Hab auch nichts von löschen gesagt, sondern
Zitat:

(In meinem Fall kopieren)
:))

Komm ich quasi um die FindNext Sache nich drumherum oder?

Das Zitat stamm von
Delphi-Treff.

DeddyH 3. Sep 2008 13:29

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
Was ist an FindFirst/FindNext so schlimm?

LuCSteR 3. Sep 2008 13:41

Re: Verzechniss: alle beinhaltenden Ordner ermitteln?
 
FindFirst und FindNext geben mir nur Longint zurück, nicht den Namen(string) des gefundenen Elements.

Delphi-Quellcode:
ChangeCurrentDir(TempDownloadDir);
sList[0]:=FindFirst(GetCurrentDir);
sList[i]:=FindNext(GetCurrentDir);
...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.
Seite 1 von 4  1 23     Letzte »    

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