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.