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

    http://www.c-plusplus.net/forum/viewtopic.php?t=39242



  • 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 einzutragen
    

    dann kannst du in der C-Datei von FormA auf FormB zugreifen

    AnsiString B = FormB->Edit1->Text
    

    bis 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


Anmelden zum Antworten