Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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.
Código Delphi [-]
unit bcchksum

...

function CheckSumModulo10(const data:string):string;
  var i,fak,sum : Integer;
begin
  sum := 0;
  fak := Length(data);
  for i:=1 to Length(data) do
  begin
    if (fak mod 2) = 0 then
      sum := sum + (StrToInt(data[i])*1)
    else
      sum := sum + (StrToInt(data[i])*3);
    dec(fak);
  end;
  if (sum mod 10) = 0 then
    result := data+'0'
  else
    result := data+IntToStr(10-(sum mod 10));
end;
Responder Con Cita
  #2  
Antiguo 21-06-2011
Fossy Fossy is offline
Miembro
 
Registrado: feb 2006
Posts: 65
Poder: 21
Fossy Va por buen camino
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
FBarcode y Delphi6 tec Impresión 3 13-04-2010 15:40:44
ClubDelphi ??? aeff La Taberna 6 11-10-2007 11:33:13
clubdelphi.com vs clubdelphi.net anghell77 La Taberna 8 07-10-2006 21:20:11
bad checksum felixgo Firebird e Interbase 1 15-12-2004 10:46:50


La franja horaria es GMT +2. Ahora son las 06:15:37.


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
Copyright 1996-2007 Club Delphi