SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Devilcpc en Martes 1 de Junio de 2004, 01:22

Título: Variables Entre Formularios
Publicado por: Devilcpc en Martes 1 de Junio de 2004, 01:22
hola de vuelta

aca estoy con otra duda:

yo creo una variable int (ej: op) como publica en un formulario, ej: Form5.
adentro del Form5 le asigno algun valor, dependiendo de algunas circunstancias, mi duda es porque al cerrar el Form5, y abrir otro formulario, la variable se resetea, osea cuando la llamo asi:

Form5->op;

la variable tiene el valor 0 y pierde el q yo le asigne en el Form5.
aclaro q incluyo bien los .h, no es eso...

como hago para que no se pierda el valor?

si no fui muy claro diganmen y les trato de explicar mejor...

Adrian  :lightsabre:
Título: Re: Variables Entre Formularios
Publicado por: lordford en Martes 1 de Junio de 2004, 22:12
Hola Devilcpc:

realmente no se por que no sabes como hacer esto, mira, ya probe lo siguiente y trabaja OK, tengo 2 formuarios(F1, F2), en el .h de F2 declaro una variable de tipo int(variable) de visibilidad publica.
Ahora incluyo en el .h de F1 el .h de F2. En F2 pongo un boton y un edit, en el OnClick del boton asigno el valor del edit a variable, luego cierro la F2 y al regresar a F1(esta tiene 2 botones, uno para mostrar la F2 y otro para mostrar el valor de variable luego de asignarlo en F2) en el OnCLick del 2do boton muestro un msg con el valor de variable.

NO ME RESETEA EL VALOR DE variable.

Aqui esta el codigo aproximado:

Código: Text
  1.  
  2. // TODO ESTO EN LA F1
  3. //En el .h de F1
  4. #include "Unit2.h"
  5.  
  6. //En el OnClick del 1er boton
  7. void __fastcall TForm1::Button1Click(TObject *Sender)
  8. {
  9.         Form2->ShowModal();
  10. }
  11.  
  12. //En el OnClick del 2do boton, solo ejecutar despues de ir a la F2
  13. void __fastcall TForm1::Button2Click(TObject *Sender)
  14. {
  15.         ShowMessage(IntToStr(Form2->variable));
  16. }
  17.  
  18. //TODO ESTO EN LA F2
  19. //En el .h de F2, declaro la variable publica
  20. int variable;
  21.  
  22. //En el OnClick del boton
  23. void __fastcall TForm2::Button1Click(TObject *Sender)
  24. {
  25.         variable = Edit1->Text.ToInt();
  26.         ShowMessage(IntToStr(variable));
  27. }
  28.  
  29.  
  30.  

Y ya esta, espero que te sirva, aqui tienes el adjunto.
Título: Re: Variables Entre Formularios
Publicado por: lordford en Martes 1 de Junio de 2004, 22:15
Hola Devilcpc:

realmente no se por que no sabes como hacer esto, mira, ya probe lo siguiente y trabaja OK, tengo 2 formuarios(F1, F2), en el .h de F2 declaro una variable de tipo int(variable) de visibilidad publica.
Ahora incluyo en el .h de F1 el .h de F2. En F2 pongo un boton y un edit, en el OnClick del boton asigno el valor del edit a variable, luego cierro la F2 y al regresar a F1(esta tiene 2 botones, uno para mostrar la F2 y otro para mostrar el valor de variable luego de asignarlo en F2) en el OnCLick del 2do boton muestro un msg con el valor de variable.

NO ME RESETEA EL VALOR DE variable.

Aqui esta el codigo aproximado:

Código: Text
  1.  
  2. // TODO ESTO EN LA F1
  3. //En el .h de F1
  4. #include "Unit2.h"
  5.  
  6. //En el OnClick del 1er boton
  7. void __fastcall TForm1::Button1Click(TObject *Sender)
  8. {
  9.         Form2->ShowModal();
  10. }
  11.  
  12. //En el OnClick del 2do boton, solo ejecutar despues de ir a la F2
  13. void __fastcall TForm1::Button2Click(TObject *Sender)
  14. {
  15.         ShowMessage(IntToStr(Form2->variable));
  16. }
  17.  
  18. //TODO ESTO EN LA F2
  19. //En el .h de F2, declaro la variable publica
  20. int variable;
  21.  
  22. //En el OnClick del boton
  23. void __fastcall TForm2::Button1Click(TObject *Sender)
  24. {
  25.         variable = Edit1->Text.ToInt();
  26.         ShowMessage(IntToStr(variable));
  27. }
  28.  
  29.  
  30.  

Y ya esta, espero que te sirva, aqui tienes el adjunto.

Salu2,

 :smartass:  :)  :lol:  :D

LordFord