Dämliches Problem beim Auslesen aus einer ListBox



  • Eine Möglichkeit wäre:

    std::vector<T> => System::Collections::Generic::List<T>
    std::map<TKey, TValue> => System::Collections::Generic::Dictionary<TKey, TValue>
    std::set<T> => System::Collections::Generic::TreeSet<T>
    


  • Ah danke. In der Dokumentation bin ich unter Container oder den stl-Namen natürlich nicht fündig geworden, aber auf Collections hätte ich kommen können.

    Bis dann denn!

    McTrevor



  • Ich habe mir jetzt mal ein bischen angelesen, wie das alles mit NET und CLI überhaupt funktioniert. Nun stellt sich mir aber folgende Frage:

    Ist diese CLR (Laufzeitumgebung für den erzeugten Zwischencode) auf allen Windowsmaschinen bereits installiert, oder muss die irgendwo runtergeladen und installiert werden? Immerhin möchte ich die Anwendung nicht nur auf dem Rechner benutzen, auf dem ich sie erstellt habe. Oder gibt es evtl eine Möglichkeit, die Bequemlichkeit der Windows-Forms (der Designer ist echt extrem komfortabel zu handhaben) mit den Vorteilen von Maschinencode zu kombinieren? Oder geht das wegen der Garbage-Collection absolut nicht?

    Bis dann denn!

    McTrevor

    p.s.: Laufen die Programme dann evtl sogar unter Linux mit Mono(hieß es so?)?



  • McTrevor schrieb:

    Ist diese CLR (Laufzeitumgebung für den erzeugten Zwischencode) auf allen Windowsmaschinen bereits installiert

    Nein.

    McTrevor schrieb:

    oder muss die irgendwo runtergeladen und installiert werden?

    Ja.
    http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

    McTrevor schrieb:

    Immerhin möchte ich die Anwendung nicht nur auf dem Rechner benutzen, auf dem ich sie erstellt habe. Oder gibt es evtl eine Möglichkeit, die Bequemlichkeit der Windows-Forms (der Designer ist echt extrem komfortabel zu handhaben) mit den Vorteilen von Maschinencode zu kombinieren? Oder geht das wegen der Garbage-Collection absolut nicht?

    Das geht nicht. Du musst auf den Zeilmaschinen das .NET-Framework installieren.
    Es gibt zwar Ansätze wo dieses .NET-Framework in Deiner EXE "mit drin" ist, aber dies wird von MS nicht unterstützt.

    McTrevor schrieb:

    Laufen die Programme dann evtl sogar unter Linux mit Mono(hieß es so?)?

    Prinzipiell laufen die da schon. Nur die Unterstützung von Windows-Forms ist dort noch sehr miserabel; somit kann man sagen, dass Windows-Forms Applikationen unter Linux (noch) nicht laufen.
    ASP.NET und Consolen-Applikationen laufen hingegeben fast ohne Probleme mit mono.



  • Ah, vielen Dank. Ich hätte nachher da wieder fluchend vorgesessen, wenn es auf den anderen Maschinen nicht läuft und ich nicht weiß, warum. Aber gibt es echt keine Möglichkeit eine Anwendung mit Formular-Fenstern mit der Visual C++ Express-Edition zu erstellen, die als Maschinencode vorliegt und deren Formulare mit dem Designer erstellt wurden? Ich meine, es gibt doch auch viele kleine fertig kompilierte Tools mit so einer Oberfläche die wurden bestimmt auch mit diesem oder einem ähnlichen Editor erstellt, von einigen AUsnhamen jetzt mal abgesehen.

    Bis dann denn!

    McTrevor



  • McTrevor schrieb:

    oder einem ähnlichen Editor erstellt

    Ja. Du meinst aber vermutlich die MFC und den Resourcen-Editor. Mit dem kannst Du native Anwendungen erstellen, die das .NET-Framework nicht benötigen. Die MFC ist aber erst ab der Standard-Edition verfügbar.
    Du kannst natürlich auch reine Win32-API machen... ist aber etwas aufwendiger... das arbeiten mit dem .NET-Framework macht doch vieles einfacher (und man gewöhnt sich sehr schnell daran).



  • Nein, der Designer benutzt die Windows Forms Klasse und die sind nunmal managed, also brauchst du das Framework - da gibt auch keine Ausnahmen.



  • Na gut, dann müssen die Leute, die das Proggie nachher nutzen wollen, eben in den sauren Apfel beißen und und sich die Runtime-Environment installieren... Oder ich überlege es mir doch nochmal anders und probiere es mit QT. Läßt sich denn QT problemlos verwenden, wenn ich die Entwicklungsumgebung von Microsoft nutze, oder sind da wieder Fallstricke eingebaut?

    Bis dann denn!

    McTrevor

    p.s.: Und danke nochmal... So langsam kann ich diesen ganzen Buchstaben-Abkürzungssalat auch mit Inhalten verbinden.



  • McTrevor schrieb:

    Läßt sich denn QT problemlos verwenden, wenn ich die Entwicklungsumgebung von Microsoft nutze, oder sind da wieder Fallstricke eingebaut?

    Mit der Express-Edition habe ich noch keine Erfahrung... da solltest Du mal im QT-Forum fragen...



  • Die Qt 4.0 Open Source Edition für Windows läuft sowieso nur mit Mingw, für Integration in und Support von MSVC++ (auch Express) brauchts ne lizensierte Qt-Edition...

    (Quelle: http://www.trolltech.com/download/qt/windows.html)



  • So ich habe mir nun eine enum class definiert und auch einige Variablen, die diese Enumeration als Typ haben Wenn ich nun den Zahlenwert einer einer Enumerationvariable auslesen will, kann ich einfach casten:

    static enum class type {TYP0,TYP1,TYP2,TYP3};
    type t1 = TYP1;
    Combobox1->selectedIndex = int (t1);
    

    Danach wird die zweite Zeile in der Combobox selektiert.

    Nur wenn ich jetzt zu einer selektierten Zeile die Variable entsprechend setzen will, wie mache ich das dann? Ich kann zwar den Enumeration Typ in einen int casten, aber nicht andersrum...

    Bis dann denn!

    McTrevor

    p.s.: Habe es jetzt selbst hinbekommen. Das Problem war, daß ich die Enumeration in einer anderen Klasse definiert hatte und nicht den vollen Bezeichner angegeben hatte, also:

    t1 = KlasseInDerTYPdefiniertIst::type(Combobox->SelectedIndex);
    

Anmelden zum Antworten