![]() |
Verzeichnis löschen
Mit RemoveDir kann man ein leeres Verzeichnis löschen. Gibt es auch eine Möglichkeit ein volles Verzeichnis zu löschen oder zu verschieben?
|
Re: Verzeichnis löschen
Delphi-Quellcode:
Hätte dir aber auch die Suche geliefert.
function DelDir(dir: string): Boolean;
uses ShellApi; ... var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_DELETE; fFlags := FOF_SILENT or FOF_NOCONFIRMATION; pFrom := PChar(dir + #0); end; Result := (0 = ShFileOperation(fos)); end; |
Re: Verzeichnis löschen
Danke! Muss ich wohl übersehen haben.
|
Re: Verzeichnis löschen
na toll, und ich hab mir vorgestern erst eine funktion gebaut die rekursiv die ordner und deren inhalt löscht.
|
Re: Verzeichnis löschen
Also, bei mir löscht der Programmcode DelDir weder ein volles noch einleeres Verzeichnis :(
Aufgerufen mit :deldir('c:\test'); Das gleicher Prob. habe ich auch mit RemoveDir. Ich komme einfach nicht darauf wo der Fehler liegt. Hat von Euch einer ein Tipp? |
Re: Verzeichnis löschen
wird das verzeichnis eventuell zu dem zeitpunkt verwendet (oder dateien daraus)?
|
Re: Verzeichnis löschen
Rpückgabewert von DelDir prüfen und falls False mit SysErrorMessage GetLastError ausgeben lassen.
|
Re: Verzeichnis löschen
Ich habe eine TForm. Auf der Form habe ich eine DirectoryListBox und ein Button. Das verzeichnis wähle ich mit der DirectoryListBox aus und durch klick auf den Button lösche ich das Verzeichnis.
Code:
Als Fehler taucht immer 'Zugriff verweigert' auf. Das Verzeichnis ist aber nicht geschützt!
uses shellapi;
function deldir(dir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_DELETE; fFlags := FOF_SILENT or FOF_NOCONFIRMATION; pFrom := PChar(dir + #0); end; Result := (0 = ShFileOperation(fos)); end; procedure TForm1.Button1Click(Sender: TObject); begin deldir(DirectoryListBox1.Directory); DirectoryListBox1.Update; end; procedure TForm1.FormCreate(Sender: TObject); begin end; |
Re: Verzeichnis löschen
Moin!
Doch! Deine DirectoryListBox greift noch drauf zu und wechselt auch den aktuellen Pfad dementsprechend, daher kann dieser nicht gelöscht werden. MfG Muetze1 |
Re: Verzeichnis löschen
Has Recht! Alles Klaro. Vielen Dank an Euch!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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