eine Variable von der Unit6 in die Unit1 schreiben (Form6->Form1)
-
Hallo,
habe folgendes Problem:
Ich möchte von einen Form6 Formular in einen Form1 Formular einen Wert in eine Variable schreiben.
Hier ein Beispiel:
Code für die Unit1 (Form1): Hier ist die Variable float Spannungsfall
-----------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include <math.h>
#include "Unit4.h"
#include "Unit5.h"
#include "Unit6.h"
//---------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------float Spannungsfall=3.0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
...
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------Code für die Unit6 (Form6): Hier möchte ich über eine ComboBox1 den Text direkt
in die Variable auf der Unit1 Spannungsfall schreiben//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop#include "Unit6.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm6 Form6;
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------void __fastcall TForm6::Button1Click(TObject *Sender)
{
ComboBox1->Text ????????????????????????????????????Form6->Visible=false;
}
//---------------------------------------------------------------------------...
Könnt ihr mir da weiterhelfen?
Gruss
ahl
-
Hallo
siehe FAQ, Thread Variablenübergabe an andere Form
bis bald
akari
-
Das kommt in den public deiner Unit1.h
(public: // Anwender-Deklarationen)float Spannungsfall;Dann setzt du irgendwo deinen Wert in deine Variable (Unit1.cpp):
Hier z.B. im Konstruktor__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Spannungsfall=3.0; }Dann kannst du in deiner Form6 so darauf zugreifen:
ComboBox1->Text = Form1->Spannungsfall;
-
Hallo
Code-Tags benutzen
muss die Variable spannungsfall direkt, oder erst beim zeigen von Form1 zugewiesen werden???
in Form6:Form1->Temp->Text = ComboBox1->Text;in Form1(bei onEnter oder onShow):
Spannungsfall = Form1->Temp->Text.c_str();Form1->Temp bezeichnet ein unsichtbares(visible = false) EditFeld in Form1.
corvin
-
so gehts' auch:
#include <vcl.h> #pragma hdrstop float Spannungsfall=3.0; #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #include <math.h> #include "Unit4.h" #include "Unit5.h" #include "Unit6.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } ... ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -----------------------------------------------------------------------------corvin
-
so gehts' auch:
So geht was ?
-
Hallo corvin1397,
so hatte ich es probiert, aber ohne Erfolg. Ich kann natürlich ein Fehler gemacht haben.
Vielen Dank für vielen Antworten, ich denke ich bekomme es so hin.
Gruss ahl
-
Der Wert Spannungsfall wird erst verändert, wenn TForm6 aufgerufen wird, das kann aber höchstselten sein oder auch garnicht, je nach Benutzer.
Dem Wert muss als erstes eine Zahl zugewiesen werden, hier 3.0, sonst gibt es in der Berechnung später Probleme, denn so steht dort irgendwas drin oder auch die 0.
-
ahl schrieb:
Hallo,
habe folgendes Problem:
Ich möchte von einen Form6 Formular in einen Form1 Formular einen Wert in eine Variable schreiben.
@ahl
Form1->Temp->Text = ComboBox1->Text;muss bei einem onClick oder OnChange ereigniss stehen
corvin
-
corvin1397 schrieb:
ahl schrieb:
Hallo,
habe folgendes Problem:
Ich möchte von einen Form6 Formular in einen Form1 Formular einen Wert in eine Variable schreiben.
@ahl
Form1->Temp->Text = ComboBox1->Text;muss bei einem onClick oder OnChange ereigniss stehen
corvin

Dem Wert muss als erstes eine Zahl zugewiesen werden, hier 3.0, sonst gibt es in der Berechnung später Probleme, denn so steht dort irgendwas drin oder auch die 0.
Ein Startwert gehört in den Konstruktor.
-
Habe zum laufen bekommen,
habe die Methode von bcbler benutzt.
Vielen DAnk für die Hilfe
Gruß ahl
-
ahl schrieb:
Habe zum laufen bekommen,
habe die Methode von bcbler benutzt.
Vielen DAnk für die Hilfe
Gruß ahl
die ist ja auch richtig!!!