Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

checksum comment faire .

7 réponses
Avatar
eric-leslapys
Bonjour,

ne maniant pas l"anglais a fond, quelqu'un peut'il m'aider dans cette
fonction mathématique.

the checksum ( initially set to zero) is a 16_bit binary addition (
excluding parity bits if applicable) of all characters.

le checksum permettant un controle d'un chaine à transmettre ( socket ou
liaison série)

en windev ça donne quoi

en clipper j'avais des fonctions crc16, ou 32 ou checksum d'une chaine
mais la je craaaaaaaaaaque.

Merci
eric

7 réponses

Avatar
patrice
eric-leslapys a écrit :

the checksum ( initially set to zero) is a 16_bit binary addition (



checksum est un entier sans signe sur 2 octets
pour i=1 a taille(chainerecu)
checksum+=asc(chainerecu[[i]]])
Avatar
eric
patrice a écrit :
eric-leslapys a écrit :


the checksum ( initially set to zero) is a 16_bit binary addition (






Merci à gilles et à patrice pour leurs solutions.
Eric

--
Les Lapys le lapy world
howto-contribution-forum pour SME
http://leslapys.com
Avatar
Real Phil
Voir aussi la fonction intégrée sCalculeCrc16(LigneLue)

Réal Phil
=================================
"eric-leslapys" a écrit dans le message de
news:45ce0a18$0$9902$
Bonjour,

ne maniant pas l"anglais a fond, quelqu'un peut'il m'aider dans cette
fonction mathématique.

the checksum ( initially set to zero) is a 16_bit binary addition (
excluding parity bits if applicable) of all characters.

le checksum permettant un controle d'un chaine à transmettre ( socket ou
liaison série)

en windev ça donne quoi

en clipper j'avais des fonctions crc16, ou 32 ou checksum d'une chaine
mais la je craaaaaaaaaaque.

Merci
eric


Avatar
Romain PETIT
Real Phil vient de nous annoncer :
Voir aussi la fonction intégrée sCalculeCrc16(LigneLue)



Salut,

celle là, ça m'étonnerait qu'elle soit compatible avec autre chose
qu'elle même...

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
eric-leslapys
Romain PETIT a écrit :
Real Phil vient de nous annoncer :
Voir aussi la fonction intégrée sCalculeCrc16(LigneLue)



Salut,

celle là, ça m'étonnerait qu'elle soit compatible avec autre chose
qu'elle même...



ca existe en windev 7.5 ( j'ai pas encore évolué)

eric


A+



Avatar
Romain PETIT
eric-leslapys avait prétendu :
Romain PETIT a écrit :
Real Phil vient de nous annoncer :





Voir aussi la fonction intégrée sCalculeCrc16(LigneLue)


celle là, ça m'étonnerait qu'elle soit compatible avec autre chose qu'elle
même...





ca existe en windev 7.5 ( j'ai pas encore évolué)



Oui oui je sais.

Ce que je voulais dire, c'est que cette fonction n'est utilisable
qu'entre applis WD, tout simplement parce qu'on ne connait pas la
méthode de calcul de ce CRC (quel polynôme ? Quelle valeur initiale
pour le CRC ?) et qu'il semble bien que peu (aucun ?) autre logiciel
n'est compatible avec ce type de CRC16...
(en tout cas ni MODBUS, ni XModem, ni aucun automate que j'ai pu
connecter qui utilise un CRC16).

J'ai tenté en WD une autre méthode que celle donnée par Kristian
Paradis (le lien de Gilles) mais elle est plus lente.
Il s'agit de la méthode utilisant une table statique des 256 entiers
pour calculer un CRC16 classique (x^16 + x^15 + x^2 + 1).

WD n'est pas bon pour les calculs rapides.
Pour des trames d'automates de quelques centaines d'octets, c'est
acceptable, mais si vous devez calculer des CRC16 ou des CRC32 pour de
gros fichiers, mieux vaut se tourner vers des DLL en C.

Exemple : calcul d'un CRC16 pour un fichier de 1533253 octets (~1.5Mo)

- méthode 1 : K.Paradis ou E.Laurent (je crois que ce sont les mêmes
méthodes, ils y a juste des différences au niveau de l'initialisation
du CRC de départ qui diffère)
http://groups.google.fr/group/fr.comp.developpement.agl.windev/browse_frm/thread/30808c7f37e98ea/7b14d3f0500148cf

-> 47 secondes

- méthode 2 : utilisation de la table statique

-> 67 secondes

- méthode 3 : utilisation d'un ressource externe
(par exemple : http://www.lammertbies.nl/comm/software/index.html ou
l'OCX CrcCtrl.ocx de Chris Amos)

-> 1 seconde (à peine)


Un bon tutoriel sur le sujet :
http://dvsoft.developpez.com/Articles/CRC/

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Romain PETIT a couché sur son écran :

l'OCX CrcCtrl.ocx de Chris Amos



Super dur à retrouver celui-là...
Il faut aller en Chine...
http://download.enet.com.cn/html/speed/5_030212000071220.html

(c'est gratuit mais pas libre, les sources étaient dispos en payant
mais il semble que l'adresse ne réponde plus...)

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)