Typ String funktioniert nicht
-
Hallo,
Ich steh vor nem Problem.
Ich habe eine TextBox und Button auf der Form.jetzt möchte ich nur, dass wenn man den Button drückt, der Text aus der textBox erscheint.
Username = textBox1->Text; MessageBox(Username)so erscheint "Username ist nicht deklariert".
Gut, dann dachte ich, dass ich es als String machen muss und setze vor Username einfach String. Klappt nicht. Dann habe ich folgende möglichkeiten durchgegangen:- String
- string
- System::String
- std::string
- System::std::String
klappt aber alles nicht.
dann habe ich nach oben gesehen und gesagt ok versuch einfach ma "char" davor zu machen.
Dann kommt logischerweise die meldung das String nicht nach char konvertiert werden kann.Wo ist mein Fehler?
Danke [:)]
-
Sag mal weißt du überhaupt was du da tust?
#include <string> std::string myString;Gruß
-
sagen wir "Teils-Teils".
Hab bisher mit VB.NET gearbeitet. Und dann wird der einstieg in C++ schwerer.Habe es so gemacht wie du gezeigt hast.
Bekomme aber nur:error C2440: 'Initialisierung': 'System::String __gc *' kann nicht in 'std::basic_string<_Elem,_Traits,_Ax>' konvertiert werden with [ _Elem=char, _Traits=std::char_traits<char>, _Ax=std::allocator<char> ]
-
Hallo
wenn du uns noch verraten würdest, was für einen Frameowrk (VCL oder MFC oder...) du benutzt und welchen Typ, also welche String-Klasse den nun genau deine Variablen haben...
Ich vermite du verwendet den Builder mit der VCL und die String-Klasse ist AnsiString (String).
Dann kannst du es so machenMessageBox(Username.c_str());bis bald
akari
-
Hallo,
Ich danke euch für eure bemühungen.
Ich weiß es nicht, was ich genau benutze.Ich verwende aber 100%ig kein MFC.
Ich benutze "Microsoft Visual Studio 2003 NET".Habe nun:
std::string Username; Username = textBox1->Text; MessageBox(Username.c_str());und erhalte:
error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operator vom Typ 'System::String __gc *' akzeptiert (oder keine geeignete Konvertierung möglich) error C2440: 'Typumwandlung': 'const char *' kann nicht in 'System::Windows::Forms::MessageBox' konvertiert werden Der Zieltyp besitzt keinen Konstruktor
-
Hallo
Stephan_12 schrieb:
Hallo,
Ich verwende aber 100%ig kein MFC.
Ich benutze "Microsoft Visual Studio 2003 NET".Vielleicht arbeitest du mit WinAPI. Das solltest du aber wirklich wissen. Warum bist du dir so sicher, dass es nicht die MFC sind mit den du arbeitest?
chrische
-
Hey das gibts nicht fang mal ganz von vorne an. Du weißt ja nichtmal was du tust.
Gruß
-
Also das Visual Studio 2003 NET und das Vorkommen von System::Windows::Forms in der Fehlermeldung macht eigentlich recht klar wass er benutzt

String username=textBox1->Text; MessageBox(username);sollte passen...
-
LordJaxom schrieb:
Also das Visual Studio 2003 NET und das Vorkommen von System::Windows::Forms in der Fehlermeldung macht eigentlich recht klar wass er benutzt

Ja und das Vorkommen von System::String __gc * in der fehlermeldung deutet auch darauf hin "das kann doch gar kein C++ sein"

Kurt
-
LordJaxom schrieb:
Also das Visual Studio 2003 NET und das Vorkommen von System::Windows::Forms in der Fehlermeldung macht eigentlich recht klar wass er benutzt

String username=textBox1->Text; MessageBox(username);sollte passen...
Hallo LordJaxom!
Das hat mir geholfen!
String* Username; Username = textBox1->Text;mit dem * dahinter klappt es dann endgültig.
Nur wenn ich dadrunter dann:
MessageBox(Username);
mache erscheint:
error C3149: 'System::Windows::Forms::MessageBox': Ungültige Verwendung des verwalteten Typs 'System::Windows::Forms::MessageBox'; haben Sie eine '*' vergessen?Das was fehlt ist ja nun "*" aber wo genau?
ich habe keine Idee!Danke

-
Kan ja wohl nur mehr
MessageBox(*username);sein
Kurt
-
ZuK schrieb:
Kan ja wohl nur mehr
MessageBox(*username);sein
KurtJetzt erhalte ich noch:
error C2371: 'Username': Neudefinition; unterschiedliche Basistypenin der Zeile wo MessageBox() steht
