Otro problemilla con los codigos de barras:
Genero codigos de barra Ean13 e imprimo con una
BZB 2. Todo funciona bien, pero hay algun que otro (muy pocos) codigo que el numero es por ejemplo:
840000000112
1 y al pasar la etiqueta por el lector me lee 840000000112
0
El codigo de barras lo genero con este codigo:
Código Delphi
[-]
Function MakeEan13(Cadena:String):String;
Var
SumaImp, Sumapar, SumaTotal, DC:Integer;
Begin
If Length(Cadena)<10 Then
Repeat
Cadena:='0'+Cadena;
Until
Length(Cadena)=10;
Cadena:='84'+Cadena;
SumaImp:=StrToInt(Cadena[1])+StrToInt(Cadena[3])+StrToInt(Cadena[5])+
StrToInt(Cadena[7])+StrToInt(Cadena[9])+StrToInt(Cadena[11]);
SumaPar:=StrToInt(Cadena[2])+StrToInt(Cadena[4])+StrToInt(Cadena[6])+
StrToInt(Cadena[8])+StrToInt(Cadena[10])+StrToInt(Cadena[12]);
SumaPar:=SumaPar*3;
SumaTotal:=SumaPar+SumaImp;
DC:=10-StrToInt(IntToStr(SumaTotal)[Length(IntToStr(SumaTotal))]);
If DC>0 Then
Begin
Result:=Cadena+IntToStr(DC);
End Else
Begin
Result:=Cadena+'0';
End;
End;
La forma de calcularlo lo saque de esta pagina:
http://www.argcon.net/normalizacion/norma10.htm
El componente que utilizo para los codigos de barraes este:
http://www.psoft.sk/
El scaner es un Metrologic
Voyager MS9520