DeleteFile()
-
Hallo,
kann man mit DeleteFile auch alle Files löschen die sich in dem Ordner befinden ??
DeleteFile(.) scheint bei mir nicht zu gehen, auch datein mit bestimmten Endungen lassen sich nicht löschen

-
Hallo
Mit DeleteFile kannst du immer nur eine Datei löschen. Du müßtest also erstmal mit FindFirst/FindNext alle Dateien suchen, und jede einzelne dann löschen.
Ich vermute das es aber bessere Möglichkeiten gibt, mit der WinAPI-Funktion SHFileOperation. Such mal im WinAPI-Forum danach.
/Edit : Genau, siehe hier.
bis bald
akari
-
hmm krieg ich mit dem WinAPI wieder nicht hin..
ShellExecute (Handle, "open", "deltree.exe /Y ", tempString.c_str(),"\WINPMAIL\\Logo\\", SW_SHOWNORMAL);ich habe es jetzt anders versucht den Quelltext meckert er nicht an aber machen tut er auch nichts
-
Wer hat denn was von ShellExecute gesag?!?
akari schrieb:
... SHFileOperation ...
-
Hallo
zumal ich ich auch noch einen Link gepostet habe, wo der vollständige Quellcode zum kopieren bereitsteht.
bis bald
akari
-
'operator+=' ist im Typ 'AnsiString' für Argumente des Typs 'char' nicht implementiert.
Der Fehler tritt dort aber leider auf und ich habe keine Ahnung wie ich den wegzaubere

-
Stimmt, da ist ein Fehler drin. Ich hatte es halt nicht getestet. Das hier müsste gehen
int DeleteDir(const AnsiString& Dir) { SHFILEOPSTRUCT sh; ZeroMemory(&sh, sizeof(sh)); sh.hwnd = NULL; sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_FILESONLY; sh.wFunc = FO_DELETE; int len = Dir.Length()+2; char* tdir = new char[Dir.Length()+2]; strcpy(tdir, Dir.c_str()); tdir[len-1] = '\0'; sh.pFrom = tdir; sh.pTo = 0; sh.hNameMappings = NULL; sh.lpszProgressTitle = NULL; int res = SHFileOperation (&sh); delete tdir; return res; }
-
Yoa das funzt so Vielen Dank
