Array
(
)

Código de Barra

D3v3l0p3r1
   - 15 mai 2008

alguém sabe de algum algoritmo para implementar um código de barra? e como faço para jogar 1 dentro de um relatório crystal?

Ripclawrings
   - 13 jun 2008

Amigo,

O que eu sempre uso é o EAN13 que é composto de 12 dígitos mais 1 verificador. Sei que existem padrões no numeros que fazem parte do código ex: começar com 789 por ser Brasil etc.... dá uma pesquisada nisso.
Para calcular o dígito verificador segue o código que eu uso em minhas aplicações:

#Código

public static int calcularDigitoVerificadorEAN13(string pCodigoBarras) {
            int peso;
            double soma;
            double maior;
            int digito;

            peso = 3;
            soma = 0;

            pCodigoBarras = Convert.ToInt32(pCodigoBarras).ToString("000000000000");

            for (int i = 12; i >= 1; i--) {
                soma = soma + Convert.ToInt32(pCodigoBarras[i]) * peso;
                if (peso == 3) { peso = 1; } else { peso = 3; }
            }

            maior = ((Convert.ToInt32(soma / 10) + 1) * 10);
            digito = Convert.ToInt32(maior) - Convert.ToInt32(soma);

            if (digito == 10) { digito = 0; }
 
            return digito;
        }


Basicamente você envia uma string com os 12 dígitos e retorna o verificador (13).

Espero ter ajudado.