Vb6, calcul le crc d'un fichier: module.vb et api.zlib

Soyez le premier à donner votre avis sur cette source.

Vue 11 146 fois - Téléchargée 1 235 fois

Description

Voici après temps d'éffort, une version certifé francaise puisque je le suis :)
D'un code source VB6 bien commenté pour calculer le CRC d'un fichier.
Poly^Cycliquement rapide.
Cette source devrait donner une bonne base a ceux qui veulent continuer mes travaux.

.Duke49.

Conclusion :


Les remerciements sont dans le module de la source.
Les fonctions sont assez simples.
Si un byte change la valeur du CRC sera différente, ca fonctionne.

Ce qui fait que vous pouvez faire mieux:
Ma matrice !
Je flanche un peu sur les décalages binaires.
Je ne suis pas un expert en polynomial.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

yan35
Messages postés
185
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
20 juin 2013
-
Bonne idée.
J'ai hâte de voir comment tu fais et de voir si ton calcul est + performant que celui que j'avais repris et adapté dans l'amélioration d'une classe Zip (http://www.vbfrance.com/codes/CLASSE-ZIP-POUR-ZIPPER-OU-DEZIPPER_40387.aspx), lorsque je n'utilise pas la zlib.
Cas où la mise en tableau d'octets d'1 trop gros fichier sature la mémoire lors de l'entrée dans la zlib.
De toutes façons le calcul fonctionne, alors je note 10, et je le reprendrai si + rapide. MERCI
Duke49
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
2 -
Le conteneur de mon fichier est une chaine String.
Si sa sature en mémoire, j'avais mise au point le calc en fractionnant le fichier lors de sa lecture.
On peu très bien suivre cette routine pour un fichier allant jusqu'a
10 mégas.
<=10mo = VB-CRC lecture en 1 passe.
<=50mo = VB-CRC lecture en 5 passes.
<=100mo = VB-CRC lecture 10 passes.
...
<=1000mo = VB-CRC lecture 100 passes.

Pour la rapidité j'ai prit ta facon de timer et j'ai fait un test.
Pour 16.257.024 octets, il met 5,921875 secondes sur mon vieux-coucou.
Duke49
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
2 -
Je corrige: <Le conteneur de mon fichier est un tableau de bytes>
pfff... fatigué.
Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
16 -
C'est assez court mais très complexe, chaque fois que j'ai voulu me tenté d'apprendre le calcul du CRC je n'y ai rien pigé ! et aujourd' hui c'est tjs pareil :'(

Bref, sinon le code est fonctionnel, bravo ! Très belle source et woahouuw quelle rapidité :O

J'aime les sources ou l'on pense à décharger des variables trop lourde, on en vois pas souvent.

Je ne note pas car je ne me suis pas penché sur la subtilité du code mais d'après ce que j'ai pu voir ça mérite bien un 10
yan35
Messages postés
185
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
20 juin 2013
-
Bonsoir,

Je reprends ton calcul pour le comparer avec celui que j'utilise. Je ne tombe pas sur le même résultat. Je teste donc + loin et je m'apperçois que tu n'obtiens pas non + le même résultat entre ta méthode VB et la zLib !
Désolé, j'ai refait plusieurs fois l'essai ... Enfin, il est tard, je ne vois peut-être plus clair.
Cordialement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.