• Sábado 14 de Diciembre de 2024, 13:33

Autor Tema:  Re: Paso de valores entre ventanas  (Leído 4378 veces)

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Paso de valores entre ventanas
« en: Lunes 22 de Septiembre de 2003, 11:58 »
0
hola mi problema es que necesito pasar los valores de unas variables  de form1 a form2, para en form2 hacer una grafica con los valores de esas variables, tengo este codigo:
// codigo escrito en form2
Series1->Clear();
Series1->Add( kilos_g   , "Kilos de Grasa"      , clRed);
Series1->Add( magro , "Kilos de Peso Magro" , clBlue);

donde kilos_g y magro son las variables que extraigo de form1.

me podrian dar un ejemplo de hacer una grafica pero dandole valores segun el valor que tengan las variables.

bueno me despido y espero me puedan ayudar, saludos asta luego.

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Paso de valores entre ventanas
« Respuesta #1 en: Martes 23 de Septiembre de 2003, 01:39 »
0
Te refieres a pasar valores entre formularios ??

Espero tu respuesta para poder ayudarte.-

Saludos :hippi:
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Paso de valores entre ventanas
« Respuesta #2 en: Martes 23 de Septiembre de 2003, 04:44 »
0
hola viktor.
acertaste, lo que quiero es pasar el valor de:
double kg;
double mg; que se encuentran en Form1 a Form2 para poder llenar un componente TChart con esos valores.

Series1->Add(variable1 , "kilogramos" , clRed);
Series1->Add(variable2 , "kilogramos magro" , clBlue);

me puedes hechar la mano con esto, saludos y gracias.

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Paso de valores entre ventanas
« Respuesta #3 en: Martes 23 de Septiembre de 2003, 22:51 »
0
Para ello yo haria que esas variables fueran parte del formulario , en el ejemplo que pongo a continuacion declaro "var" como parte del Form2, es decir en Unit2.h luego accedo a ella desde el Form1.-

El Unit2.h (cabecera Form2)

 
Código: Text
  1.  
  2. //-----------------------------------------------------------
  3.  
  4. #ifndef Unit2H
  5. #define Unit2H
  6. //---------------------------------------------------------------------------
  7. #include <Classes.hpp>
  8. #include <Controls.hpp>
  9. #include <StdCtrls.hpp>
  10. #include <Forms.hpp>
  11. //---------------------------------------------------------------------------
  12. class TForm2 : public TForm
  13. {
  14. __published:    // IDE-managed Components
  15. private:    // User declarations
  16. public:     // User declarations
  17.   int var; //pasa a ser parte del TForm2
  18.   //puse var por dar el ejemplo-
  19.         __fastcall TForm2(TComponent* Owner);
  20. };
  21. //---------------------------------------------------------------------------
  22. extern PACKAGE TForm2 *Form2;
  23. //---------------------------------------------------------------------------
  24. #endif
  25.  
  26.  
  27.  



El Unit1.cpp (Fuente del Form1)
 
Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #pragma hdrstop
  6.  
  7. #include "Unit1.h"
  8. /*INCLUYES TFORM2*/
  9. #include "Unit2.h"
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma resource "*.dfm"
  13. TForm1 *Form1;
  14. //---------------------------------------------------------------------------
  15. __fastcall TForm1::TForm1(TComponent* Owner)
  16.         : TForm(Owner)
  17. {
  18. }
  19. //---------------------------------------------------------------------------
  20.  
  21. void __fastcall TForm1::Button1Click(TObject *Sender)
  22. {
  23.   //Asi asignas
  24.   Form2->var = 1000;
  25.   //Asi lees por ejemplo.-
  26.   Edit1->Text = IntToStr(Form2->var);
  27. }
  28. //---------------------------------------------------------------------------
  29.  
  30.  
  31.  

Es super simple, espero te sirva.-
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Paso de valores entre ventanas
« Respuesta #4 en: Miércoles 24 de Septiembre de 2003, 01:19 »
0
hola viktor gracias por la respuesta, aunque no es exactamente lo que quiero, mi problema es que tengo dos formularios, Form1 y Form2.

en Form1 tengo 4 variables :
double Grasa;
double grasa_kg;
double imc;
double peso_magro;
con las cuales realizo diversas operaciones, el caso es que las quiero pasar a Form2 en donde tengo un componente TChart en el cual utilizo las variables para llenarlo:

Series1->Clear();
Series1->Add(grasa_kg  , "Kilos de Grasa"      , clRed);
Series1->Add(peso_magro , "Kilos de Peso Magro" , clBlue);

pero tambien despliego el contenido de esas variables en tres Labels:

Label1->Caption = grasa_kg;
Label2->Caption = peso_magro;
Label3->Caption = imc;

todo esto en el evento OnCreate del Form2, para esto en Form2.h tengo declaradas las variables anteriores:

extern double Grasa;
extern double grasa_kg;
extern double imc;
extern double peso_magro;

y me marca los siguientes errores:
[C++ Error] frmgrafica.cpp(22): E2034 Cannot convert 'TLabel *' to 'AnsiString'
[C++ Error] frmgrafica.cpp(27): E2034 Cannot convert 'TLabel *' to 'double'
[C++ Error] frmgrafica.cpp(27): E2342 Type mismatch in parameter 'AValue' (wanted 'const double', got 'TLabel *')

espero me puedas ayudar porque lo probé en otro proyecto y si me funcionó, gracias y asta luego.

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Paso de valores entre ventanas
« Respuesta #5 en: Miércoles 24 de Septiembre de 2003, 02:38 »
0
Hola, la verdad que cuando te aparecen errores como
 
Citar
C++ Error] frmgrafica.cpp(22): E2034 Cannot convert 'TLabel *' to 'AnsiString'


Significa que estas asignando una cadena directamente a un Label, es decir:
 
Código: Text
  1.  
  2. cadena = Label1;
  3.  

de la misma forma con el double,  y en el codigo que publicaste no veo ningun error de ese tipo... revisa bien tu codigo, tal vez en algun sitio estas haciendo alguna asignacion como esa.-

Suerte.-
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Paso de valores entre ventanas
« Respuesta #6 en: Miércoles 24 de Septiembre de 2003, 06:54 »
0
saludos viktor.

en efecto eso era lo que tenia mal, que en el segundo formulario tenia un Label con el mismo nombre de la variable y por eso me marcaba el error, el programa suponia que me referia al label y no a la variable, gracias por tus consejos.

A yo publiquè un mensage pidiendo informacion sobre los puertos y tu contestaste que tenias por ahì un manual, espero me puedas proporcionar el manual, de eso o de lo que sea lo que me interesa es aprender de programacion, un saludo y asta luego.

mi correo es:
carlos_lue18@hotmail.com

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Paso de valores entre ventanas
« Respuesta #7 en: Jueves 25 de Septiembre de 2003, 00:07 »
0
Hola, que bueno haber podido ayudarte..
Ahora, con respecto al manual de puertos no recuerdo haber ofrecido alguno, ya que no tengo ninguno, lo que si ofreci fue un manual de creacion de componentes, eso si te lo puedo enviar.-

Saludos.
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

carlos_lue

  • Miembro activo
  • **
  • Mensajes: 83
    • Ver Perfil
Re: Paso de valores entre ventanas
« Respuesta #8 en: Jueves 25 de Septiembre de 2003, 07:58 »
0
ok, me equivoque de mensage, lo que pasa es queme interesa aprender todo lo que se pueda y creì que tu lo habias ofrecido pero bueno, si necesito ese manual y te lo agradesco que me lo puedas proporcionar, un saludo y gracias.

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Paso de valores entre ventanas
« Respuesta #9 en: Jueves 25 de Septiembre de 2003, 09:12 »
0
Apenas lo encuentra en el monton de cd's que tengo te lo envio....

Suerte
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]