• Jueves 2 de Mayo de 2024, 22:30

Autor Tema:  Variables Entre Formularios  (Leído 1021 veces)

Devilcpc

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Variables Entre Formularios
« en: Martes 1 de Junio de 2004, 01:22 »
0
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:
-- Solo se q no se nada, pero aun supero a la generalidad de todos los hombres q no saben eso tampoco --

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Variables Entre Formularios
« Respuesta #1 en: Martes 1 de Junio de 2004, 22:12 »
0
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.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
~ Si quieres que algo en la vida te salga bien]~

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Variables Entre Formularios
« Respuesta #2 en: Martes 1 de Junio de 2004, 22:15 »
0
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
~ Si quieres que algo en la vida te salga bien]~