Faire une copy d'un repertoire à un autre...

jennybless Messages postés 38 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 10 août 2007 - 12 avril 2007 à 20:10
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 - 12 avril 2007 à 21:21
Salut?


J'ai écrit ces codes afin de faire une copie des fichiers se trouvant dans un repertoire. Sur mon form, j'ai un Barchar et un Tbutton. Je les ai écrit juste parce que j'aimerai faire une copie des fichiers existant dans un repertoire vers un autre. Ces codes marchent très bien.
Mais il y a un problème: la copie ne peut se faire que pour des fichiers portant leurs extensions et ne peut se faire en utilisant les symboles *.* comme dans le Dos (copie tous les fichiers). Prenons en un exemple:  'monprogramme'. Au lieu de 'monprogram.txt').
les codes colorés en rouge marchent:
copyfile('c:\myprogram\program.txt'.'c:\mytest\test.txt); true);bar.position:=100;

Mais ceux en bleu ne marchent pas comme je l'ai dit plus haut
copyfile('c:\myprogram\*.*.'c:\mytest\*.*); true);bar.position:=100;

Si je n'ai été clair dans mes dires. Prière de m'en faire part.


Merci d'avance. 
Merci.


Jennybless

2 réponses

jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
12 avril 2007 à 21:17
Bsr,

Il faut faire une procédure récursive en utilisant les fonctions FindFirst et FindNext de Delphi.
Ces fonctions renvoient aussi les noms de répertoires. Chaque fois que tu "tombes" sur un répertoire, tu appelles la meme fonction de façon récursive.
Essayes toi-même et si tu n'y arrives pas, je te donnerai plus de précisions.

J-L
0
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
12 avril 2007 à 21:21
Précision: mon message précédent indique une méthode compliquée mais intéressante.
Il est plus simple d'utiliser l'API ShFileOperation  :-)

J-L
0
Rejoignez-nous