String in andere form übernehmen?
-
Hallo Leute.
ich hab hier folgendes Problem. In FromA wurden 2 dinge in ein editfeld eingetragen. Die einagben wurden in ansistaring bzw b gespeichert. Auf der Form B habe ich nun 2 Label, die caption der label soll immer == des strings aus der vorherigen Form A sein
Ich hab verscheidene dinge versucht, doch ich bekomm das nicht so wirklich hin.
Ich hab die form A in form #included , das is ja richtig denk ich
-
hat sich erledigt sry, hab FAQ vergessen
-
Naja gut erm.... ich hab da nur Bahnhof verstanden. hat jemand noch nen tip?
-
Hallo
das Beispiel asu der FAQ ist eigentlich genau das, was du brauchst.
Das wichtigste ist, das du in der Headerdatei von Form A die Header-datei von Form B includest#include <vcl\vcl.h> // bereits vorhanden #include "FormA.h" // neu einzutragendann kannst du in der C-Datei von FormA auf FormB zugreifen
AnsiString B = FormB->Edit1->Textbis bald
akari
-
Hallo und thx 4 help, aber bei dir ist es genau flaschrum.
Du schreibst in Varbiale von forum a das was in From B eingetragen wird.
(so versteh ich das nun)Ich habe aber auf From A 2 editfelder. Dort kann man seinen NAmen eintragen. die beidennamen werden in AnsiString sp1_name und sp2_name gespeichert. Nach dem klick auf den ok button kommt eine neue Form. dort befinden sich 2 labes. dies labes sollen das beinhalten was vorher in sp1_name und sp2_name gespeichert wurde.
hier mal mein Code
Form 1:
//--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include <iostream.h> #pragma hdrstop #include "formMain.h" #include "formSplash.h" #include "formGame.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfrmMain *frmMain; AnsiString sp1_name; AnsiString sp2_name; //--------------------------------------------------------------------------- __fastcall TfrmMain::TfrmMain(TComponent* Owner) : TForm(Owner) { sp1_name = frmMain->edSpieler1->Text; sp2_name = frmMain->edSpieler2->Text; } //--------------------------------------------------------------------------- void __fastcall TfrmMain::cmdMultiplayerClick(TObject *Sender) { frmMain->edSpieler1->Visible = true ; frmMain->edSpieler2->Visible = true ; frmMain->lblName->Visible = true ; frmMain->lblSpieler1->Visible = true ; frmMain->lblSpieler2->Visible = true ; frmMain->cmdOk->Visible = true; } //--------------------------------------------------------------------------- void __fastcall TfrmMain::cmdOkClick(TObject *Sender) { if (edSpieler1->Text == "" || edSpieler2->Text == "" ) { Application->MessageBoxA("Die felder wurden nicht korrekt ausgefüllt","Hinweis...",MB_OK) ; } else { frmGame->ShowModal(); frmMain->Close() ; // frmMain->Width = 900; // frmMain->Height = 900; // frmMain->Top = Screen->Height/2 - frmMain->Height/2; // frmMain->Left = Screen->Width/2 - frmMain->Width/2; } // edSpieler1->Visible = false // edSpieler2->Visible = false } //---------------------------------------------------------------------------Form 2
//--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include <iostream.h> #pragma hdrstop #include "formGame.h" #include "formMain.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfrmGame *frmGame; //--------------------------------------------------------------------------- __fastcall TfrmGame::TfrmGame(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TfrmGame::lblSpieler1Click(TObject *Sender) { lblSpieler1->Caption = sp1_name; } //--------------------------------------------------------------------------- void __fastcall TfrmGame::grpOptionenClick(TObject *Sender) { } //---------------------------------------------------------------------------
-
Hallo
na dann hast du doch schon alles. Alles was du noch in formMain.cpp brauchst ist
frmGame->lblSpieler1->Caption = edSpieler1->Text; frmGame->lblSpieler2->Caption = edSpieler2->Text; frmGame->ShowModal();Und in Memberfunktion eines Forms brauchst du nicht noch den Formnamen selber angeben, um auf andere Member zuzugreifen :
sp1_name = frmMain->edSpieler1->Text; // stattdessen lieber sp1_name = edSpieler1->Text;Und las die globalen Variablen
AnsiString sp1_name; AnsiString sp2_name;weg, dort nützen sie dir auch nichts.
bis bald
akari