In neuer Zeile fortfahren (Label)



  • Huhu,

    ich bin gerade dabei meinem kleinen Spiel (Anfängerscript 😉 ) Schwierigkeitsgrade zuzuweisen. Ich möchte, dass in einem Label etwas in 2 Zeilen stehen soll.

    In dem Label soll stehen:

    Schwierigkeitsgrad:
    Leicht

    So sieht es zurzeit bei mir aus:

    if (Schwierigkeitsgrad == 1) {
    			 Zahl1 = Zufall->Next(10);
    			 Zahl2 = Zufall->Next(10);
    			 label11->Text = "Schwierigkeitsgrad:" + _ 
    				+ "Leicht";
    			 label11->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
    			 label12->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
    			 }
    

    Wie muss ich das dort angeben? Habe in meinem Buch und in der Onlinehilfe von Visual 2008 nichts gefunden.

    mfg
    magges



  • Zeile 4-5: wtf?
    Und was hat das mit C++ zu tun?



  • versuchs mal mit

    label11->Text = "Schwierigkeitsgrad:" + "\r\n"
                    + "Leicht";
    


  • wieso \r ?



  • hustbaer schrieb:

    versuchs mal mit

    label11->Text = "Schwierigkeitsgrad:" + "\r\n"
                    + "Leicht";
    

    Du willst also Zeiger addieren? 😉

    Das + ist nicht nötig bei der Verkettung von Stringliteralen.



  • wenn es dir nur geht um strings addrieren, dann mach es so:

    string text = string ( "Schwierigkeitsgrad:\n" ) + "Leicht";
    

    wobei das nicht die beste Möglichkeit ist ( ist nicht garantiert das es überall funktioniert ), aber ist eine Möglichkeit Strings zu addieren 😋



  • Was redet ihr? Das ist doch C++ mit CLR-Unterstützung.



  • Nexus schrieb:

    hustbaer schrieb:

    versuchs mal mit

    label11->Text = "Schwierigkeitsgrad:" + "\r\n"
                    + "Leicht";
    

    Du willst also Zeiger addieren? 😉

    String-Literale waren in C++ noch nie Zeiger, sondern Character-Arrays.

    Und in C++/CLI sind Strings Referenzen auf Instanzen von System::String. Und die lassen sich wunderbar mit + verketten.
    Mir ist klar dass hier nicht das C++/CLI Forum ist, aber da der OP eindeutig C++/CLI Code gepostet hat...

    Das + ist nicht nötig bei der Verkettung von Stringliteralen.

    Das ist mir auch klar, aber dem OP vermutlich nicht.



  • Tim06TR schrieb:

    wieso \r ?

    Viele WinAPI und Windows Forms Controls brauchen das "\r" (d.h. nur "\n" reicht nicht). Da ich mir nie merke welche genau es nicht brauchen, versuch' ich es immer erstmal mit. Und nur ohne, wenn mit seltsame Dinge passieren.
    Kann man natürlich genauso umgekehrt machen.



  • Danke euch, mit "\r\n" klappt das 🙂



  • hustbaer schrieb:

    String-Literale waren in C++ noch nie Zeiger, sondern Character-Arrays.

    Ja, das ist mir schon bewusst. Aber da mit Arrays gar keine arithmetischen Operationen möglich sind, wird der Compiler wahrscheinlich versuchen, die Konversion zum Zeiger durchzuführen, beim Minus geht es zum Beispiel.

    hustbaer schrieb:

    Und in C++/CLI sind Strings Referenzen auf Instanzen von System::String. Und die lassen sich wunderbar mit + verketten.
    Mir ist klar dass hier nicht das C++/CLI Forum ist, aber da der OP eindeutig C++/CLI Code gepostet hat...

    Okay, wusste ich nicht. Ich dachte, es hätte sich um einen Flüchtigkeitsfehler von dir gehandelt. Dann ist ja alles okay. 😉


Anmelden zum Antworten