Calcul CRC

Résolu
AGG Messages postés 2 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 31 mars 2014 - Modifié par AGG le 31/03/2014 à 13:32
AGG Messages postés 2 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 31 mars 2014 - 31 mars 2014 à 17:23
Bonjour,

Je dispose d'un code en c++ qui permet de calculer un CRC.
J'ai beaucoup de mal a le comprendre, puis moi et les math.

Je cherche a le refaire en VB6.

char TestCRC::CalcCRC(unsigned char *tgram)   
{
unsigned char CRC=0;
for(int i=0;i<4*8;i++)
// IF bit i in telegram XOR bit to shift out
if(((tgram[i>>3]>>(i&7))^CRC)&1)
CRC=(CRC>>1)^0xCF;
else
CRC>>=1;
return CRC;
}

Pouvez vous me mettre sur la bonne vois ?
Cordialement.

2 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
31 mars 2014 à 16:45
Bonjour
Il serait fortement conseillé que tu comprennes le raisonement du
crc et commence toi meme à écrire ton propre code en vb6
et ne pas de venir avec un bout de code en c++
en plus il y a un moteur de recherche du forum cherche crc
0
AGG Messages postés 2 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 31 mars 2014
Modifié par AGG le 31/03/2014 à 17:51
J'ai fini par trouvé seul, ça fonctionne.

Function CalcCRC(tgram As String)
Dim CRC As Long, X As Integer
For X = 1 To Len(tgram)
CRC = CRC + Asc(Mid(tgram, X, 1))
Next X
CalcCRC = Chr((CRC Mod 256) Xor 255)
End Functionn
0
Rejoignez-nous