String in andere Funktion übergeben



  • Ja, ich bin einer, tsetsetse!

    Mir fällt absolut nicht mehr ein,
    wie ich einen gerade geschriebenen
    String in eine andere Funktion übergebe!

    Ich habe eine Datei (mit einem Button) in
    den String geladen und möchte nun mit
    einem anderen Button, eine Funktion
    aufrufen, die diesen String benutzt,
    wie handelt man das ? 😕



  • Also wenn die beiden Buttons nicht im selben Dialog sich befinden, dann machste das so:

    Dialog 1:
    CString sumtin;

    Dialog 2:
    CString sumtin_else;

    Bei OnClick von Button:
    Dialog2.sumtin_else = sumtin;

    [ Dieser Beitrag wurde am 30.06.2003 um 10:02 Uhr von Peter Piksa editiert. ]



  • Hi nochmal!

    Das hat leider nicht so ganz geklappt.
    Ich schilder die Situation am Besten nochmal.

    Ich lese, mittels eines ButtonKlicks, eine Datei
    in einen TCHAR(habe mich vorhin, vertan) ein.
    Nun möchte ich dieses TCHAR, einer anderen Funktion,
    wo diesmal wieder ein ButtonKlick hinter steckt,übergeben.

    Das was ich bis jetzt habe sieht wie folgt aus:

    TCHAR str[64000];
        int nDateiLaenge = 0;
        CFile datei(m_strPfad, CFile::modeRead);  //m_strPfad ist die CString-Membervariable der Editbox(Pfadeingabe)
        GetDlgItem(IDC_STATIC_DATEI)->SetWindowText(m_strPfad);//der Filename wird in einem Static Text angezeigt
    
        nDateiLaenge = datei.Read(str, sizeof(str));
    
        str[nDateiLaenge] = NULL;
    
        GetDlgItem(IDC_EDIT_INHALT)->SetWindowText(str); //der Inhalt der Datei wird in der EditBox angezeigt
    

    Diese Funktion war auf dem ÖffnenButton gelegt.
    Nun möchte ich mit der nächsten Funktion,
    den gerade eingelesenen TCHAR, weiter bearbeiten.
    Wie übergebe ich das am Besten?



  • Leg dir eine neue Klassen-Variable CString m_dateiinhalt an.
    Dieser weist Du den Inhalt mit m_dateiinhalt=str nach dem Einlesen der Datei zu.
    Dann kannst Du mit m_dateiinhalt in der anderen Funktion arbeiten.
    Wenn Dir das zu kompliziert ist kannst Du auch mit

    CString mein_str
    GetDlgItem(IDC_EDIT_INHALT)->GetWindowText(mein_str);
    

    den Inhalt deiner EditBox in deiner 2. Funktion auslesen.



  • Danke!

    Hat wunderbar geklappt! 😃
    Jetzt komme ich wenigstens bis zum nächsten Problem!
    Dann habe ich demnächst noch mehr Fragen!

    cya, man liest sich!


Anmelden zum Antworten