Suite à une développement sur WINDEV Mobile 26, je me suis trouvé confronté au problème de calcul de clé pour les codes EAN13. En effet, la dll n’est pas disponible en environnement mobile!!!
Je suis parti de l’algorithme de clé de Luhn avec les spécificités du calcul de l’EAN.
PROCÉDURE GetCleEAN
// Résumé : <Retourne un clé de contrôle EAN> // Syntaxe : //[ <Résultat> = ] GetCleEAN(<sNumber> est chaîne) // // Paramètres : // sNumber (chaîne UNICODE) : <code EAN de 12 caractères> // Valeur de retour : // entier sur 8 octets : // clé EAN // // Exemple : // GetCleEAN("123456789012") // retourne = 8 // PROCÉDURE GetCleEAN(sNumber est une chaîne) nCheckSum est un entier = 0 nWeight est un entier = 0 nWeightedDigit est un entier = 0 nPos est un entier
POUR nPos = 1 _À_ Taille(sNumber) // tous les digits impaire en partant de droite x3 sinon x1 nWeight = modulo(nPos,2) = 0 ? 1 SINON 3
nWeightedDigit = Val(Milieu(sNumber, Taille(sNumber) - nPos + 1 , 1)) * nWeight // on fait la somme des nombres nCheckSum+=nWeightedDigit FIN
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.Ok
Poster un Commentaire