PDA

Ver la Versión Completa : Crear un formulario


rex
25-04-2007, 07:43:22
Realmente aprendí delphi al vuelo y nunca aprendí el manejo de constructores y esas cosas. Bueno el problema es lo siguiente, a ver si puedo explicarme. Tengo un formalario llamemosle Form1, en donde tengo dos botones, en el evento onClick, de cada boton crean y muestran otro formulario en tiempo de ejecucion, por lo que necesito que dependiendo del boton pulsado el formulario creado reciba como parametro un valor que le madara el boton respectivo

tengo algo asi declarodo en el form1

//............
Public
ClaseForma : TFormClass;
end;
//..........

procedure TForm1.Button1Click(sender : tobject);
begin

claseForma.Create(nil).ShowModal;
end;


Mi problema es que necesito que este formulario reciba dos parametros, es decir que el constructor create, pueda recibir parametros como algo asi:


constructor TCustomForm.Create(AOwner: TComponent, Parametro1: String, Parametro2: String);


Para que cuando lo invoque pueda hacerlo asi:


procedure TForm1.Button1Click(sender : tobject);
begin
claseForma.Create(nil, 'Boton1','Valor1').Showmodal;
end;


procedure TForm1.Button2Click(sender : tobject);
begin

claseForma.Create(nil, 'Boton2','Valor2').showmodal;
end;



Como que tengo la idea, ya que estoy revisando el codigo del Unit Forms, pero no se como armar la nueva unidad que creara el formulario. Tomo un curso de delphi mejor o creen que pueda encontrar algo por aqui??

De antemano muchas gracias

Neftali [Germán.Estévez]
25-04-2007, 12:46:05
Divide la línea del create y del Show en dos y entre medio pásale los parámetros que necesitas utilizando un par de propiedades.


F := TForm.Create(...);
F.Valor1 := 1;
F.Valor2 := 2;
F.ShowModal;


La otra opción es redefinir el constructor para poder ampliar los parámetros.


public
Constructor Create(AOwner: TComponent; Valor1, Valor2:Integer); virtual;

...


En la implamentación llamas al inherirted y luego asignas los valores.

rex
26-04-2007, 08:19:11
Grax por tu ayuda Neftali, si me oriento, y revisando con lo que me comentas hice una busqueda en los foros y encontre este hilo que ya viene explicado con peras y manzanas, o como decimos por aca, en bandeja de plata.

http://www.clubdelphi.com/foros/showthread.php?t=35958&highlight=parametros+formulario


Muchas Gracias por tu ayuda y la de todos en conjunto