VB6, CALCUL LE CRC D'UN FICHIER: MODULE.VB ET API.ZLIB

Signaler
Messages postés
185
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
20 juin 2013
-
Messages postés
1
Date d'inscription
vendredi 12 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009
-
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/40785-vb6-calcul-le-crc-d-un-fichier-module-vb-et-api-zlib

Messages postés
1
Date d'inscription
vendredi 12 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009

bonjour je dois faire un programme en vb 6 et ca pose vraiment un problème est-ce que qqn pourrait m'aider svp c pour mon examen...
Merci bcp bonne journée
Voici le programme:

1) création d’un ligiciel d’acquisition de mesure
Ecriver un prog (analyse en pseudocode + en vb) qui permetra, la résolution du problème ci-dessous.
Votre prog permetra la lesture de 4 mesure de tension su un/des convertisseur analogique/numérique (can) 12bits ( valeur = 2³ à 2² de byte1 * 256 + 2^7 à 2^0 de byte 2) , (les lecture sont à simuler de facon aléatoire (fonction rnd)).Le phénomène (variation des mesures) est considéré comme « lent ». La configuration suivante : un seul convertisseur et un multiplexeur à 4 canaux peut éventuellement convenir.
La série de mesures doit être prise toutes les 120 sec (toutes les deux « minutes pleines » , le nombre de sec =00)
Les mesures seront stockées dans un fichier à acces séquentiel. Une trame d’information étant structurée de la manière suivante.

jj / MM /AA / HH / MM / SS / M1L / M1H / M2L / M2H / M3L / M3H / M4H / CRC16L / CRC16H

jj MM AA rerésente la date ; jour – moi- année = 3 bytes (pour l’année, on retranche 2000 avant stockage et on ne reprend que les deux dernier chiffre)

HH MM SS représente l’heure : heure minute seconde = 3bytes (SS toujours égal à 00).

M1H M1L … M8H M8L représente les mesures de (0 à 16*256 +255 2bytes) 16bytes.

CRC16L CR16H représente le calcul du checksum = 2bytes. Ce CRC16 vous donnera une indication sur la validité de votre trame d’information.
Messages postés
185
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
20 juin 2013

Nous sommes d'accord.
Cordialement
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
5
Je n'ai pas réussit a traduire excatement la totalité des sources ZLIB.
De toute façon c'etait trop lent !
J'ai donc fait deux méthodes biens distinctes: VB-CRC et ZLIB-CRC.
Vu qu'il n'y as pas de norme particulière pour ce calcul, on peut très bien accepter une valeure de CRC différente; surtout si ca a comme effet d'accelerer l'executions des routines.
Le compilateur C permet de faire des calculs que VB ne supportent pas.

[C]; Pour la compatibilité, on dit ZLIB.
[VB]; Pour la rapidité, on dira Vérification Parallèle.
La suite logique serait que quelqu'un optimise ce code d'avantage.
Pas pour en faire un code qui soit compatible, VB lui meme ne l'es pas.
Mais plutot de marginaliser un code fiable et rapide pour les programmeurs en basic.
Messages postés
185
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
20 juin 2013

D'accord si tu calcules et testes le CRC avec le même algo, mais si tu veux que ton crc soit compatible avec d'autres, celui de winzip par exemple, c'est bien le calcul obtenu par zlib qu'il faut.
Afficher les 10 commentaires