Programación General > C++ Builder

 Re: Paso de valores entre ventanas

(1/2) > >>

carlos_lue:
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:
Te refieres a pasar valores entre formularios ??

Espero tu respuesta para poder ayudarte.-

Saludos :hippi:

carlos_lue:
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:
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 --- //----------------------------------------------------------- #ifndef Unit2H#define Unit2H//---------------------------------------------------------------------------#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>//---------------------------------------------------------------------------class TForm2 : public TForm{__published:    // IDE-managed Componentsprivate:    // User declarationspublic:     // User declarations  int var; //pasa a ser parte del TForm2  //puse var por dar el ejemplo-        __fastcall TForm2(TComponent* Owner);};//---------------------------------------------------------------------------extern PACKAGE TForm2 *Form2;//---------------------------------------------------------------------------#endif   


El Unit1.cpp (Fuente del Form1)
 
--- Código: Text --- //--------------------------------------------------------------------------- #include <vcl.h>#pragma hdrstop #include "Unit1.h"/*INCLUYES TFORM2*/#include "Unit2.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){}//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender){  //Asi asignas  Form2->var = 1000;  //Asi lees por ejemplo.-  Edit1->Text = IntToStr(Form2->var);}//---------------------------------------------------------------------------   
Es super simple, espero te sirva.-

carlos_lue:
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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa