Comment déplacé un fichier a partir de delphi

fabien -  
 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

1 réponse

  1. nabzone
     
    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/
    0