Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-10-2004
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Evento onClick

Hola a tod@s,

Tengo en una aplicación tres botones distintos que basicamente tienen que hacer lo mismo. Lo que he decidido es escribir en el Boton1 el código que necesito (en el evento OnClick) y los otros dos redirigir su correspodiente evento onClick al del boton1.

Cuando dije que básicamente tienen que hacer lo mismo era porque en cada uno de ellos hay una pequeña excepción, por lo que pretendo saber cual de ellos ha sido pulsado una vez este dentro del evento OnClick.

Es posible tal hazaña y de ser así de que manera puede hacerse???

Código:
Procedure TForm1.Boton1Click(Sender: TObject);
Begin
	  query1.Insert;
	  showmessage('hola');
End;
Responder Con Cita
  #2  
Antiguo 27-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Saludos

Me imagino que en los eventos de Boton2 y Boton3 de onclick, le asignas boton1.onclick, bueno entonces tienes que hacer lo siguiente

Código:
procedure TForm1.Boton1Click(Sender: TObject);
begin
  if Sender = Boton1 then
  begin	  
    query1.Insert;
    showmessage('1');
  end;
  if Sender = Boton2 then
  begin	  
    query2.Insert;
    showmessage('2');
  end;
  if Sender = Boton3 then
  begin	  
    query3.Insert;
    showmessage('3');
  end;

end;
Tambien puedes declarar un evento general no necesariamente tiene que estar asociado a ningun objeto, y se lo puedes asignar a los tres botones

OK
__________________
Trigger

Última edición por Trigger fecha: 27-10-2004 a las 19:11:09.
Responder Con Cita
  #3  
Antiguo 27-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Triger
if Sender is Boton1 then
Debería ser

if Sender = Boton1 then

// Saludos
Responder Con Cita
  #4  
Antiguo 27-10-2004
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Ahora mismo iba a escribir lo mismo que tu Roman.

Gracias a los dos, de esta manera tan sencilla puedo adecuar el funcionamiento del programa en función del botón pulsado.

Gracias de nuevo.
Responder Con Cita
  #5  
Antiguo 27-10-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola,
sólo quiero comentar que también puedes asignarle valores distintos a la propiedad Tag de cada botón,
con lo que ahorrarás líneas de código.

Ejemplo suponiendo que los botones son TButton:
Código Delphi [-]
procedure TForm1.Boton1Click(Sender: TObject);
begin
  case (Sender as TButton).Tag of
    1: query1.Insert;
    2: query2.Insert;
    3: query3.Insert;
  end;
  showmessage(IntToStr((Sender as TButton).Tag));
end;

Salu2.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 12:00:45.


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