FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Checksum en fbarcode (componente del ftp de clubdelphi)
Hola amigos:
He descargado el componente fbarcode del ftp de clubdelphi y todo perfecto, pero el problema que tengo es que a la hora de mandarle un valor a la propiedad Text para que genere un código de barras, si el checksum está activado lo genera pero no lo muestra pese a que tengo activado también que muestre el código en formato texto. ¿Cuál es el problema?, pues que yo almaceno en la tabla el Nº que le he mandado, por ejemplo A0000001 (Code39), y luego resulta que al leerlo con el lector el código es A0000001B, porque el checksum es "B", y si luego tengo que hacer una búsqueda exacta o filtrado de la tabla para localizarlo pues evidentemente no puedo. El checksum debo tenerlo activado porque trabajar con Code39, como se decodifica dígito a dígito pueden aparecer errores, y el Checksum es la forma de curarse en salud. He mirado el componente bien y no tengo forma de que me de el Checksum, o es que no lo he encontrado..., ¿hay alguna forma de saberlo?. Al saberlo almacenaría el código completo (control incluído) en la tabla y ya no tendría problemas, además de que ya me encargaría yo de imprimirlo todo en modo texto debajo del código de barras por si el usuario tiene que prescindir del escáner e introducirlo a mano. Estoy usando Code39 y Ean13. Es urgente amigos, esta modificación debo tenerla lista hoy. Gracias y saludos. |
#2
|
||||
|
||||
Creo que el valor del checksum siempre se pone como último caracter.
Cuando obtienes el código del lector de código de barras, podrías quitarle el último caracter y buscarlo. También puedes crear tu el valor del checksum y guardarlo en la tabla de códigos de barra. El componente tiene una unit para calcular esto.
|
#3
|
|||
|
|||
Gracias por la respuesta.
Esa función devuelve el checksum de Ean8 y Ean13, pero no es capaz de calcular el checksum de Code39 porque todo el cálculo lo hace con números, y Code39 puede llevar letras (en mi caso los códigos comienzan por A o D, que simboliza Artículo o Descuento). Pese a que en la propiedad CheckSumMethod está activado csmModulo10, no sé dónde ni como hace el cálculo para Code39, pero tras pasarlo por el lector el checksum suele ser una letra mayúscula, luego entonces no me encaja que use esa función. Voy a echar un vistazo al código del componente, a ver si veo algo. Gracias y saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FBarcode y Delphi6 | tec | Impresión | 3 | 13-04-2010 16:40:44 |
ClubDelphi ??? | aeff | La Taberna | 6 | 11-10-2007 12:33:13 |
clubdelphi.com vs clubdelphi.net | anghell77 | La Taberna | 8 | 07-10-2006 22:20:11 |
bad checksum | felixgo | Firebird e Interbase | 1 | 15-12-2004 11:46:50 |
|