enum{ Rechteck, Gerundetes Rechteck, Ellipse)Style;



  • Hallo,

    enum{ Rechteck = 0, Gerundetes Rechteck = 1, Ellipse = 2)Style;

    Dieser Aufruf funktioniert natürlich nicht.
    Wegen dem Leerzeichen zwischen "Gerundetes" und "Rechteck".
    Weiß jemmand wie ich es hinbekomme das es trotz des Leerzeichens geht ?
    Unter Visual Basic schreibt man das einfach in eckige klammern
    [Gerundetes Rechteck] = 1,

    aber das funzt nicht unter VC++.

    Vielen Dank für Eure Hilfe!
    Mit freundlichen Grüßen
    Ronny W 🙂



  • Du könntest eine Map benutzen, also
    std::map<int,string> Map;
    Und dann die elemente mit push_back(make_pair(int,string)) einfügen.

    Ich hab zuhause aber auch ein Template was direkt
    ein enumerierte Map kapselt.

    Devil



  • kannst du mir mal ein Beispiel texten da ich noch nicht mit Maps gearbeitet hab.

    Gruß Ronny



  • Kleines Beispiel zu Map und Vector:

    #include <iostream>
    #include <string>
    #include <vector>
    #include <map>
    
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    	map<int,string> Map;
    	Map.insert(make_pair(0,string("Rechteck")));
    	Map.insert(make_pair(1,string("Gerundetes Rechteck")));
    	Map.insert(make_pair(2,string("Ellipse")));
    
    	map<int,string>::iterator imap;
    	for(imap = Map.begin(); imap != Map.end(); imap++)
    		cout << imap->second.c_str() << endl;//wenn du auf den integer zugreifen willst, ist es imap->first;
    
    	//Map.clear();//map löschen;
    
    	//Alternativ kannst du auch einen vector nehmen, der hat auch einen index
    	vector<string> Vector;
    	Vector.push_back("Rechteck");
    	Vector.push_back("Gerundetes Rechteck");
    	Vector.push_back("Ellipse");
    
    	vector<string>::iterator ivector;
    
    	for(ivector = Vector.begin(); ivector != Vector.end(); ivector++)
    		cout << ivector->c_str() << endl;
    
    	for(int i =0; i < Vector.size(); i++)
    		cout << Vector[i] << endl;
    
    	return 0;
    }
    


  • Hallo,

    aber ich brauche das doch als enum! Da ich es als enum für eine Eigenschaft des ActiveX - Steuerelements brauche.

    Gibt es da noch eine andere möglichkeit ?

    Gruß Ronny W



  • Als enum würde ich das " " einfach gegen ein "_" austauschen.

    Devil



  • Hallo,

    ja wenn es nicht anders geht. Ist es denn anders möglich ?

    Gruß Ronny W



  • nein, außer du schreibst es zusammen



  • Aber beim Shape-Steuerelement in VB steht auch da,

    shape = 0 - Rechteck, ..., 4 - Gerundetes Rechteck

    Wie haben die denn das dann gemacht ?

    Gruß Ronny



  • VB != C++ (!!)

    Devil



  • eine Enum kapselt nur konstante Ganzzahlwerte, mit Text hat es überhaupt nicht zu tun.



  • aber wie haben denn das da die Microsoft entwickler gemacht ?
    Irgendwie muss es ja möglich sein!

    gruß Ronny


Anmelden zum Antworten