Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2011
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Red face evento onchange del edit

Hola colegas: tengo un problema con el evento onchange del edit. cuando leo un dato a través del lector de código de barras quiero que se active el evento onclick de un botón para que me realice una búsqueda, pero resulta ser que el lector de código de barras lee el dato pero el edit toma el primer digito y se activa el evento onchange de este, naturalmente que no encuentra el resultado esparado.Como soluciono esto ya que no quiero que el usuario presione ninguna tecla.(quiero ingresar el dato como en el supermercado)Desde ya muchas gracias.-
Responder Con Cita
  #2  
Antiguo 06-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
estoy casi seguro que cuando se lee codigos de barras desde una lectora te manda el (ENTER) o el char(13)

podrias usar el evento KeyDown y preguntar si la tecla presionada es ENTER y ahi recien procesar lo que desees
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 06-06-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por oscarac Ver Mensaje
estoy casi seguro que cuando se lee codigos de barras desde una lectora te manda el (ENTER) o el char(13)
Yo te confirmo que es así, mientras que no se configure de otra manera las pistolas lectoras de códigos de barras envían un ENTER al final del código leido, con eso puedes determinar qué quieres hacer cuando lo lea.

Saludos
Responder Con Cita
  #4  
Antiguo 06-06-2011
martinartaza martinartaza is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 77
Poder: 14
martinartaza Va por buen camino
Debe usar el evento onkeypress

usalo de la siguiente manera.


Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key =#13 then
   begin
      Button1.OnClick(self);
   end;
end;

Si estás trabajando a distancia y el operador no sabe como configurar el lector de código de barra para que tire un enter, puede usar un timer, cualquier cosa avisame.

Martin, Artaza.
Responder Con Cita
  #5  
Antiguo 07-06-2011
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
evento onchange del edit

Gracias por tu respuesta Martín Artaza, el problema se suscita porque el lector de código de barras, no toma el ENTER, entonces queda con el foco en el edit.
como programo el lector de código de barras para que tome el ENTER, es un METROLOGIC ms9250, desde ya muchas gracias.-
Responder Con Cita
  #6  
Antiguo 07-06-2011
martinartaza martinartaza is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 77
Poder: 14
martinartaza Va por buen camino
Smile hace poquito lo resolvi con un timer.

buscar por el foro.
Pero estoy dudando si lo postee.
Lo que recuerdo que hice, fue tirar un Timer, darle a la propieda time = 500 y enable:= false, luego programa el evento ontimer del mismo, te muestro.

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
// cuando se presiona una tecla se activa el timer y da 500 milisegundo
para que termine de pasar los datos.
Timer1.Enabled:= true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
{
 ya se cargo los datos en el tedit
 puedes poner el foco en el proximo
 componente o agregarlo a una grilla
 o lo que quieras pero luego debes
 poner
}
Timer1.Enabled:= false;
end;

Acabo de recordar que pregunta hace 2 o 3 semanas como hacer para que una aplicacion mande enter o sea para que mi aplicación aprieta la tecla enter y eso era para dar una solución un poco más elegante a lo que acabo de escribirte.
Estaba teniendo el mismo problema pero en mi caso, no tengo acceso al lector, porque el programa lo hago a distancia.

Bueno, espero que te sirva.
Responder Con Cita
  #7  
Antiguo 07-06-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por jfrancho Ver Mensaje
Gracias por tu respuesta Martín Artaza, el problema se suscita porque el lector de código de barras, no toma el ENTER, entonces queda con el foco en el edit.
como programo el lector de código de barras para que tome el ENTER, es un METROLOGIC ms9250, desde ya muchas gracias.-
¿Seguro que el problema es del lector y no de tu software? Te lo digo porque a no ser que lo controles en el edit aunque pulses ENTER no salta de campo, el salto de campo es con TAB.

Prueba a abrir el notepad y leer algo con el lector y ahí si que verás realmente si salta o no salta de linea.

Saludos
Responder Con Cita
  #8  
Antiguo 07-06-2011
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Thumbs up evento onchange del edit

Ok: Matin, lo codifiqué y funciona de diez.Muchas gracias.-
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
Evento onChange en TImage MAXIUM Gráficos 3 08-03-2010 03:02:11
Emular con cxCurrencyEdit evento OnChange de un TEdit. ¿ Alguien sabe ? calogero Varios 4 06-06-2007 21:24:56
evento onchange de un dbedit ercrizeporta Varios 1 31-10-2006 14:09:38
Problemas con ClientDataSet evento OnChange jmlifi Varios 2 30-10-2006 09:42:49
Evento OnExit de un Edit Caro OOP 1 03-02-2006 17:57:01


La franja horaria es GMT +2. Ahora son las 22:31:19.


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