Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2017
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 10
manelb Va por buen camino
Fijate en el siguiente código....

En él tengo dos botones conectados al mismo evento de forma que llaman al mismo procedimiento, reconociendo este de que botón procede la llamada.

Código Delphi [-]
implementation

{$R *.dfm}

procedure TForm2.ButtonClick(Sender: TObject);
begin
  lista(sender);
end;

procedure TForm2.lista(sender: TObject);
begin

  if sender=Button1 then
  begin
    showmessage(TButton(sender).caption);
  end
  else begin
    showmessage(TButton(sender).caption);
  end;
end;
Responder Con Cita
  #2  
Antiguo 09-08-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Para reconocer de que botón procede la llamada podes evaluar el nombre del argumento enviado.

A modo de ejemplo:
Código Delphi [-]
type
  TForm1 = class(TForm)
  ...
  private
    procedure Listas(Sender: TObject);
  ...

implementation

procedure TForm1.Listas(Sender: TObject);
var
  lista1 : TStringList;
  lista2 : TstringList;
begin
  if not (Sender is TButton) then Exit; // si no es un TButton -> Salir

  lista1 := TStringList.Create;
  lista2 := TStringList.Create;
  try
    lista1.Add('1');
    lista1.Add('2');
    lista1.Add('3');

    lista2.Add('4');
    lista2.Add('5');
    lista2.Add('6');

    if TButton(Sender).Name = 'Button1' then   // ¿ Es Button1 ?
      ListBox1.Items.AddStrings(lista1);

    if TButton(Sender).Name = 'Button2' then  // ¿ Es Button2 ?
      ListBox2.Items.AddStrings(lista2);

  finally
    lista1.Free;
    lista2.Free;
  end;
end;

...
Algo muy importante: Fijate que al finalizar el procedimiento se libera la memoria ocupada por la creación de las dos listas.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 09-08-2017
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 19
TOPX Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Código Delphi [-]
    if TButton(Sender).Name = 'Button1' then   // ¿ Es Button1 ?
      ListBox1.Items.AddStrings(lista1);

    if TButton(Sender).Name = 'Button2' then  // ¿ Es Button2 ?
      ListBox2.Items.AddStrings(lista2);
Personalmente, me gustaría más de la siguiente manera:
Código Delphi [-]
    if Sender = Button1 then   // ¿ Es Button1 ?
      ListBox1.Items.AddStrings(lista1)
    else
    if Sender = Button2 then  // ¿ Es Button2 ?
      ListBox2.Items.AddStrings(lista2);
Pero creo que ya son reparos de la vejez.
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 09-08-2017
Unkger Unkger is offline
Miembro
NULL
 
Registrado: ago 2017
Posts: 13
Poder: 0
Unkger Va por buen camino
Muchas gracias a todos por su ayuda!, esto quedó resuelto. Es verdad ecfisa, se me paso liberar, gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
Error al llamar a store procedure hmv Conexión con bases de datos 2 28-10-2006 18:07:51
llamar a un Store Procedure BlueSteel Firebird e Interbase 6 05-07-2006 09:01:40
Llamar stored procedure con BDE Ricardo Alfredo Conexión con bases de datos 3 12-09-2003 03:09:31
llamar a un procedure desde otro negama Conexión con bases de datos 1 28-08-2003 01:22:15


La franja horaria es GMT +2. Ahora son las 09:18:47.


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