Fesnter edit Feld Wert als int Speichern?
-
Hi
Ich möchte ein Program schreiben, dass eine Bestimmte Sache so oft durchläuft, wie es in einen edit Feld in den Fenster des Programms angegeben ist.
Ohne Fesnster Funktioniert es einbandfrei:char test[33]={2}; int b=test[0]; int zaehler; for ( zaehler=0; zaehler < b; zaehler++) cout << b << endl;Sobald ich dies aber mit einen Fenster probiere kommt die for schleife zu keinen Ende. Hier der entscheidenen Quelltetx dafür:
1)Auswertungcase WM_CREATE : hwndButton1 = CreateWindow ( "button", "Start", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 400, 110, 100, 30, hwnd, (HMENU)1, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL); hwndButton2 = CreateWindow ( "button", "Hilfe", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 250, 110, 100, 30, hwnd, (HMENU)3, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL); hwndedit3 = CreateWindow ( "edit", "Anzahl", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 20, 110, 100, 30, hwnd, (HMENU)5, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL); hwndEdit2 = CreateWindow ( "edit", "Text Eingeben", WS_CHILD | WS_VISIBLE | ES_MULTILINE , 20, 45, 540, 40, hwnd, (HMENU)2, (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL); return 0; case WM_COMMAND: switch(LOWORD(wParam)) { case 1: HANDLE hData; int iLength; iLength = GetWindowTextLength(hwndEdit2); GetWindowText(hwndEdit2, buffer, iLength+1); int bLength; char anzahlhe[22]; bLength = GetWindowTextLength(hwndedit3); GetWindowText(hwndedit3, anzahlhe, bLength+1); test(buffer, anzahlhe); break; : :Die Funktion:
void test(char* szData,char* c) { int zaehler; char g[12]={}; strcpy(g,c); MessageBox(NULL,g,c,MB_OK);//Zeigt bei beiden die richtigen Werte an. int laenge=g[0]; for (zaehler=0; zaehler < laenge; zaehler++) MessageBox(NULL,"s",c,MB_OK); }Hat jemand ne Idee?
-
19freddy92 schrieb:
Die Funktion:
MessageBox(NULL,g,c,MB_OK);//Zeigt bei beiden die richtigen Werte an. int laenge=g[0]; for (zaehler=0; zaehler < laenge; zaehler++) MessageBox(NULL,"s",c,MB_OK); }Hat jemand ne Idee?
Was genau zeigt die Messagebox in Überschrift und Text an?
-
Wenn ich im edit Feld eine 12 schreibe wir von der MessageBox auch eine 12 in der Überschrift und im Text angezeigt, aber die for Schleife wird trotzdem nicht nach 12 durchläufen beendet.
-
Richtig, die Schleife wird dann nach 49 Durchläufen beendet!
-
Was kann ich tun, damit sie nicht nach 49 sondern nach 12 Durchläufen beendet wird?
1 ist ja im ASCI CODE 49
2 is ja im ASCI CODE 50
müsste die Schleife dann nicht nach 99 durchläufen beendet werden?
-
so gehts!
laenge = atoi(g);g[0] = 49 -> '1'
g[1] = 50 -> '2'Grundlagen von Ansi-C lernen, das hat alles nix mit Winapi zu tun!
-
Was steht denn in g[0]?
-
Danke klappt jetzt.

-
Hi
Ich hab eine Neue Frage. Ich möchte, dass eine C++ Programm eine Tastenkombination sendet. So wie in diesen BSP hier: http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx?fid=39007&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=1791671Aber ich finde die SendKeys.h Datei nicht, kann mit jemand sagen, wo man diese downloaden kann, oder gibt es noch eine andere Möglichkeit eine Tastenkombination zu senden in c++?
-
Belli schrieb:
Was steht denn in g[0]?
g[0] = 49 = '1',