Ver Mensaje Individual
  #1  
Antiguo 12-02-2007
Avatar de Wonni
Wonni Wonni is offline
Miembro
 
Registrado: abr 2006
Posts: 261
Reputación: 19
Wonni Va por buen camino
Cod.Barras no corresponde al numero q realmente es. Al pasarlo por el scaner lee otro

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:

8400000001121 y al pasar la etiqueta por el lector me lee 8400000001120


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;

 // SUMAR POSICIONES IMPARES


 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
Responder Con Cita