Text aus textBox1 auslesen und in listBox1 einfügen
-
Hi,
bin blutjunger Anfänger bei C++. Ich habe mir das Microsoft Visual C++ 2010 Express heruntergeladen und installiert. Ich spiele nun mit herum und habe ein neues Projekt angefangen. Mein erstes Hallo Welt klappt (Fenster mit Textbox und Schließen Button-Fkt.). Nun möchte ich die Eingabe des Anwenders in einem Textfeld (textBox1) in eine listBox1 einfügen. Kann mir eben jemand zeigen wir das geht?
Habe nur die Installation des Visual C++ durchgeführt.
hallo_welt.cpp:
// hallo_welt.cpp: Hauptprojektdatei. #include "stdafx.h" #include "Form1.h" #include "stdlib.h" #include "stdio.h" #include "string" #include "iostream" #include "windows.h" using namespace hallo_welt; [STAThreadAttribute] int main(array<System::String ^> ^args) { // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // Hauptfenster erstellen und ausführen Application::Run(gcnew Form1()); return 0; }
Form1.h
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Close(); } private: System::Void label1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { int bufsize = 1024; LPTSTR szText = new TCHAR[bufSize]; GetDlgItemText(Form1.h, textBox1, szText, bufsize); std::string myString = szText; delete[] szText; }
Die Funktion "button2_Click" funktioniert noch nicht... Ist auch nur die halbe Miete, weil sie nur auslesen soll.
Meine Fehlermeldung:
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(133): error C2065: 'LPTSTR': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(133): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'szText'
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(133): error C2065: 'szText': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(133): error C2061: Syntaxfehler: Bezeichner 'TCHAR'
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(134): warning C4832: Das Token '.' ist nach UDT 'hallo_welt::Form1' illegal
1> c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(15): Siehe Deklaration von 'hallo_welt::Form1'
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(134): error C2275: 'hallo_welt::Form1': Ungültige Verwendung dieses Typs als Ausdruck
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(134): error C2228: Links von ".h" muss sich eine Klasse/Struktur/Union befinden.
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(134): error C2065: 'szText': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(134): error C3861: "GetDlgItemText": Bezeichner wurde nicht gefunden.
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(135): error C2039: 'string': Ist kein Element von 'std'
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(135): error C2065: 'string': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(135): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'myString'
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(135): error C2065: 'myString': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(135): error C2065: 'szText': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(136): error C2065: 'szText': nichtdeklarierter Bezeichner
1>c:\users\...\documents\visual studio 2010\projects\hallo_welt\hallo_welt\Form1.h(136): error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werdenWeiß jemand Rat?
Danke und VG
JackLevin
-
Hallo,
C++ und WinForms ist eine ganz schlechte Kombination - erst recht für Anfänger, s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!.
Entweder lerne reines C++ und dann am besten zuerst reine Konsolenprogramme (bevor du später auf GUI-Toolkits wie Qt, Gtkmm, ... umsteigst) oder aber benutze für WinForms (und das .NET-Framework) gleich die richtige Programmiersprache: C#.
-
Danke für den Hinweis. Ich bin etwas verwirrt, nehme das aber zur Kenntnis. Vielen Dank.
Hilft mir leider noch nicht zur Bewältigung meiner Aufgabe. Danach lerne ich dann ganz reines C++.
-
Warum schießt man hier dem Bullen durch den Hintern ins Auge?
Eine TextBox auslesen und in eine ListBox übertragen ist ja wohl gerade im C++/Cli simpel.
listBox1->Items->Add(textBox1->Text);