Bonjour,

Pour effacer un repertoire et son contenu, j'utilise la fonction suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
uses ..., ShellApi;
 
function EffaceDossier(Dossier: string): Boolean;
var FileOpStruct: TShFileOpStruct;
begin
  FileOpStruct.Wnd := 0;
  FileOpStruct.wFunc := FO_DELETE;
  FileOpStruct.pFrom := PChar(Dossier+#0+#0);
  FileOpStruct.pTo := nil;
  FileOpStruct.fFlags := FOF_NOCONFIRMATION or FOF_SILENT or FOF_ALLOWUNDO;
  FileOpStruct.lpszProgressTitle := nil;
  Result := ShFileOperation(FileOpStruct) = 0;
end;
et ça marche très bien

pour contre, je veux copier maintenant un répertoire et tout son contenu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
uses ..., ShellApi;
 
function CopieDossier(DossierSource,DossierDestination: string): Boolean;
var FileOpStruct: TShFileOpStruct;
begin
  FileOpStruct.Wnd := 0;
  FileOpStruct.wFunc := FO_COPY;
  FileOpStruct.pFrom := PChar(DossierSource+#0+#0);
  FileOpStruct.pTo := PChar(DossierDestination+#0+#0);
  FileOpStruct.fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
  FileOpStruct.lpszProgressTitle := nil;
  Result := ShFileOperation(FileOpStruct) = 0;
end;
et ca ca ne marche pas, j'ai une solution qui marche déjà mais je voudrais l'optimiser en utilisant ça...

Merci de votre intervention constructive