Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Lector Codigo de Barra

Hola gente del foro, una preguntita.

Tengo un lector de codigo de barra que funciona como un teclado.
Necesito desarrollar un software que pueda detectar "en cualquier momento" la entrada de datos desde el lector de CB, y asignarlo a una variable de string publica.


Como puedo detectar la entrada de datos desde el lector, si este funciona como un teclado, y luego de copiar el texto emula un enter en el teclado.

Será que podré detectar el boton enter?

Bueno, espero que me puedan ayudar.

Gracias
Responder Con Cita
  #2  
Antiguo 12-01-2010
cecam cecam is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona
Posts: 47
Poder: 0
cecam Va por buen camino
Nosotros tambien usamos lectores de codigo de barras (Metrologic) y estos se pueden programar añadiendo prefijos y sufijos para que simulen la pulsación de teclas . . .

En nuestro caso, simulamos que antes de hacer el envio de caracteres envie un F1 . . .

Mirate el manual . . .

No obstante depende de lo que quieras detectar/hacer.

Saludos!
Responder Con Cita
  #3  
Antiguo 12-01-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
ya lo tengo solucionado,

lo que me ocurre ahora, es que el codigo de barra tiene algunos guiones entre sus caracteres, el problema es que el guion (-), me lo detecta como una comilla ('), por lo tanto por codigo, quiero reemplazar la comilla por un guion.

el problema es que la funcion stringreplace, pone entre comillas lo que quiero cambio...

quedaria algo asi.

Código Delphi [-]
StringReplace(SEDIT2.TEXT,''','-',[]);

como puedo hacer esto?
Responder Con Cita
  #4  
Antiguo 12-01-2010
cecam cecam is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona
Posts: 47
Poder: 0
cecam Va por buen camino
En vez de stringreplace, usamos una funcion propia
Código:
function StrTran( const cText, cOrigen, cDesti:string ):string;
var
   nPos:Integer;
begin
  Result := cText;
  if cOrigen<>cDesti then
  begin
      nPos:=Pos(cOrigen, Result);
      while (nPos>0) do
      begin
        Result := Copy( Result, 1, (nPos-1))+cDesti+Copy( Result, nPos+Length(cOrigen), Length(Result) );
        nPos:=Pos(cOrigen, Result);
      end;
  end;
end;
Saludos!!
Responder Con Cita
  #5  
Antiguo 12-01-2010
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Bueno, algo estuve viendo sobre los codigo de barras.
Parece que en el lector se puede configurar con diferents paquetes de codigos (creo que se llaman asi) los ansi. Si eso no entra dentro de lo posible, tambien en delphi en vez de reemplazar codigo ascii podrias usar su valor numerico, nose si esto te funcionaria.

editado:sorry, me adelante, olvida lo que dije, mejor la solucion de cecam

Última edición por anubis fecha: 12-01-2010 a las 16:42:50.
Responder Con Cita
  #6  
Antiguo 12-01-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
Cita:
Empezado por mjjj Ver Mensaje
ya lo tengo solucionado,

lo que me ocurre ahora, es que el codigo de barra tiene algunos guiones entre sus caracteres, el problema es que el guion (-), me lo detecta como una comilla ('), por lo tanto por codigo, quiero reemplazar la comilla por un guion.

el problema es que la funcion stringreplace, pone entre comillas lo que quiero cambio...

quedaria algo asi.

Código Delphi [-]
StringReplace(SEDIT2.TEXT,''','-',[]);

como puedo hacer esto?
aunque no vayas a usar esto para que lo sepas para otra vez en esos casos tienes que poner la comilla dos veces osea:
Código PHP:
StringReplace(SEDIT2.TEXT,'''','-',[]); 

Última edición por cocute fecha: 12-01-2010 a las 17:59:10.
Responder Con Cita
  #7  
Antiguo 12-01-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
la idea de la doble comilla no resulta, les voy a poner un ejemplo.

Lo que tengo es: CO'611'892'AF
Necesito: CO-611-892-AF

El la funcionen que ponen, que significan las distintas variables.
Me servirá la función?

Gracias
Responder Con Cita
  #8  
Antiguo 12-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por mjjj Ver Mensaje
la idea de la doble comilla no resulta, les voy a poner un ejemplo.

Lo que tengo es: CO'611'892'AF
Necesito: CO-611-892-AF

Gracias
Pues haslo asi:
Código Delphi [-]
Resultado:=StringReplace(Edit1.Text,'''','-',[rfReplaceAll]);
O asi tambien
Código Delphi [-]
Resultado:=StringReplace(Edit1.Text,chr(39),'-',[rfReplaceAll]);
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
Respuesta



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
Celular con lector de codigo de barras fer21unmsm Varios 0 02-02-2007 16:52:37
Como leer desde un lector de codigo de Barra morfeo21 Varios 2 13-05-2006 20:24:57
Problemas con el Lector de Codigo de Barra FM73 Varios 2 03-06-2005 19:44:39
Lector de código de barras tiel Windows 1 25-08-2004 00:11:18
Lector de codigo de barras Sotrono Varios 8 15-05-2004 19:05:07


La franja horaria es GMT +2. Ahora son las 13:34:38.


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