Bonjour
J'utilise une procédure récursive pour vider un dossier de tout son contenu.
Cela fonctionne parfaitement mais je déplore une durée d'exécution proportionnelle au développement de l'arborescence.
Mon programme doit tourner sous Windows 2000, XP et Vista.
J'ai essayé la source trouvée dans la FAQL'exécution ne donne pas le résultat escompté. Aucun fichier ou dossier n'est supprimé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 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;
Quelqu'un pourrait-il me dire pourquoi ?
Merci d'avance
Partager