Text von Button kriegen



  • Heho 😉

    Eigentlich hätte ich nicht gedacht, dass das so schwierig wird, bzw. mir so viele Probleme bereitet...ABER^^

    Ich will den Text eines Buttons benutzen...

    if(kontrolle(primeKnopf->Text::get())) {			 
    				primeKnopf->Text::set("Richtig! (:");
    			 } else {
    				primeKnopf->Text::set("Falsch! :(");
    			 }
    

    in meiner kontrolle-Funktion übergebe ich einen string

    mittels

    primeKnopf->Text::get()
    

    will ich eigentlich den Text des Buttons übergeben...DENKSTE

    "
    \Intervalleaufab.h(385) : error C2664: 'kontrolle': Konvertierung des Parameters 1 von 'System::String ^' in 'std::string' nicht möglich
    1> Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden

    "

    Wie würde es denn richtig gehen...?



  • Du verwendest C++/CLI. Vergiss C++/CLI, diese Sprache ist für das, was du da machen willst, völlig ungeeignet. Wenn du .NET willst, dann verwend C#.



  • Also geht das mit dem button->Text::get() unter C++/CLI nicht?



  • Doch es geht schon. Da kommt nur ein String^ zurück und kein std::string, wie ja auch die Fehlermeldung schon ganz eindeutig sagt. Die Tatsache, dass du damit Probleme hast, zeigt, dass es dir massiv an Grundlagen mangelt. Bevor du nun weiter mit solchen Dingen deine Zeit verschwendest, würde ich dir dazu raten, eine für dein Vorhaben geeignete Sprache von Grund auf vernünftig zu lernen. C++/CLI ist für dein Vorhaben nicht geeignet. Meine Empfehlung wäre C#.



  • dot schrieb:

    Doch es geht schon. Da kommt nur ein String^ zurück und kein std::string, wie ja auch die Fehlermeldung schon ganz eindeutig sagt. Die Tatsache, dass du damit Probleme hast, zeigt, dass es dir massiv an Grundlagen mangelt. Bevor du nun weiter mit solchen Dingen deine Zeit verschwendest, würde ich dir dazu raten, eine für dein Vorhaben geeignete Sprache von Grund auf vernünftig zu lernen. C++/CLI ist für dein Vorhaben nicht geeignet. Meine Empfehlung wäre C#.

    Ich weiß zwar auch nicht was du genau machen willst, weil ich ebenfalls nur diesen kleinen Ausschnit von deinem Source sehe, dennoch stimme ich Dot vollkommen zu, deine Sprachwahl ist falsch.
    Die Dot'sche Analyse ist da umunwerfbar, es ist eine Tatsache, dass dir an Grundlagen mangelt, deswegen fange einfach komplett neu an, statt den Mangel zu beseitigen. Da dir bei deiner nächsten Frage auch Grundlagen fehlen werden, weil du wieder bei 0 angefangen hast, empfehle ich dir, dir zu den C# Büchern auch gleich Java Bücher mitzubestellen, damit du weiter umsteigen kannst, wenn du merkst, dass dir an Grundlagen mangelt.



  • Hab das Problem jetzt eh anders gelöst - aber vielen Dank für die wohlgemeinten Kommentare 😉



  • Ich kann dir wirklich nur nochmal von ganzem Herzen dazu raten, von C++/CLI Abstand zu nehmen. Falls du der Illusion unterliegen solltest, dass C++/CLI C++ ist und dich so darauf fixierst, weil C++ ja die Sprache ist, mit der "richtige" Spiele programmiert werden, dann sei dir gesagt dass C++/CLI nicht C++ ist, sondern eine eigene Sprache deren einziger Zweck managed/unmanaged Interop ist. Wenn du C++ willst, dann verwend C++ (und nicht C++/CLI), wenn du WinForms Anwendungen machen willst, dann nimm C#. C++/CLI ist für deine Zwecke auf jeden Fall völlig unbrauchbar.



  • dot schrieb:

    ...Interop ist...

    Woher weisst du, dass das nicht der Sinn des ganzen ist?



  • Das sagt mir mein Hausverstand.



  • dot schrieb:

    Das sagt mir mein Hausverstand.

    Ego Fail


Anmelden zum Antworten