none
TextBox an eine Methode übergeben RRS feed

  • Frage

  • Hallo

    ich möchte gerne den Wert einer TextBox an eine Methode übergeben. In dieser soll eine Überprüfung (try catch) der Konvertierung statt finden, wonach eine Meldung bei Ausnahme ausgegeben wird. Die Methode soll für jede TextBox verwendet werden. Kann ich es mit einem handle einfach so übergeben?


    Sonntag, 8. November 2009 20:32

Antworten

  • Das musst du so machen:



    void check (TextBox^ wert){
                 
                try{
                   
                    Int32 zahl=Convert::ToInt32(wert->Text);
                }

                catch (FormatException^) {
                    MessageBox::Show("Bei der Konvertierung ist ein Fehler aufgetreten");
                }
    }


    Die Übergabe an die Methode

             check (textBoxZahl1);
    • Als Antwort vorgeschlagen Neuer_user Mittwoch, 11. November 2009 14:07
    • Als Antwort markiert Robert Breitenhofer Mittwoch, 18. November 2009 16:34
    Mittwoch, 11. November 2009 14:05
  • Ja, das geht.
    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Montag, 9. November 2009 10:16
  • Hallo Martin,

    muss vor der Übergabe unbedingt eine Konvertierung durchgeführt werden? Sonst ist ja die Methode zum überprüfen sinnlos.

    Meine Methode

    void check (TextBox^ wert){
                 
                try{
                   
                    Int32 zahl=Convert::ToInt32(wert);
                }

                catch (FormatException^) {
                    MessageBox::Show("Bei der Konvertierung ist ein Fehler aufgetreten");
                }
    }


    Die Übergabe an die Methode

    TextBox ^wert=textBoxZahl1->Text;                         
                check (wert);


    Dann kommt aber die Fehlermeldung

     error C2440: 'Initialisierung': 'System::String ^' kann nicht in 'System::Windows::Forms::TextBox ^' konvertiert werden
    • Als Antwort vorgeschlagen Neuer_user Mittwoch, 11. November 2009 14:07
    • Als Antwort markiert Robert Breitenhofer Mittwoch, 18. November 2009 16:34
    Dienstag, 10. November 2009 20:57

Alle Antworten

  • Ja, das geht.
    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Montag, 9. November 2009 10:16
  • Hallo Martin,

    muss vor der Übergabe unbedingt eine Konvertierung durchgeführt werden? Sonst ist ja die Methode zum überprüfen sinnlos.

    Meine Methode

    void check (TextBox^ wert){
                 
                try{
                   
                    Int32 zahl=Convert::ToInt32(wert);
                }

                catch (FormatException^) {
                    MessageBox::Show("Bei der Konvertierung ist ein Fehler aufgetreten");
                }
    }


    Die Übergabe an die Methode

    TextBox ^wert=textBoxZahl1->Text;                         
                check (wert);


    Dann kommt aber die Fehlermeldung

     error C2440: 'Initialisierung': 'System::String ^' kann nicht in 'System::Windows::Forms::TextBox ^' konvertiert werden
    • Als Antwort vorgeschlagen Neuer_user Mittwoch, 11. November 2009 14:07
    • Als Antwort markiert Robert Breitenhofer Mittwoch, 18. November 2009 16:34
    Dienstag, 10. November 2009 20:57
  • Das musst du so machen:



    void check (TextBox^ wert){
                 
                try{
                   
                    Int32 zahl=Convert::ToInt32(wert->Text);
                }

                catch (FormatException^) {
                    MessageBox::Show("Bei der Konvertierung ist ein Fehler aufgetreten");
                }
    }


    Die Übergabe an die Methode

             check (textBoxZahl1);
    • Als Antwort vorgeschlagen Neuer_user Mittwoch, 11. November 2009 14:07
    • Als Antwort markiert Robert Breitenhofer Mittwoch, 18. November 2009 16:34
    Mittwoch, 11. November 2009 14:05