Entwickler-Ecke
Dateizugriff - Ordner löschen
lkz633 - So 09.02.03 17:09
Titel: Ordner löschen
Hi,
ich möchte einen Ordner löschen, jedoch muss dieser davor leer sein. Wie mache ich dies ? Hab mal gedacht, dass ich alle Dateinamen einer Stringliste übergebe, und dann die einzelnen Strings deletefile übergebe, nur wie bekomme ich die dateinamen in die Stringliste ?
Was gibts noch für Möglichkeiten ?
Herlichen Dank für eure Hilfe
lkz633
Keldorn - So 09.02.03 17:15
wurde schon mehrfach diskutiert, Eine Forumsuche wäre nicht schlecht gewesen. Stichwort:
SHFileOperation
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| uses ShellApi;
function CopyDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_COPY; fFlags := FOF_FILESONLY; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end;
function MoveDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_MOVE; fFlags := FOF_FILESONLY; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end;
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; |
Mfg Frank
lkz633 - So 09.02.03 17:21
Natürlich habe ich davor gesucht und auch den code gefunden, leider hat er nicht funktioniert
Gruss lkz633
Keldorn - So 09.02.03 19:25
| lkz633 hat folgendes geschrieben: |
leider hat er nicht funktioniert
|
was klappt denn nicht?
bei mir funktionierts.
Mfg frank
lkz633 - So 09.02.03 19:36
Tja, der Ordner wird einfach nicht gelöscht
Rückgabewert ist 0.
Gruss lkz633
lkz633 - Di 11.02.03 12:11
Ich habe es jetzt mit findfirst gemacht, hab dazu noch ne frage, in euem thread
Danke für eure Hilfe
lkz633
Delete - Di 11.02.03 12:42
SHFileOperation ist aber die einfachere Variante.
Zeig doch mal den Code, den du benutzt hast, oder wenn du ihn 1:1 übernommen hast, dann die Frage: bist du sicher, den korrekten Namen angegeben zu haben? Keine doppelten Backslashes, usw.?
Der Rückgabewert Null lässt eigentlich darauf schließen, dass der Aufruf erfolgreich war:
Quelltext
1:
| Result := (0 = ShFileOperation(fos)); |
Vielleicht hast du auch versucht, einen Ordner zu löschen, den du nicht löschen darfst/kannst (mangels Rechten)?
lkz633 - Di 11.02.03 12:53
Hi,
den Pfad habe ich mir anzeigen lassen, der stimmt, aber ich werd heut abend nochmal alles anschauen.
Den Ordner erstelle ch davor selber, also Berechtigung ist vorhanden.
Den code habe ich 1:1 übernommen :oops: :oops:
Gruss lkz633
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!