Auslesen aus einer TextBox (Visual C++ 2005)
-
Hallo,
ich habe bereits ein Jahr Java programmiert und nun möchte ich C++ lernen.Nun habe ich ein kleines Problem:
Ich habe mit dem "Visual Studio 2005" eine "Windows Forms-Anwendung" erstellt. Da möchte ich ein simples Programm machen mit zwei TextBoxen. In die eine soll man was reinschreiben und per Button in eine Textdatei abspeichern. Mit der anderen soll man es wieder auslesen. Der Dateiname steht in einer dritten TextBox.Dabei stehe ich nur noch vor einem Problem: Das auslesen aus einer TextBox.
Ich versuche es aktuell so:string dateiname = tbDateiname->Text;
Aber das geht nicht. Dabei kommt eine Fehlermeldung, dass ein "System::String ^" nicht in einen "std::basic_string<_Elem,_Traits,_Ax>" umgewandelt werden kann.
Was soll das?
Gibt es in C++ verschiedene Arten von Strings?
Wie lese ich dann etwas aus der TextBox aus?Bitte helft mir, wie ich das Problem lösen soll.
-
warum nicht
String^ dateiname = tbDateiname->Text;
?
wenn du eh das framework benutzt, benutz doch auch deren variablen !?
ps. framework != MFC = falsches forum
-
Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
DS schrieb:
Was soll das?
Gibt es in C++ verschiedene Arten von Strings?Jup, es steht jedermann frei, eine eigene string-Klasse zu implementieren.
-
Mr Evil schrieb:
warum nicht
String^ dateiname = tbDateiname->Text;
?
wenn du eh das framework benutzt, benutz doch auch deren variablen !?
Ok, damit geht es schon mal etwas auszulesen.
Aber beim Datei schreiben kommt ein anderer Fehler.
Ich mache das mit dem Datei schreiben so:
// Dateiname und Text auslesen String^ dateiname = tbDateiname->Text; String^ text = tbEingabe->Text; // Datei schreiben ofstream dateiSchreiben; dateiSchreiben.open(dateiname.c_str(), std::ios::out); dateiSchreiben << text; dateiSchreiben.close();
So hat es bisher mit nem "string" auch funktioniert. Mit dem "String^" geht es aber nicht, weil er dann in der Zeile mit der open()-Methode nen Fehler bringt.
Was soll das überhaupt mit den unterschiedlichen Strings?
Wie mache ich das mit der Dateiverarbeitung?Schon mal Danke für die Antworten
Mr Evil schrieb:
ps. framework != MFC = falsches forum
Sorry
-
Wenn Du .NET verwendest solltest Du darauf achten, dass Du .NET nicht mit anderen Dingen unnötig durcheinander bringst (und Dir somit das Leben selber schwer machst!).
Verwende System::IO::StreamWriter/StreamReader
http://msdn2.microsoft.com/de-de/library/system.io.streamwriter.aspxz.B.
How to: Read Text from a File
http://msdn2.microsoft.com/en-us/library/db5x7c0d.aspxHow to: Write Text to a File
http://msdn2.microsoft.com/en-us/library/6ka1wd3w.aspx
-
Jochen Kalmbach schrieb:
Wenn Du .NET verwendest (...)
Jetzt muss ich mal eine eventuell blöde Frage stellen, aber in C++ bin ich ja noch Anfänger als darf ich das
Ich programmiere mit dem "Visual Studio 2005" C++.
Woher merke ich da ob ich MFC oder .NET verwende?
Was ist überhaupt der Unterschied?
-
Also langsam vergeht mir echt die Lust an C++.
Seit fast einer Woche das gleiche Problem und weder Google noch ein Forum kennt ne Antwort darauf, was das mit den verschiedenen Strings soll.
Auf keiner einzigen Seite ist irgendein Beispiel wie man überhaupt einen Text aus einer textBox ausliest. Außer natürlich mit diesem komischen "String^", mit dem man dann aber sonst nix anfangen kann weil Visual C++ unfähig ist das Ding umzuwandeln.
Ist es denn so schwer einfach einen Text aus einer textBox auslesen zu wollen und den dann in einer Textdatei abzulegen?
-
String umwandeln:
System::String => char* oder wchar_t*
http://www.c-plusplus.net/forum/viewtopic-var-t-is-158664.htmlchar*, wchar_t* oder TCHAR* nach System::String
http://www.c-plusplus.net/forum/viewtopic-var-t-is-158666.html