Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 19-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 24
andres1569 Va por buen camino
Hola:

Independientemente de que se conecten o no al mismo puerto, ambos generan el mismo tipo de mensaje windows, es decir como si fueran pulsaciones de teclado y así es como los recibe la aplicación (mensajes WM_KEYDOWN).

Parecerá algo engorroso pero la forma en que tengo implementado esto es mediante el evento OnMessage del TApplication (lo tengo en Delphi 4.0, si fuera un Delphi superior se utilizaría el componente ApplicationEvents). Dentro de ese código, coloco una llamada a GetTickCount cada vez que se recibe un caracter sospechoso (sólo cifras en mi caso) y comparo tiempos de recepción. Si el tiempo es inferior a 70 milésimas entre un caracter y otro, entiendo que es enviado por el scanner y anulo el mensaje para que no se propague; si no, interpreto que es el teclado (ése es el tiempo que calculo que un buen mecanógrafo no puede igualar). De esta forma, mientras van entrando caracteres en esos lapsos de tiempo voy almacenándolos y formando una cadena, hasta que llega el código de control (RETURN) o cualquier caracter retrasado en cuyo caso aborto la creación de la cadena y entiendo que es un "texto normal" (en ese caso hay que reenviarlo a la aplicación para que lo procese).

Puede sonar un poco a chapuza pero no encontré en su día mejor forma de hacerlo (si alguien lo ha hecho de otra forma ...) y funciona. Tal como lo tengo implementado, cuando se obtiene un código de barras completo, se lanza un Diálogo modal mostrándo el código para que el usuario pueda darse cuenta de que se ha leído, o por si se quiere verificar el número con el de la etiqueta, y a continuación se ejecuta la búsqueda en la Base de datos.

Si te interesa el código, dímelo, tendría que hacer algunos retoques y quitar partes que no te interesan.
__________________
Guía de Estilo
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 12:59:16.


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