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 :

Comment copier un répertoire et ses fichiers?


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut Comment copier un répertoire et ses fichiers?
    Bonjour
    Je cherche a faire une copie d'un répertoire (et de tout ses fichiers) et je n'y arrive pas.
    Je suis allé dans la FAQ et j'ai vu qu'il fallait utiliser CopyFolder mais delphi ne le reconnait pas...
    Comment dois je faire y a t il autre chose que CopyFolder?



    ps: j'ai rajouté la clause shellAPI

  2. #2
    Membre éclairé
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Points : 668
    Points
    668
    Par défaut
    Bien sur!! c'est une foction crée sur la faq :
    voici la fonction :
    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
     
    function CopyFolder(FromFld, ToFld: string): boolean; 
    var fos: TSHFileopStruct; 
    begin 
    // il faut supprimer les antislashs de fin sinon vous aurez droit à un message d'erreur 
      FromFld := ExcludeTrailingPathDelimiter(Trim(FromFld)); 
      ToFld := ExcludeTrailingPathDelimiter(Trim(ToFld)); 
     
      FillChar(fos, SizeOf(fos),0); 
      with fos do 
      begin 
        wFunc := FO_COPY; 
        pFrom := PChar(FromFld+#0); 
        pTo   := PChar(ToFld+#0); 
        fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR; 
      end; 
      Result := ShFileOperation(fos)=0; 
    end;
    et voici le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if CopyFolder('d:\Repertoire01', 'c:\Repertoire02')then 
         ShowMessage('Copie effectuée avec succès') else 
         ShowMessage('Copie non effectuée');

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut
    Mais y a pas plus simple

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Points : 57
    Points
    57
    Par défaut
    Bonsoir,

    En un peu moins de termes chinois, tu peut regarder dans la faq le sujet concernant le listage de repertoires. Cela prend 3 ou 4 lignes.
    Il faudra avoir créé au préalable le dossier racine.
    Puis pour chaque entité listée, la copier (si c est un fichier), ou créer un dossier si l'entité listée est un dossier.

    PS: regarder SelectDirectory dans Dialogs et FindFirst, Findnext et Findclose de Filectrl.

  5. #5
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Points : 161
    Points
    161
    Par défaut
    Tu paux aussi regarder du coté des API windows, en particulier SHFileOperation

Discussions similaires

  1. comment copier une ligne d'un fichier à un autre
    Par debutant-1 dans le forum C
    Réponses: 14
    Dernier message: 26/06/2006, 21h01
  2. Comment copier un dossier et ses sous dossiers ?
    Par touhami dans le forum Langage
    Réponses: 5
    Dernier message: 30/12/2004, 16h10
  3. Réponses: 2
    Dernier message: 02/07/2004, 13h46
  4. Comment copier un répertoire et son contenu ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/06/2004, 17h40
  5. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09

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