begin process at 2012 05 27 15:53:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > EASYSYNCHRO => SYNCHRONISATION DE DOSSIERS

EASYSYNCHRO => SYNCHRONISATION DE DOSSIERS


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichiers / Disque Classé sous :synchronisation, fichiers, répertoires, shbrowseforfolder, findfirstfile Niveau :Débutant Date de création :28/09/2006 Date de mise à jour :04/10/2006 19:42:30 Vu / téléchargé :11 956 / 847

Auteur : goutbouyo

Ecrire un message privé
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Permet de sélectionner 2 répertoires : un source et un de desination, et de les synchroniser.
Dans le répertoire de destination :
Les fichiers n'existants pas seront crées.
Les fichiers existant mais plus anciens que la source seront remplacé ou non (selon choix dans les options)
A part ça, on ne touche pas aux autres fichiers.

On peut mettre en pause la synchronisation, l'arrêter, ou quitter le programme en pleine synchronisation.

Au niveau source, rien de bien extraordinaire mais des choses qui peuvent être utiles à certains (surtout aux débutants ...)
*Utilisation de SHBrowseForFolder qui permet d'ouvrir l'arborescence des répertoires et d'en sélectionner un.
*Utilisation de FindFirstFile() et FindNextFile() pour le listage des éléments d'un répertoire.
*Utilisation d'un thread : CreateThread(), WaitForSingleObject().

Il y a pas mal de manipulation de chaines de caractères avec strcpy(), sprintf() et les pointeurs, si vous remarquez des erreurs n'hésitez pas ...


 Conclusion

J'ai fait cette source parce que j'en avais besoin pour synchroniser des dossiers de mon portables sur un DD externe, mais j'espère qu'elle vous seras aussi utiles autant au niveau du principe que du code ...
J'attend vos remarques avec impatience !!!

Ah oui ... j'ai VSC 2005 et mon exécutable en release est plus gros qu'en debug (60Ko vs 48Ko), c'est du à la CRT(je sais pas trop ce que sais mais en ce moment je vois ça partout :) ), pouvez vous m'expliquer SVP ???

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

28 septembre 2006 23:29:58 :
Ajout d'une version de main sans aucune dépendance avec la CRT, ce qui permet de diminuer la taille de l'exécutable 60Ko => 10.5Ko (merci BruNews !!!)
03 octobre 2006 22:51:30 :
La fonction de synchronisation des fichiers se fait maintenant dans un thread,ce qui permet l'affichage spontanné des informations dans la listbox du programme. Ajout des boutons PAUSE et STOP. On peut mettre en pause la synchronisation, l'arrêter et même quitter le programme en pleine synchronisation. ATTENTION : Ces modifications touchent seulement la version AVEC CRT.
04 octobre 2006 19:42:30 :
Ajout d'une option permettant de signaler seulement les fichiers crées ou modifiés dans le log. Défilement de la listbox en même temps que son remplissage. On vide la listbox au début de chaque synchronisation. ATTENTION : ces modifications ne concernent que la version AVEC CRT.

 Sources du même auteur

Source avec Zip Source avec une capture JEU 3D OPENGL
Source avec Zip Source avec une capture PROTECTEUR PROGRAMMES(MOT DE PASSE)
Source avec Zip Source avec une capture GESTION DES STOCKS

 Sources de la même categorie

COMPTER LE NOMBRE DE PAGES D'UN FICHIER PDF par Renfield
Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10
Source avec Zip COPIE DE FICHIERS PAR RESEAU LOCAL par cczerty
Source avec Zip [MYLIB] GESTION DE FICHIERS par Galaad2908
Source avec Zip TEMPLATES C/C++ POUR VS 2010 par BruNews
SUPPRESSION RÉCURSIVE DE FICHIERS (DELTREE) par anhackers2

Commentaires et avis

Commentaire de deck_bsd le 28/09/2006 18:36:02

Très bonne source & programme :D

Commentaire de BruNews le 28/09/2006 18:59:42 administrateur CS

Pour virer le CRT, ne pas laisser le compilo insérer le code startup habituel mais fournit TON point d'entrée, exemple:
#pragma comment(linker, "/entry:myWinMain")
__declspec(naked) void __stdcall myWinMain()
{
  DialogBoxParam(GetModuleHandle(0), (LPCTSTR)IDD_APP, 0, AppDlgProc, 0);
  ExitProcess(0);
}

Remplace malloc, free et autres appels C habituels par l'appel direct API (HeapAlloc ou VirtualAlloc), pas de memset et autres de ce genre non plus.

#include <cstdio> ne sert strictement à rien.
sprintf(sBuf, "Vous allez copier ce répertoire : %s", szSourceDirectory);
Codé efficace donnera:
char szCPYSIR[] = "Vous allez copier ce répertoire : ";
char *c, *d;
c = szCPYDIR; d = buf;
while(*d = *c++) d++;
c = szSourceDirectory;
while(*d = *c++) d++;
Voila fait en nettement + rapide et 8 Ko de moins.

Commentaire de goutbouyo le 28/09/2006 23:24:24

DECK_BSD => Merci, content que ça te plaise !!!

BruNews => Merci pour ces infos, j'ai remplacé mes sprintf(), malloc(), free() par ton code et les fonction windows.
J'ai également enlevé l'include cstdio.
Mon fichier fait maintenant 10.5Ko.
C'est bien de réduire la taille de l'exécutable mais certaines fonctions nécessitant la CRT sont quand même souvent utiles (sprintf, atoi, ...)

Commentaire de BruNews le 28/09/2006 23:31:43 administrateur CS

sprintf , à part pour formatage des double, aucune utilité si ce n'est pour amuser le processeur.
atoi et consorts, tu trouveras nettement plus performant dans mes sources. Faut pas te gratter pour utiliser, c'est ici pour cela.

Commentaire de BruNews le 28/09/2006 23:51:24 administrateur CS

http://brunews.com/cppfr39727.zip
Je n'ai pas touché un iota de ton code.
Recharge dans VS et regarde comment il faut régler pour distribution, code produit est nettement meilleur et exe est tombé à 9 Ko.

Commentaire de goutbouyo le 29/09/2006 09:44:25

Tu m'impresionnes de plus en plus BruNews !!!
Merci pour ta configuration idéale, mais est ce possible de la définir par défaut plutôt que de tout reconfigurer pour chaque projet ???

Commentaire de BruNews le 29/09/2006 09:55:00 administrateur CS

TEMPLATES C/C++ POUR VS 2005
http://www.cppfrance.com/code.aspx?ID=36940

Commentaire de goutbouyo le 29/09/2006 12:21:40

Ok merci c'est génial comme programme.
@++++++++

Commentaire de perrierbertrand le 02/10/2006 11:20:11

oui je suis interessé par ce programme car j'aimerai faire des copie de sauvegardes de mes documents d'un disque dur a un autre, le fait de sauter les fichiers qui ont le meme CRC ce serai super, j'attend la correction des bugs

Commentaire de goutbouyo le 02/10/2006 15:53:44

Tu m'en demandes un peu trop là ...
Pourquoi tu veux sauter les fichiers qui ont le même CRC ??? Ma méthode ne te convient pas ?
De quels bugs attends-tu la correction ?

Commentaire de perrierbertrand le 02/10/2006 17:37:12

non escuse moi, je me suis mal exprimé. En fait l'option "remplacer les fichiers s'ils sont plus ancien" je trouve ca super car c'a veut dire que tous les fichiers que j'ai pas modifié ne seront pas traité durant la copie, puisqu'ils existent déja sur ma copie et donc l'opération de synchro s'éffectura plus vite que comme je fait actuellement c'est à dire que je recopie mes documents intégralement (copier coller)

Commentaire de goutbouyo le 02/10/2006 20:56:33

Content que ça te plaise !!!
Donc tu n'as pas trouvé de bugs ... ouf !

Commentaire de perrierbertrand le 02/10/2006 22:26:01

sinon j'arrive pas a ouvrir le programme avec Borland C++ Builder

Commentaire de goutbouyo le 02/10/2006 22:46:40

Il est compilé avev Visual Studio express 2005, et j'ai pas Borland C++ Builder ...
Mais, les fichiers sources(.cpp) doivent forcément s'ouvrir avec Borland aussi, donc tu dois pouvoir compiler le programme en créant un nouveau projet avec Borland ou en ouvrant seulement les cpp.

Commentaire de Kanjah le 14/10/2006 11:14:13

Bonjour a tous (premier post :-) )
Je suis étudiant en informatique (DUT 2ème année) et j'ai comme projet de créer un programme de synchronisation en C++ type rsync ou unison. Cela va donc sans dire que tes sources vont m'être d'une grande utilité pour mieux comprendre comment cela fonctionne. Un grand merci à toi et bonne continuation :D

Commentaire de goutbouyo le 15/10/2006 11:53:32

Content que ça puisse t'être utile.
Bon courage pour ton projet !!!

Commentaire de Morrissey le 15/01/2007 11:56:43

Bonjour à tous,
C'est très intéressant comme sources. Le seul HIC c'est quej'essaie d'installer ça sur mon PC (Windows XP) mais sans succès.
Quelqu'un pourrait me donner la démarche à suivre pour son installation afin que je puisse effectuer des tests ?
Merci beaucoup car ça devient critique pour moi.
Cordialement

Commentaire de Morrissey le 15/01/2007 12:06:39

Bonjour à tous de nouveau ... ;-)
Désolé de vous importuner encore ... j'essaie de voir la possibilité de transformation en C. Pensez-vous que cela soit simple ?

Commentaire de Morrissey le 15/01/2007 14:37:32

En fait j'ai installé le Visual C++ compatible Windows 2000 Service Pack 4, mais il y a un problème de compilation car on ne retrouve pas la librairie Windows.h
Quelqu'un aurait une idée please ?

Commentaire de goutbouyo le 15/01/2007 17:00:36

Le programme n'a pas besoin d'installation, tu renommes juste le .ex en .exe
Pour le problème de librairie, je pense que tu devrais installer Microsoft Platform SDK.
Sinon,tu devrais trouver ton bonheur sur le forum.
Cette page sert juste à donner des commentaires sur le programme en question.
@+++++++++

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Traitement de fichiers et répertoires sous différents OS [ par kawasaki31 ] Salut,J'ai cherché un peu partout sans trouver.Je cherche si des classes C++ existe pour copier, déplacer, supprimer un fichier, puis créer un réperto Algo de compression [ par PsyCaDi ] Bonjour,J'ai besoin de faire un petit prog qui me permettrait de compresser des répertoires contenant un maximum de 100 000 fichiers. J'ai des fichier URGENT!!!lister les fichiers existents dans un répertoire et les sous répertoires [ par ryoussef1983 ] Bonjour,je travaille avec VisualC++ sous .netj'ai fait un algorithme qui me  compresse  des  fichiersmais  ce que je  veux  c'est  compresser  des  ré Parcourir les répertoires SHBrowseForFolder() [ par ArthurAuguste ] Bonjour, Pour parcourir les répertoires et laisser l'utilisateur en choisir un, j'ai utilisé la fonction SHBrowseForFolder() de l'API Windows qui est Lister fichiers dans repertoire [ par chikusa ] Bonjour a tous, Voila mon, problème, j'essaye de lister tous les txt d'un repertoire avec les fonctions FindFirstFile et FindNextFile. Le problème qu ouverture de fichier compresser .arj [ par vercd7am ] Bonjour, j'aurais aime savoir comment ouvrir des fichiers compresses en .arj puis enregistrer les fichiers ailleurs. Ouvrir, lire, parcourir un fichi convertir fichiers textes au format unix [ par nitho ] Salut tout le monde !!!!! dites j'ai un petit souci, j'aimerais convertir plusieurs fichiers du format dos au format unix à partir de la console. Je Listage des fichiers d'une directory [ par ArthurAuguste ] Bonjour, Question probablement très simple pour qui l'a déjà fait. J'essaie de savoir quels sont tous les fichiers qui se trouvent sous une directory [Bar] Personnaliser le nom des fichiers dans l'Explorateur Windows (Windows XP) [ par titi2323ml ] Bonjour J'aimerais, si cela est possible, personnaliser le nom de mes FICHIERS, dans l'Explorateur Windows (sous Windows XP). Avoir, par exemple, ce Inclure fichiers dans .exe [ par didoux95 ] Bonjour à tous, J'ai dans un fichier .rc une liste de fichiers auquels je souhaiterais accéder plus tard. Aprés la compilation les dits fichiers ne s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,357 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales