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 20-03-2013
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 21
Novás Va por buen camino
Llamar a Evento OnKeyUp

Hola, en mi aplicación necesito llamar a la función OnKeyUp de un TLabelEdit desde el evento OnActivate del Formulario.

El caso es el siguiente, tengo varios TLabelEdit en mi formulario a los cuales les asigno un valor en el OnActivate del Formulario. Una vez rellenados estos valores necesito que los TLabelEdit ejecuten el evento OnKeyUp el cual realiza unos cálculos pero no consigo ejecutar la llamada.

He probado de la siguiente forma:

Código Delphi [-]
letra:=word('a');
LabelEdit1.OnKeyUp(nil,letra,ssShift);

Esto me lanza el error "Incompatible types: TShifState and Enumeration".

Estoy casi seguro que el error lo tengo en el tercer parámetro del evento pero no se que debo poner ahí para que funcione.

Agradezco cualquier ejemplo de llamada a este evento que me podáis proporcionar.

Muchas gracias.
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
  #2  
Antiguo 20-03-2013
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prueba, de momento, con algo así:

Código Delphi [-]
LabelEdit1.OnKeyUp( nil, letra, [ ssShift ] );
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 20-03-2013
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 21
Novás Va por buen camino
He decido cambiar el evento OnKeyUp por el OnChange y solucioné mi problema.
De todas formas si alguién me puede responder a mi pregunta anterior lo agradecería, nunca está de más aprender algo nuevo.

Gracias a todos nuevamente.
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
  #4  
Antiguo 20-03-2013
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 21
Novás Va por buen camino
Muchas gracias DEC, efectivamente ha funcionado.

Hoy ya he aprendido algo nuevo. XD
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
  #5  
Antiguo 20-03-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
De todas formas, no es buena idea eso de forzar eventos, así nos engañamos. Si se quiere ejecutar el mismo código, lo mejor es tener un procedimiento que espere la mismas variables que espera el evento y poner ahí el código. Una vez hecho esto, el evento llamaría al procedimiento que hemos hecho al uso.

Al menos, bajo mi opinión, aunque el resultado sea el mismo, a mi manera es más claro. Llamando a los eventos directamente, puede haber un momento en el futuro que no me acuerde de que llamaba al evento y volverme loco pensando por qué pasa por un sitio que no debería pasar.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #6  
Antiguo 20-03-2013
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por ozsWizzard Ver Mensaje
De todas formas, no es buena idea eso de forzar eventos, así nos engañamos. Si se quiere ejecutar el mismo código, lo mejor es tener un procedimiento que espere la mismas variables que espera el evento y poner ahí el código. Una vez hecho esto, el evento llamaría al procedimiento que hemos hecho al uso.

Al menos, bajo mi opinión, aunque el resultado sea el mismo, a mi manera es más claro. Llamando a los eventos directamente, puede haber un momento en el futuro que no me acuerde de que llamaba al evento y volverme loco pensando por qué pasa por un sitio que no debería pasar.
Por eso digo...

Cita:
Prueba, de momento, con algo así:
Código Delphi [-]
LabelEdit1.OnKeyUp( nil, letra, [ ssShift ] );
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 20-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

También hay otra opción para prescindir de un procedimiento adicional, algo así como un "tiro libre indirecto"...
Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
  with LabeledEdit1 do
  begin
    Perform(WM_LBUTTONDOWN, MK_LBUTTON, 0);
    Perform(WM_LBUTTONUP, MK_LBUTTON, 0);
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 20-03-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,



Por eso digo...
Buen matiz ese
__________________
La Madurez se llama...
~~~Gaia~~~
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
Llamar un evento de un Tpanel alvq C++ Builder 2 16-12-2010 15:31:47
Llamar a evento Memo6015 OOP 3 15-10-2008 22:07:17
Llamar evento desde otro evento nachito_tuc OOP 1 23-08-2006 21:37:43
LLamar Evento onkeypress estebanx Varios 1 26-05-2006 21:43:14
Llamar a evento Keypress edgusano .NET 1 30-11-2005 22:02:29


La franja horaria es GMT +2. Ahora son las 14:14:53.


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