CopyDir + ProgressBar [Résolu]

Messages postés
1
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
24 novembre 2008
- - Dernière réponse : cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 24 nov. 2008 à 12:23
Bonjour a tout le monde

J'ai un petit problème sur une procedure

  procedure Copier( source, dest : string);
begin
     i :=0;
     r := FindFirst(source+'*.*', FaAnyFile, DirInfo);
     while r=0 do
     begin
         if (DirInfo.Attr and faArchive > 0) then
         inc(i);
         r := FindNext(DirInfo);
       end;
     FindClose(DirInfo);

        r := FindFirst(source+'*.*', FaAnyFile, DirInfo);
     while r=0 do
     begin
        if (DirInfo.Attr and faArchive > 0) then
          begin

               Application.ProcessMessages;
               source2 := source+DirInfo.Name;
               dest2 := dest+DirInfo.Name;
              form1.label9.caption:=source2;
               CopyFile( pchar(source2) , pchar(dest2), false);
                   end;
                r := FindNext(DirInfo);
       form1.progressbar1.position:=form1.progressbar1.position+i+1;
           end;
     FindClose(DirInfo);
            r := FindFirst(source+'*.*', FaAnyFile, DirInfo);
          while r=0 do
     begin
          if (DirInfo.Attr and FaDirectory <> 0) then
             if ((DirInfo.Name <> '.') and (DirInfo.Name <> '..')) then
             begin
                CreateDir(dest+DirInfo.Name+'\');
                Copier(source+DirInfo.Name+'\', dest+DirInfo.Name+'\');
                 end;
          r := FindNext(DirInfo);
          Application.ProcessMessages;
             end;
           FindClose(DirInfo);
         form1.label9.caption:= source2;
        form1.progressbar1.position:= 0;
      end;

lors de la copie d'un répertoire cela fonctionne a merveille mais par contre
sur ma form j'ai 3 bouton avec 3 chemins différents et autant de progressbars
dois réécrire cette procedure en modifiant (progressbar1, par progressbar2) ou peut on modifier cette
procedure pour obtenir par exemple copier('source','destination',progressbar(x)) ???

je débute soyez indulgents

Magalio
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
3
Merci
bonjour,
procedure Copier( source, dest : string;Progress:TProgressBar);

form1.progress.position:= form1.progress.position;

une possiblité..

PROCEDURE TForm1.Button1Click(Sender: TObject);
BEGIN
  IF Tbutton(sender) = Button1 THEN
   (Source,destination,, progressbar1);
  IF Tbutton(sender) = Button2 THEN
    (Source,destination,, progressbar2);
etc..
END;

cantador

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_cantador

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.