Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Delphi / Kylix / C++ Builder > crear eventos en tiempo de ejecucion en delphi
-Foros de debate

Delphi / Kylix / C++ Builder
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

crear eventos en tiempo de ejecucion en delphi
Enviado por Bicugo el día 24 de noviembre de 2003

La cosa es que tengo un array de checkbox y me gustarñia saber como puedo añadirles eventos a esos checkbox.

 
Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Victor Yañez el día 24 de noviembre de 2003

Hola, puedes seguir los siguientes pasos:
1.- Declarar el evento que quieres generar en ejecucion en el Unit1.h de tu form, en este caso te dare el ejemplo con el evento OnClick de los CheckBox (El evento que declares tiene que recibir los mismos parametros que uno hecho en diseño!!!!), de esta forma:

public: // User declarations
void __fastcall ArregloClick(TObject *Sender);
__fastcall TForm1(TComponent* Owner);

2.- Luego realizas la creacion del arreglo:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCheckBox *Arreglo[15];

for(int i=0;i<15;i++)
{
Arreglo[i] = new TCheckBox(this);
Arreglo[i]->Parent=this;
Arreglo[i]->Top = i*10;
Arreglo[i]->Left = 0;
Arreglo[i]->Show();
//AQUI LE INDICAS Q EN ONCLICK HAGA LO DE ARREGLO CLICK
Arreglo[i]->OnClick = ArregloClick;
Arreglo[i]->Tag = i+1;
}
}

3.- Luego haces el cuerpo de la funcion en el Unit1.cpp de tu form:

void __fastcall TForm1::ArregloClick(TObject *Sender)
{
int cual =((TCheckBox*)Sender)->Tag;
switch(cual)
{
case 1:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 2:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 3:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 4:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 5:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 6:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;
case 7:
ShowMessage("Click en CheckBox : "+IntToStr(cual));
break;

}

}


Y eso, si te fijas identifico el CheckBox que ha sido clikeado por medio de su propidedad Tag, a la cual le asigne un numero mientras iba creando el arreglo.

Espero te sirva.
_Viktor
Saludos!

 
Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por bicugo el día 26 de noviembre de 2003

Hola, gracias por tu respuesta, pero no entiendo lo que tengo que hacer, uya que no estoy muy rentendido en delphi.
Aunque por lo que veo esto es C++ y no delphi, ya que delphi no tiene void y los archivos no son cpp.

 
Re: Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por victor yañez el día 26 de noviembre de 2003

Bueno pero la idea es la misma, tan solo tienes que traducir el codigo, eso lo hace cualquiera...

Saludos!!!!

 
Re: Re: Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por bicugo el día 27 de noviembre de 2003

Hola, tengo un problema, que es que nunca he programado en C++ Builder, así que no se como funciona.
¿ Que es el arreglo de una función ?
¿ Donde está eso en delphi ?

Ya que lo único que veo en delphi es la declaraciñon del evento dentro del type y luego en implementation la implementación de la función.

Me estoy mirando un manual de C++ Builder para ver si me entero de que hace cada cosa y así poder pasarlo a delphi.

 
Re: Re: Re: Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por bicugo el día 28 de noviembre de 2003

Ya esta soluccionado, aunque la verdad es que lo que me has dicho no me a servido para mucho.XD
Pero aún así muchas gracias por contestar.

 




Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por emmanuel el día 17 de marzo de 2004

Espero que me mandes todo el codigo en delphi
o a solo que no haya entendido el codigo porque
el codigo este esta en C

 

Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Bulma el día 26 de diciembre de 2005

Dónde se coloca lo que dices en el 2º paso(Correción del arreglo)? en el .h?

 

Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Bulma el día 26 de diciembre de 2005

2.- Luego realizas la creacion del arreglo:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCheckBox *Arreglo[15];

for(int i=0;i<15;i++)
{
Arreglo[i] = new TCheckBox(this);
Arreglo[i]->Parent=this;
Arreglo[i]->Top = i*10;
Arreglo[i]->Left = 0;
Arreglo[i]->Show();
//AQUI LE INDICAS Q EN ONCLICK HAGA LO DE ARREGLO CLICK
Arreglo[i]->OnClick = ArregloClick;
Arreglo[i]->Tag = i+1;
}
}
Dónde se inserta esto? en el .h?

 

Re: Re: crear eventos en tiempo de ejecucion en delphi
Enviado por olivita el día 30 de marzo de 2006

oye victor de casualidad no tendras un codigo en delphi entendible de case un sencillo que me puedas enviar si puedes gracias urgente por favor
adios

 


Re: crear eventos en tiempo de ejecucion en delphi
Enviado por Williams el día 7 de febrero de 2006

Oye, yo desarrollo en C++ Builder y sabes, lo unico que tienes que hacer es asignar a cada elemento de tu arreglo el CheckBox correspondiente y de esa manera puedes referenciar al CheckBox que quieras.
Por ejemplo: TCheckBox * MyArray[10];
Luego: MyArray[0]=CheckBox1; MyArray[1]=CheckBox2 ...... y asi sucesivamente. hasta llenar los diez CheckBox. Puedes tener los que quieras. A lo que voy es que con esto, despues podras referenciar al CheckBox que quieras por medio del arreglo.
Ej: MyArray[5]->Click();
para llamar el evento click del CheckBox5.
Solo traducelo al Delphi xq yo no conozco ese entorno.
Saludos.

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network