Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ean-13 (https://www.clubdelphi.com/foros/showthread.php?t=52812)

totote 31-01-2008 21:28:50

Ean-13
 
Buenas a todos.

Hoy investigando "¿Cómo generar un código de barras?" me surguieron muchas dudas, fui a lo más rapìdo google me aparecieron variedades de programas, componentes y de más para generarlos, los cuales algunos son entendibles y otros no tanto, una cosa que vi es que hay varios tipos de codigo de barras, y los mas famosos son EAN-13 y EAN-8, las preguntas son: ¿A estos codigos EAN-13 y EAN8 los lee cualquier lector de código de barras?, ¿Cómo es que se generan?, ¿El valor depende de el ancho de las barras?, ¿Cómo es que funcionan estos códigos?.


Muachas Gracias y Saludos.

jachguate 31-01-2008 21:36:00

Cita:

Empezado por totote (Mensaje 262458)
y los mas famosos son EAN-13 y EAN-8, las preguntas son: ¿A estos codigos EAN-13 y EAN8 los lee cualquier lector de código de barras?,

Normalmente si, pero es mejor leer las especificaciones del hardware particular que pensas usar.
Cita:

Empezado por totote (Mensaje 262458)
¿Cómo es que se generan?

EAN
Cita:

Empezado por totote (Mensaje 262458)
¿El valor depende de el ancho de las barras?

Código de barras

Hasta luego.

;)

totote 31-01-2008 21:43:49

Cita:

Empezado por jachguate (Mensaje 262460)
que pensas usar.


Mira si por lo general lo leen a EAN-13, entonces lo utilizaria, pero todavia no se cual es el lector que van a usar, creo que dependiendo de cual compren tendre que averiguar que tipo de código generar.

Con respecto a los link que pasaste los lei, pero te dan una explicacion de lo que son y como están compuestos, pero no te dice en la forma que se generan, si dependiendo del número es el ancho de la barra ni nada de eso.

jachguate Gracias por tu ayuda. :D

AzidRain 31-01-2008 21:57:08

EAN-13 y 8 es standard. Lo soportan todos los modelos comerciales de scanners ya que así vienen la mayor parte de los artículos hoy en día. También está por ahi el UPC que es americano. En este caso como tú los vas a generar no importa que elijas EAN-13. también depende que quieras codificar en las barras. EAN 13 solo acepta 13 caracteres numéricos. Hay otros como CODABAR o CODE-128 que aceptan también letras.

totote 01-02-2008 22:13:17

Solucion
 
Bueno recopilando información de aquí y de allá he llegado a una solución.

Por lo que tengo entendido uno de los códigos de barra mas comunes son los EAN-13.
- ¿Pero como funcionan?

A continuación se hará una breve definición según Wikipedia.

European Article Number es un sistema de códigos de barras adoptado por más de 100 países y cerca de un millón de empresas (2003). En el año 2005 la asociación EAN se ha fusionado con la UCC para formar una nueva y única organización mundial identificada como GS1, con sede en Bélgica.
El código EAN más usual es EAN13, constituido por 13 dígitos y con una estructura dividida en 4 partes:
  • Los primeros dígitos del código de barras EAN identifican el país que otorgó el código, no el país de origen del producto. Por ejemplo, en Bolivia se encarga de ello una empresa responsable adscrita al sistema EAN y su código es el '777'.
  • Referencia del ítem, compuesto de:
    • Código de empresa. Es un número compuesto por entre 5 y 8 dígitos, que identifica al propietario de la marca.
    • Código de producto. Completa los 12 primeros dígitos.
  • Dígito de control. Para comprobar el dígito de control (por ejemplo, inmediatamente después de leer un código de barras mediante un escáner), se suman los dígitos de las posiciones pares, el resultado se multiplica por 3, se le suman los dígitos de las posiciones impares y este resultado se le resta a su múltiplo de 10 más próximo. El resultado final ha de coincidir con el dígito de control.
  • Por ejemplo, para 123456789041 el dígito de control será:
    • Suma de los números en los lugares pares: 2+4+6+8+0+1 = 21
    • Multiplicado × 3: 21 × 3 = 63
    • Suma de los números en los lugares impares: 1+3+5+7+9+4 = 29
    • Suma total: 63 + 29 = 92
    • Próximo múltiplo de 10 = 100
    • Dígito de control: 100 - 92 = 8
  • El código quedará: 1234567890418
Bueno pero eso no es todo, nos falta la forma de cómo codificarlo, gracias a este articulo y a un poco más de wiki pero en inglés tenemos la solución.
Primero hay que saber que es la codificación y para que sirve no?
La codificación es llevar este número en decimal a uno en binario, donde cada 1 significara una raya negra y cada cero una raya blanca.
Para codificarlo hay que separar el número en 3 partes, el primer dígito, los siguientes 6 y los últimos 6, esto es porque del primer dígito dependerá la codificación de los siguientes 6 y los últimos 6 es un tipo de codificación diferente.

La siguiente tabla es para el primer dígito

Y esta tabla es para el resto de los dígitos

¿Cómo funciona esto?
Supongamos que tenemos el número 1234567891231, lo separamos en 3
Primer dígito: 1
Siguientes seis: 234567
Últimos seis: 891231
Tenemos que buscar el primer dígito en la primera tabla 1 --> LLGLGG, esto indica un orden.
2 3 4 5 6 7
| | | | | |
L L G L G G
Entonces continuamos con los siguientes seis, a estos hay que buscarlos en la segunda tabla, pero depende de si la letra es L o G, si la letra es L hay que buscarlos en L-code y si es G en G-code y esto nos quedaría así
2 - L - 0010011
3 - L - 0111101
4 - G - 0011101
5 - L - 0110001
6 - G - 0000101
7 - G – 0010001
Y a los últimos seis no tienen mas codificación que buscarlos en la segunda tabla en R-code
8 - 1001000
9 - 1110100
1 - 1110010
2 - 1101100
3 - 1000010
1 - 1110010
Ahora solo nos falta agregar unas cosas mas que son los códigos de inicio, separación y fin
inicio - 101 - el de inicio se pone al comienzo del código.
separación - 01010 - se pone antes de los últimos 6 dígitos
fin - 101 - se pone al final del código
Y esto nos quedaría de la siguiente manera:
101 0010011 0111101 001101 0110001 0000101 0010001 01010 1001000 1110100 1110010 1101100 1000010 1110010 101

Bueno espero que sea entendible y que les ayude al que tenga un problema similar, si alguien quiere tengo un programa hecho, así que pídanmelo nomás.

Saludos ;)

jachguate 01-02-2008 23:30:45

Podrías poner tu programa en la sección de trucos, o subirlo como tal al FTP. Así, quienes se sientan interesados podrán encontrar esta colaboración tuya independientemente de encontrarte a vos.

Esa es la idea del club, ¿no?

Hasta luego.

totote 02-02-2008 01:14:14

Bueno le pongo comentarios creo el leeame.txt y lo subo, no sabia que lo podia subir al ftp.
Saludos :D

jachguate 02-02-2008 01:19:05

Estaremos a la espera del "anuncio oficial" :D

;)

Un saludo.

totote 02-02-2008 19:44:01

Programa en linea
 
Ya es oficial!!!

Gracias a la ayuda de jachguate el programa esta en el ftp de club delphi, acá está el link.

;) Saludos.


La franja horaria es GMT +2. Ahora son las 10:03:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi