Problem mit Konstanten



  • Hi,

    ich bin's nochmal.
    Ich habe mir diese constants.h geschrieben:

    const char AboutName = "Testprog";
    const char AboutVersion = "v1.0";
    const char AboutCopyright = "written by H4x0r";
    const char AboutContact = "ICQ: xxx-xxx-xxx";
    const char AboutAdditional = "";
    

    in der Ueber.h steht folgendes:

    private: System::Void Ueber_Load(System::Object^  sender, System::EventArgs^  e) {
    			this->lblName->Text = AboutName;
    			this->lblVersion->Text = AboutVersion;
    			this->lblCopyright->Text = AboutCopyright;
    			this->lblContact->Text = AboutContact;
    			this->lblAdditional->Text = AboutAdditional;
    		 }
    

    Allerdings funktioniert das nicht wirklich (wie immer 😞 ). Könntet ihr mir bitte helfen?

    Andere Frage: Gibt es Bücher/EBooks, um die Programmierung mit Visual C++ 2005 Express zu lernen? Ich habe dieses Buch für Visual C++ 6 gefunden. Sind diese ungefähr das gleiche und wird Visual C++ überhaupt noch vertrieben?



  • 3 Dinge.

    1. Du hast char statt char* verwendet.
    2. Es gibt keinen operator für char* in System::String, jedoch einen Constructor.
    3. Warum verwendest du überhaupt char* und nicht String?



  • zu 1. Ich habe char durch char* ersetzt und die constants.h funktioniert jetzt ohne Probleme.

    zu 2. Was genau heißt das jetzt? Ich wusste nicht, dass ich mit der Verwendung von Konstanten sofort in die vollen Klassen komme...

    zu 3. weil es String in Visual C++ nicht gibt (irgendwie... keine Ahnung)

    Meine constants.h sieht jetzt so aus:

    const char* AboutName = "Testprog";
    const char* AboutVersion = "v1.0";
    const char* AboutCopyright = "written by H4x0r";
    const char* AboutContact = "ICQ: xxx-xxx-xxx";
    const char* AboutAdditional = "";
    

    aber die Ueber.h sieht immernoch gleich aus, weil ich nichts verändert habe. Mit Convert::ToString habe ich ein bisschen herumgespielt, aber auch nichts genaues herausbekommen.

    Ich brauche ein Tutorial oder ein (E)Book....



  • H4x0r schrieb:

    zu 3. weil es String in Visual C++ nicht gibt (irgendwie... keine Ahnung)

    Du musst dir klar werden welche Sprache du programmierst. Bücher für VS 6 nutzen dir kein bisschen mehr. Du programmierst nicht C++, auch kein Visual C++(es gibt sogar gar keine Sprache die so heißt, sondern nur die IDE wurde so bezeichnet), sondern C++/CLI, also die .Net Variante von C++. Leicht zu erkennen an dem Eventhandler wo du .Net Klassen benutzt

    Andere Frage: Gibt es Bücher/EBooks, um die Programmierung mit Visual C++ 2005 Express zu lernen?

    Wie oben gesagt, schau nach Büchern die C++/CLI behandeln, aber gleich vorneweg, da wirst du nicht viele Anfängerbücher finden, da eine große Idee hinter C++/CLI die Interoperabilität von unmanaged und managed Code dastellt und da gibts einige Fachbücher dazu.
    Was das lernen einer .Net Sprache angeht, und auch dann später die GUI(obwohl du ja schon GUI Zeugs drin hast und ohne es böse zu meinen, weißt du doch bestimmt nicht wie das genau funktioniert mit z.B. dem Eventhandler oder?) wird immer eher C# benutzt. Hat von der Syntax her Ähnlichkeiten zu C++, aber ein wenig klarer, da nicht dieser ganze unmanaged Ballast mitgeführt wird, der C++/CLI zwar überaus mächtig, aber halt auch recht komplex macht.

    Was du natürlich auch machen kannst ist ganz "normales" C++ zu lernen, das ist ein wenig einfacher als C++/CLI da man nicht "ausversehen" in die .Net Schiene rutschen kann. Nur dort ist halt das Ding wieder das die GUI Programmierung nicht so trivial ist wie unter .Net 🙂



  • Talla schrieb:

    Bücher für VS 6 nutzen dir kein bisschen mehr. Du programmierst nicht C++, auch kein Visual C++(es gibt sogar gar keine Sprache die so heißt, sondern nur die IDE wurde so bezeichnet), sondern C++/CLI, also die .Net Variante von C++. Leicht zu erkennen an dem Eventhandler wo du .Net Klassen benutzt

    Warum nicht?

    Sicherlich kannst Du die Bücher von VC++ 6.0 noch verwenden, da Du auch in Visual Studio 2005 mit der MFC arbeiten kannst.
    Da die meisten Bücher von VC++ 6.0 (das meint ihr sicherlich, den VS 6 ist mir nicht bekannt), stützen und behandeln die MFC.
    Ferner kannst Du mit Visual Studio 2005 noch die "normale" ISO C++ schreiben.

    Du kannst jeden C++ Code, selbst aus alten Schulbüchern in der IDE von Visual Studio 2005 nutzen.

    C# = Neu entwickelte Programmiersprache von Microsoft für die Entwicklung von .NET-Anwendungen; ähnelt in vielerlei Hinsicht Java.

    http://www.galileocomputing.de/openbook/it_handbuch/fachinformatiker_anh_a_glossar_001.htm#mj6b17f35223f3f9d8fd132a0e329279d5

    H4x0r schrieb:

    Hi,
    Andere Frage: Gibt es Bücher/EBooks, um die Programmierung mit Visual C++ 2005 Express zu lernen?

    Das wäre ein Anfang...

    http://www.thalia.de/shop/buch_startseite_thalia/suchartikel/einstieg_in_visual_c_2005_galileo_computing/andr_willms/ISBN3-89842-835-4/ID14087790.html?jumpId=950356

    Aber sicherlich gebe ich Talla recht in Richtung Fachbücher zu C++/CLI.
    Da wirst Du nicht allsoviele gute Bücher finden, da C# in dieser Hinsicht bevorzugt wird.

    Gruß, Doug_HH



  • Doug_HH schrieb:

    Warum nicht?

    Weil diese Bücher alles andere als standardkonform sind und man hundertprozentig Programme sieht nach solch einem Schema:

    #include <iostream.h>
    
    void main() {
    }
    

    Das ist kein gültiges C++ und sollte nicht unterstützt werden.

    Zweiter Grund:

    Andere Frage: Gibt es Bücher/EBooks, um die Programmierung mit Visual C++ 2005 Express zu lernen?

    Die Express Version unterstützt gar keine MFC 🙂 Um MFC zu lernen müsste er zumindest die Standard Edition erstehen(die aber auch net arg teuer ist wenn man die als Schüler/Student erwirbt)

    Dann hast du noch ISO C++ erwähnt, das ist gut das es das neue VS kann, das alte kanns nämlich nicht, und es gibt so viele Dinge, gerade im Templatebereich die alles andere als trivial zu portieren sind. Deshalb ist das stüzen auf alten Büchern noch problematischer aus meiner Sicht.

    Programmieren lernen kann man schon mit den alten, so ists ja nicht, nur wenn man dann von Anfang an immer bedenken muss, was evtl. bei der neuen Version anders gemacht wird, hindert das schon sehr beim lernen.

    Auch wenn es vielleicht schwer fällt am Anfang, ich würde immer zu englischsprachiger Literatur raten - da gibt es einfach mehr Resourcen und man lernt, wenn man denn mal nach bestimmten Themen suchen muss im Internet, gleich die Originalbezeichnungen der Begriffe und nicht den Versuch eines Autors ein Wort sinnvoll zu übersetzen, das aber kein Mensch dann verwendet und der Fragesuchende findet nichts dadrunter.

    Zum Visual Studio 6: Link


Anmelden zum Antworten