Autor Tópico: EAN13 / DUN14  (Lida 2257 vezes)

Leomar

  • Newbie
  • *
  • Mensagens: 24
  • Karma: +0/-0
EAN13 / DUN14
« Online: Agosto 10, 2015, 09:07:34 am »
Alguém tem alguma rotina em windev para testar EAN13 e DUN14 que possa disponibilizar? Obg.

Etcoelho

  • Jr. Member
  • **
  • Mensagens: 52
  • Karma: +0/-0
Re:EAN13 / DUN14
« Responder #1 Online: Agosto 11, 2015, 08:09:30 am »
Amigo para EAN eu fiz essa:

PROCEDURE Val_EAN(NUMERO is string)
sEAN is string = RepeatString("0",14-Length(NUMERO))+NUMERO
sEAN = Left(sEAN,13)

xSoma is numeric = 0
FOR i=1 TO 13 STEP 2
   Num is int = Middle(sEAN,i,1)
   xSoma += Num*3
END
FOR i=2 TO 13 STEP 2
   Num = Middle(sEAN,i,1)
   xSoma += Num
END

nM10 is int = modulo(xSoma,10)
DV is string = 10 - nM10
IF DV=10 THEN DV=0

IF Right(NUMERO,1)=DV THEN
   RESULT True
ELSE
   RESULT False
END

Ela serve para qualquer EAN ate 13.