COMPARATEUR DE FICHIERS

Signaler
Messages postés
9
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
12 mars 2007
-
VbLibre
Messages postés
16
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 octobre 2005
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34042-comparateur-de-fichiers

VbLibre
Messages postés
16
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 octobre 2005

Bon merci pour les remarques :. Je vais en faire mieux
DeadlyPredator
Messages postés
222
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
30 juin 2008

TRÈS TRÈS MAUVAISE IDÉE LE ÉGAL!! Pour comparer deux fichiers de 650 mo, il va falloir 1300 mo de mémore ce qui est impensable. La vrai méthode conside à créer un checksum pour chaque fichier. Un checksum. Pour créer un checksum, on lit un fichier par section et l'aide d'un algorithme mathématique, on créé un valeur de taille fixe qui va changer d'une valeur à l'autre, qui sera identique si les fichiers sont identiques mais différente si les fichiers le sont. Un checksum très simple est de créer un variable et, par exemple, d'additioner la valeur de chaque caractère ... mais bien évidament, bonjour l'imprécision et la limite. Voici le nom de vrai checksums professionels: MD5, CRC32(le meilleur je crois, est utilisé dans les archives zip, rar, ace...), SHA (jamais vraiment vu). C'est des maths ben complexes ces checksums. Bonne chance.
Proger
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008

Ouch la comparaison, ya gros bug.
a quoi sert le for..next de données1 et données2 si tu réécris par dessus à chaque fois ? un fichier de 2Mo tu n'en chargera que la fin (ou les derniers 1 000 000 octets) avec ta méthode.
la correction serai données1 données1 & buffer (buffer etant le space(1000000) ), mais là ouille ouille si les fichiers font plus de 30Mo (VB6 aime pas charger plus de 30Mo dans ses strings).

Enlève donc le On Error Resume Next et tu verras que :
Open (path2 & "" & File2.List(k)) For ...
ca vautre dans les dossiers racines.

Perso je mettrai 4 dans l'état actu des choses! Mais jpense que tu peux updater tout ça. Le bon point c'est l'interface et le fait que tu vas mettre à jour tout ça :)
VbLibre
Messages postés
16
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
5 octobre 2005

Merci, tu m'as donné un autre espoire :)
cadjou69
Messages postés
9
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
12 mars 2007

1er fois qu'une source marche direct après le telechargement. je n'ai pas regardé le code mais le resulta vaut bien 9.