IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Progression d'une copie de fichier sur un réseau ?


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut Progression d'une copie de fichier sur un réseau ?
    Bonjour,

    Savez-vous si il est possible de récupérer et afficher la progression d'une copie de fichier sur un réseau ?

    Par exemple :
    Afficher la progression de la copie du fichier "\\SRV\Rep\Fichier1.exe" vers "C:\Fichier1.exe"

    Merci,
    ZiP

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    La fonction CopyFileEx permet d'appeler une fonction CallBack durant la copie.
    Pour effectuer une copie d'un fichier en affichant la progression dans une progressbar :
    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
    24
    25
    26
    27
    28
    29
    30
    // Fonction CallBack :
    function CopyCallBack(
      TotalFileSize: LARGE_INTEGER;          // Taille totale du fichier en octets
      TotalBytesTransferred: LARGE_INTEGER;  // Nombre d'octets déjàs transférés
      StreamSize: LARGE_INTEGER;             // Taille totale du flux en cours
      StreamBytesTransferred: LARGE_INTEGER; // Nombre d'octets déjà tranférés dans ce flus
      dwStreamNumber: DWord;                 // Numéro de flux actuel
      dwCallbackReason: DWord;               // Raison de l'appel de cette fonction
      hSourceFile: THandle;                  // handle du fichier source
      hDestinationFile: THandle;             // handle du fichier destination
      progressBar : TProgressBar
      ): DWord; far; stdcall;
     
    begin
      // Calcul de la position en % :
      ProgressBar.position := TotalBytesTransferred.QuadPart * 100 Div TotalFileSize.QuadPart;
      // La fonction doit définir si la copie peut être continuée.
      Result := PROGRESS_CONTINUE;
    end;
     
    procedure TForm1.myCopyFile(Source, Destination : String);
    var
      lpCancel: pointer;
      flag : integer;
    begin
     progressbar1.max := 100;
     lpCancel := 0;
     Flag := 0;  // COPY_FILE_FAIL_IF_EXISTS et/ou COPY_FILE_RESTARTABLE
     CopyfileEx(pchar(Source),pchar(Destination),@CopyCallBack, progressBar1, lpCancel,Flag);
    end;
    Ca fonctionne aussi pour une copie sur le réseau...
    Bonne copie
    Eb

  3. #3
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonjour,

    Merci, c'est exactement ce que je cherchais !

    ZiP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Progression d'une copie d'un fichier
    Par Seth77 dans le forum C#
    Réponses: 16
    Dernier message: 25/09/2012, 16h26
  2. Réponses: 9
    Dernier message: 11/05/2012, 10h40
  3. Java- SCP copie de fichier sur une machine distante
    Par yoruichiy dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/08/2011, 23h02
  4. Progression d'une copie de fichier en binaire ?
    Par Shypster dans le forum C#
    Réponses: 28
    Dernier message: 13/03/2009, 15h57
  5. Copie de fichiers sur une liste de PC
    Par azerty987654 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/11/2008, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo