Iniciar Sesión

Ver la Versión Completa : [Duda] Leer codigo de barras EAN 128


Recato53
14 de junio de 2015, 13:14
Buenos días.

Estoy implementando una rutina para leer códigos de barras EAN 128, la lectura la realizado a través de un TexBox, mi problema se plantea cuando leo los códigos muy rápido.

La rutina tiene la siguiente estructura:

- LEO EL CODIGO EAN
- LEO EL CODIGO DEL PRODUCTO, MUESTRO LA DESCRIPCION DEL PRODUCTO.
- AÑADO 1 EN LAS EXISTENCIAS DEL PRODUCTO (GRABA EN TABLA DE EXISTENCIAS).
- INVOKE TXBOX "Refresh"

- LEO EL SIGUIENTE CODIGO EAN
.
.
.
Si leo muy deprisa el siguiente código EAN no recoge el código completo, creo que la solución seria limpiar el BUFEER del teclado antes de cada lectura, pero no se como.

Si entre lecturas pasan 3, 4 segundos no hay problema y los códigos se leen correctamente.

Como puedo solucionar este problema.

Muchas Gracias.

Josber
14 de junio de 2015, 16:57
No estoy muy puesto en el tema, pero más bien parece un problema del lector que del programa, porque para limpiar el buffer, con mover a espacios la variable en la que almacenas la lectura debería de sobrar.

Un saludo.-

Kuk
14 de junio de 2015, 17:10
Recato53, no entiendo bien cómo lees tan deprisa algo de un CmText, pero bueno. Siempre que haya problemas de "no dar tiempo", antes del

INVOKE TXBOX "Refresh"

O en general, sea lo que sea, al final de cada iteración del bucle, debes hacer:

INVOKE POW-SELF "ThruEvents"

Recato53
15 de junio de 2015, 10:03
No estoy muy puesto en el tema, pero más bien parece un problema del lector que del programa, porque para limpiar el buffer, con mover a espacios la variable en la que almacenas la lectura debería de sobrar.

Un saludo.-

El lector no tiene problemas. Si abro el NOTEPAD y leo los códigos de Barras, no hay problema de velocidad. Muevo espacios antes de leer y después de procesar el código de barras.

Empleo el CmText para leer los códigos de barras, ¿hay otra posibilidad?. La aplicación que estoy desarrollando es para un Punto de Venta y la lectura tiene que ser muy rápida.

Los códigos EAN 128 que tengo que leer tienen este formato:
01184370006951171026031501 1315032615151209

Un saludo.

Rapinto
15 de junio de 2015, 15:27
Recato53,

Não se resolverá, mas experimenta:

1- Lê código de barras para cmtext
2 - Passa "text" of cmtext para uma variável global
3 - Move spaces para "text" of cmtext
4 - invoke cmtext "setfocus"
5 - invoke pow-self "thruevents
6 - Call das rotinas todas que necessitas e usa a variável global com o código de artigo

Saludos,
Rui Pinto

Recato53
10 de agosto de 2015, 13:41
Recato53,

Não se resolverá, mas experimenta:

1- Lê código de barras para cmtext
2 - Passa "text" of cmtext para uma variável global
3 - Move spaces para "text" of cmtext
4 - invoke cmtext "setfocus"
5 - invoke pow-self "thruevents
6 - Call das rotinas todas que necessitas e usa a variável global com o código de artigo

Saludos,
Rui Pinto

La velocidad del Lector es superior al procesamiento de los datos.

El problema esta resuelto con una tabla.

Según se leen los códigos de Barras se almacenan en una tabla, mediante un subproceso, se descargan de esta tabla, mientras se leen los siguientes códigos.