Comment déplacé un fichier a partir de delphi
fabien
-
nabzone -
nabzone -
je voudrais déplacé un fichier à partir d'une fiche delphi 5.0 . Je dois le faire sans utilisé un OpenDialog ou un SaveDialog. Il faut que je le fasse après avoir enrgistrer le fichier sur la base SQL, afin de ne pas enregistrer le même fichier
A voir également:
- Comment déplacé un fichier a partir de delphi
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Delphi 7 - Télécharger - Langages
- Fichier bin - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
1 réponse
dans les uses rajoute ShellAPI
procedure deplace(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;
TabFrom[length(Source)+1]:=#0;
lpFileOp.Wnd:=handle;
lpFileOp.wFunc:=FO_MOVE; // l'action sera un déplacement
lpFileOp.pFrom:=TabFrom; // contient le ou les fichiers /dossiers à déplacer
lpFileOp.pTo:=PAnsiChar(Cible); // ce vers quoi on déplace
lpFileOp.fFlags:=FOF_ALLOWUNDO; // préserve la possibilité d'annuler le déplacement
// + FOF_RENAMEONCOLLISION; //si le fichier cible existe déjà, il le copie sous un nom du style copie (1) de..
SHFileOperation(lpFileOp); // procède au déplacement
end;
==================================
pour exécuter la procédure
deplace(Handle, 'c:\fichier.txt','c:\00000\fichier.txt');
va voir sur ce site http://perso.wanadoo.fr/bardou/
procedure deplace(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;
TabFrom[length(Source)+1]:=#0;
lpFileOp.Wnd:=handle;
lpFileOp.wFunc:=FO_MOVE; // l'action sera un déplacement
lpFileOp.pFrom:=TabFrom; // contient le ou les fichiers /dossiers à déplacer
lpFileOp.pTo:=PAnsiChar(Cible); // ce vers quoi on déplace
lpFileOp.fFlags:=FOF_ALLOWUNDO; // préserve la possibilité d'annuler le déplacement
// + FOF_RENAMEONCOLLISION; //si le fichier cible existe déjà, il le copie sous un nom du style copie (1) de..
SHFileOperation(lpFileOp); // procède au déplacement
end;
==================================
pour exécuter la procédure
deplace(Handle, 'c:\fichier.txt','c:\00000\fichier.txt');
va voir sur ce site http://perso.wanadoo.fr/bardou/