Copier répertoire - problème avec fonction windows SHFileOperation

Senso74 Messages postés 1 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 21 avril 2009 - 21 avril 2009 à 16:00
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 25 avril 2009 à 16:16
Bonjour à tous!

Mon application consiste à copier un repertoire (et les sous repertoires) de mon disque dur local "D:" sur un serveur "G:". J'ai utilisé le bout de code trouver ici: http://delphi.developpez.com/faq/?page=repertoire (voir la partie en fin de page nommée "Comment copier un repertoire?").

Pour info ce code marche très bien. On peut voir qu'il utilise la fonction Windows "SHFileOperation" qui utilise les paramètres "SHFILEOPSTRUCT" (voir ces paramètres ici: http://msdn.microsoft.com/en-us/library/aa453691.aspx).

Concernant les fFlags le code indique ceci:

fFlags := FOF_SILENT
or
FOF_NOCONFIRMATION
or
FOF_NOCONFIRMMKDIR;

Le flag "FOF_NOCONFIRMATION" permet de répondre automatiquement "Oui à tous" lorsque le répertoire à copier est déjà présent sur le serveur de déstination (écrase les anciens répertoires et fichiers du même noms). Cependant j'aimerais avoir un paramètres du même style mais permettant de ne copier que les nouveaux dossiers et fichiers (parce que j'ai énormément de sous repertoires et de fichiers et ca prend un temps conséquent pour les copier).

Le problème est que dans les paramètres "SHFILEOPSTRUCT" il n'y a aucun fags pour réaliser ceci. Une âme charitable aurait elle l'amabilité de m'indiquer une solution pour résoudre mon problème?

Merci d'avance!

1 réponse

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
25 avril 2009 à 16:16
Salut
Je pense que tu vas devoir copier fichier/fichier afin de vérifier les dates de modifications et ainsi pour copier ou non le fichier en question.
La solution que tu as choisi pour le moment ne permet pas de faire ça. C'est copie de dossier complet. point barre.
Tiens nous au courant
0
Rejoignez-nous