Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 29-07-2007
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Crear botones en ejecucion

Cita:
Empezado por Caral
Hola
No se si sera esto lo que preguntas, pero para saber que boton presionaste es solo cuestion de definir el nombre de la variable, algo asi:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure OnButton1Click(Sender: TObject);
    procedure OnButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Button1,Button2: TButton;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    Button1:= TButton.Create(Self);
    Button1.Parent := Self;
    Button1.Caption := 'Botón';
    Button1.Left:= 20;
    Button1.Top:= 10;
    Button1.OnClick := OnButton1Click;

    Button2:= TButton.Create(Self);
    Button2.Parent := Self;
    Button2.Caption := 'Botón';
    Button2.Left:= 100;
    Button2.Top:= 10;
    Button2.OnClick := OnButton2Click;
end;

procedure TForm1.OnButton1Click(Sender: TObject);
begin
  ShowMessage('Presionaste el boton 1!');
end;

procedure TForm1.OnButton2Click(Sender: TObject);
begin
  ShowMessage('Presionaste el boton 2!');
end;

end.
Como veras, aqui estan el boton 1 y el dos declarados y tienen un diferente evento OnClick.
Espero que te sirva.
Saludos
Si, Gracias CARAL por tu ayuda....pero ya lo resolvi, resulta q no sabia utilizar el SENDER del procedimiento....te comento q estoy creando botones en tiempo de ejecucion, por cada SERVICIO de lavanderia que registre el usuario es un boton, la solucion q me propones, y la cual se agradece, no me podria servir de mucho, ya que necesito dejar abierto la cantidad de botones, habra tantos de ellos como servicios haya creado el usuario.

En si lo servicios no pasaran de 10....pongo la forma en como lo solucione, para ti -si en algo te ayuda- y todos los q consultan este club.

GRACIAS !
Solucion:
Código Delphi [-]
procedure TfrmRegServicios.FormShow(Sender: TObject);
Var
PosY:Integer;
begin
   gBoxTipoServicio.Caption:='';
   qryServicios.Close;
   qryServicios.Open;
   PosY:=100;
   n:=1;
   While not qryServicios.Eof do
   begin
      Botones[n]:=TButton.Create(Self);
      with Botones[n] do
      begin
          Caption:=qryServicios.fieldbyname('DESCRIPCION').AsString;
          Parent:=self;
          Height:=71;
          Top:=PosY;
          PosY:=PosY+Height+10;
          Left:=16;
          Width:=97;
          OnClick:=OnButtonClick;
          Name:='btn'+IntToStr(n);
          Tag:=qryServicios.fieldbyname('CLAVE_SERVICIO').AsInteger;
      end;
      qryServicios.Next;
      inc(n);
   end;

end;

procedure TfrmRegServicios.OnButtonClick(Sender:TObject);
var
nServicio:Integer;
begin
    with Sender as tButton do begin
       nServicio:=(Sender as tButton).Tag;
       gBoxTipoServicio.Caption:=(Sender as tButton).Caption;
    end;    
    qryPrenda.Close;
    qryPrenda.ParamByName('SERVICIO').AsInteger:=nServicio;
    qryPrenda.Open;
    qryPrenda.FetchAll;
end;

procedure TfrmRegServicios.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   Action:=caFree;
end;

Lo resaltado con rojo es lo q andaba buscando !....SALUDOS !
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 29-07-2007 a las 03:36:27.
Responder Con Cita
 


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 19:36:48.


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