[C++] textBox in String

sub7even

Mitglied
Also, ich habe da mal eine frage, und zwar:

Wie bekomme ich eine textBox aus einer Windows Form Application in einen string?

Hier mal die Entsprechenden Codestellen:

textBox:
C++:
				// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(33, 13);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(117, 20);
			this->textBox1->TabIndex = 3;
			this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged);


zu String:
C++:
				 string enip1 = System::String::Copy(textBox1->Text);
				 string $ip;
				 if ( enip1 == "" ) { $ip = "127.0.0.1"; }
				 else { $ip = enip1; }


So bekomme ich allerdings beim Compilen immer einen Error:
Error 1 error C2440: 'initializing' : cannot convert from 'System::String ^' to 'std::basic_string<_Elem,_Traits,_Ax>' d:\dokumente und einstellungen\h4ckhunt3r\eigene dateien\visual studio 2008\projects\gs_ultimatefun\gs_ultimatefun\Form1.h 113
 
Zuletzt bearbeitet:
Einfach TextBox zu String?

Code:
String^ text=textBox1->Text;

hmmmmm danke schonmal, aber jetzt bekomme ich eine andere fehlermeldung:
Error 1 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'System::String ^' (or there is no acceptable conversion) d:\dokumente und einstellungen\h4ckhunt3r\eigene dateien\visual studio 2008\projects\gs_ultimatefun\gs_ultimatefun\Form1.h 116

Die Stellen sehen jetzt wie folgt aus:

textBox:
C++:
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(33, 13);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(117, 20);
			this->textBox1->TabIndex = 3;

zu String usw...
C++:
				 String^ enip1=textBox1->Text;
				 string $ip;
				 if ( enip1 == "" ) { $ip = "127.0.0.1"; }
				 else { $ip = enip1; }

Hier die Zeile die im Error Steht (116):
C++:
				 else { $ip = enip1; }

Was ist den da Falsch?
 
Schau mal ganz genau hin.
Fällt dir der Unterschied zwischen der 1. und 2. Zeile auf?
Du hast in der 2. Zeile string statt String^ geschrieben. :)
Jetzt sollte es gehen!
 
Schau mal ganz genau hin.
Fällt dir der Unterschied zwischen der 1. und 2. Zeile auf?
Du hast in der 2. Zeile string statt String^ geschrieben. :)
Jetzt sollte es gehen!

hmmm, habe das jetzt geändert udn bekomme jett 3 stadt einem error.

C++:
#pragma endregion
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 String^ enip1=textBox1->Text;
				 string^ $ip;
				 if ( enip1 == "" ) { $ip = "127.0.0.1"; }
				 else { $ip = enip1; }

so siehts jetzt aus... hoffe habe das richtig verstanden was du meintest.

Un diese 3 Error(s) kommen jetzt:

1.
Error 1 error C3699: '^' : cannot use this indirection on type 'std::string' d:\dokumente und einstellungen\h4ckhunt3r\eigene dateien\visual studio 2008\projects\gs_ultimatefun\gs_ultimatefun\Form1.h 114
2.
Error 2 error C2440: '=' : cannot convert from 'const char [10]' to 'std::string *' d:\dokumente und einstellungen\h4ckhunt3r\eigene dateien\visual studio 2008\projects\gs_ultimatefun\gs_ultimatefun\Form1.h 115
3.
Error 3 error C2440: '=' : cannot convert from 'System::String ^' to 'std::string *' d:\dokumente und einstellungen\h4ckhunt3r\eigene dateien\visual studio 2008\projects\gs_ultimatefun\gs_ultimatefun\Form1.h 116
 
Hast du in die 2.Zeile das string klein geschrieben? String muss groß geschrieben werden.
Ich hab den Code nochmal selber getestet, bei mir funktioniert es!

String^ enip1=textBox1->Text;
String^ $ip;
if ( enip1 == "" ) { $ip = "127.0.0.1"; }
else { $ip = enip1; }
 
Zuletzt bearbeitet:
Zurück