Bonjour
J'ai sortie une ancienne procedure qui existait en D7 et je desirais la corriger pour l'utiliser en Radstudio 12 et a la ligne de lpFileOp.pFrom:=TabFrom j'ai un erreur sur Tabfrom
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 procedure copier(Handle:HWND;Source,Cible:String); var lpFileOp:TSHFileOpStructA; TabFrom:array[0..255] of char; i:integer; begin For i:=0 to length(Source)-1 do TabFrom[i]:=Source[i+1]; TabFrom[length(Source)]:=#0;// pFrom peut contenir plusieurs noms de fichier. Les noms doivent être séparés par le caractère #0. TabFrom[length(Source)+1]:=#0;// d'après mes essais, le dernier nom de fichier doit être suivi de deux caractères #0. {-----préparation du paramètre lpFileOp qui sera passé en paramètre à SHFileOperation -----} lpFileOp.Wnd:=handle; lpFileOp.wFunc:=FO_COPY; // l'action sera une copie lpFileOp.pFrom:=TabFrom; // contient le ou les fichiers /dossiers à recopier lpFileOp.pTo:=PAnsiChar(Cible); // ce vers quoi on recopie lpFileOp.fFlags:=FOF_ALLOWUNDO; // préserve la possibilité d'annuler la copie // + FOF_RENAMEONCOLLISION; //si le fichier cible existe déjà, il le copie sous un nom du style copie (1) de.. { fin de la préparation du paramètre lpFileOp} SHFileOperation(lpFileOp); // procède à la copie end;
Mario
Partager