Programación General > Visual Basic 6.0 e inferiores
Codigo De Barras
(1/1)
MindEye:
- Buenos dias a todos:
- Me podría alguien decir como hay que estructurar un codigo de barras para que este bien, osea, tengo una aplicación de ventas, y cuando la pistola realiza las lectura de los codigos de barra, si son los originales del fabricante, no problems...
pero como sean creados por el usuario, no los lee no jalto wisky.
- Necesito ayuda para imprimir los codigos de barra con EAN-13.
- Gracias amigos.
ebolo:
Hola Mindeye, tengo 2 fuentes truetype EAN13 pero que no he sabido hacerlas funcionar.
¿Es necesario EAN13?, normalmente los lectores tienen capacidad de leer distintos tipos de códigos. Yo me he decantado con los que no tengo problemas, CODE 128 y code39 según para lo que necesito uso uno u otro.
Saludos.
Supongo que no funciona el EAN13 por que tendrá alguna estructura que es necesario respetarla y si no se conoce pues es difícil.
Saludos.
ebolo:
Ho,a de nuevo, pasaté por aquí:
http://www.aecoc.es/web/codificacion.nsf/0...28?OpenDocument
Y mira el tema del dígito control, pone cómo calcularlo, pienso que el problema está por ahí.
El EAN 13, debe tener 13 dígitos: 12 + 1(dígito control)
En cuanto pueda también lo pruebo y te comento.
Saludos.
Shiquilla:
Sí se trata de calcular el dígito de control he encontrado esta función:
Calculo del digito de control de un EAN13 (o un EAN8):
Enviale a esta funcion un codigo EAN de 7 o 12 cifras y te devolverá el digito de control que le corresponde y que es la ultima cifra del codigo completo.
--- Código: Text ---Function CalCodEan(sCodigo As String) As string Dim c1, c2 As String Dim nX, nX2 As Integer CalCodEan = " " ' de momento en blanco sCodigo = Trim(sCodigo) ' suprimir blancos por si acaso If Len(CODIGO) <> 7 And Len(CODIGO) <> 12 Then Exit Function ' solo admite 7 o 12 digitos c1 = "131313131313" nX2 = 0 For nX = 1 To Len(sCodigo) nX2 = nX2 + Val(Mid$(sCodigo, nX, 1)) * Val(Mid$(c1, nX, 1)) Next nX = Val(Right(Str(nX2), 1)) ' Extraer el valor de la derecha If nX > 0 Then nX = 10 - nX ' restarlo de 10 si no es ya 0 CalCodEan = trim(str(nX))End Function
Tomado de: EAN13
Espero que te sirva de ayuda.
Saludos.
Navegación
Ir a la versión completa