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 08-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Question Ejecutar un OnKeyPress

Tengo un edit16 en mi aplicación y tiene un evento OnKeyPress, el cual tiene un procedimiento escrito, ok, ahora desde cualquier parte de la aplicación quiero ejecutar ese evento OnkeyPress y la pregunta es: ¿Cómo lo hago?
Responder Con Cita
  #2  
Antiguo 08-10-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
ejemplo si tienes este procedimiento en el Boton 1:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

si quieres llamar eso desde el boton 2:

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
Button2Click(Sender);
end;

Saludo.
Responder Con Cita
  #3  
Antiguo 08-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Question

Eso es correcto MasterXP, tu procedimiento funciona muy bien con el evento OnClick, pero mi pregunta es: tengo el evento definido en un TEdit llamado OnKeyPress y tiene su procedimiento. Ahora quiero llamar ese evento desde un boton diferente. Gracias por su atención.
Responder Con Cita
  #4  
Antiguo 08-10-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola a todos!

Sólo tienes que adaptar la respuesta a tu caso en particular.

Por ejemplo si tienes código en el evento OnkeyPress del TEdit, llamalo de esta forma desde el evento Onclick de otro botón o en cualquier parte del código.

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  ShowMessageFmt('Se ha presionado la tecla %s con el código %d',[Key,Ord(Key)]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Tecla: Char;
begin
  Tecla:=#65; // Caracter que representa la letra A en ASCII
  Edit1KeyPress(Sender,Tecla); //Envias como parámetro Tecla al evento OnKeyPress
end;

Observa que en el evento OnKeyPress el parámetro Key se pasa por referencia por esta razón no puedes mandar una constante tienes que enviar una variable.

Espero que sea útil.
Responder Con Cita
  #5  
Antiguo 08-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

MasterXp, El 2do procedimiento da error, ya que lo llamas a si mismo y este ya se encuentra destruido.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #6  
Antiguo 08-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Thumbs up

Efectivamente Hector su sugerencia la probé y resultó efectiva. 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


La franja horaria es GMT +2. Ahora son las 02:36:22.


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