Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komplettes Verzeichnis löschen (https://www.delphipraxis.net/83853-komplettes-verzeichnis-loeschen.html)

Christian18 7. Jan 2007 12:54


Komplettes Verzeichnis löschen
 
Hi,

beim Löschen eines kompletten Verzeichnises, kommt immer folgender Fehler:

E/A-Fehler 145.

Jetzt habe ich herrausgefunden, dass wenn in dem Verzeichnis noch ein Unterverzeichnis ist, dann kommt der Fehler sonst nicht. muss ich erst die Unterverzeichnisse Löschen???

Gibt es in Delphi auch eine Funktion die das schon für mich macht???

Ich will das Verzeichnis momentan mit RmDir(path); löschen

MFG Christian18

Klaus01 7. Jan 2007 13:04

Re: Komplettes Verzeichnis löschen
 
Hallo,

vielleicht hilft Dir dieser Tip weiter.

Grüße
Klaus

Antigo 7. Jan 2007 13:06

Re: Komplettes Verzeichnis löschen
 
ich würde mal tippen, das man nur leere Ordner löschen kann. Um einen Ordner zu löschen musst du also erst alle Dateien und Verzeichnisse die darin liegen löschen. Ich würd das ganze rekursiv machen.

Also die Prozedur >Lösche Ordner< schaut sich den Inhalt des gewählten Ordners an und löscht alle Dateien. Für jeden Ordner den sie in dem Ordner findet ruft sie sich selbst mit dem jeweiligen Ordner auf und macht dort das ganze, solange bis keine Ordner mehr gefunden werden, und dann werden die Ordner selbst gelöscht.


SO würd ich das ganze machen, aber das gibts sicher irgendwo vorgefertigt.

St.Pauli 7. Jan 2007 13:06

Re: Komplettes Verzeichnis löschen
 
Die Delphi-Hilfe hätte dir weitergeholfen:

Zitat:

RmDir Routine
Löscht ein leeres Unterverzeichnis.
Wie von Klaus schon gesagt lässt es sich mit den SHFileOperations entfernen.


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