Suppression de sous-dossiers
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 FAQ
Code:
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; |
L'exécution ne donne pas le résultat escompté. Aucun fichier ou dossier n'est supprimé.
Quelqu'un pourrait-il me dire pourquoi ?
Merci d'avance