Neues Änfängerproblem
-
Hallo,
arbeite mich anhand verschiedener Tutorials durch die WinAPI. Leider stehe ich nun vor dem Problem das ich einen Variablen Text im WindowsFenster ausgeben möchte.
ich habe mir da folgendes ausgedacht:
case WM_PAINT: { HDC hDC; /* Handle zum Device Contex */ PAINTSTRUCT ps; /* Speichert Zeichen Daten */ const char szText = (char)iInitUSB; /* Unsere auszugebenen Strings */ const int iAnzahlZeilen = 4; /* Ist von szText abhängig */ const int iZeilenabstand = 18; /* Passt einigermaßen */ hDC = BeginPaint(hWnd, &ps); /* Zeichenvorgang anmelden */ { TextOut(hDC, 50, 50, szText, sizeof(szText) - 1); } EndPaint(hWnd, &ps); /* Zeichenvorgang beendet */ return 0; }wie man an iInitUSB unschwer erkennen kann, will ich aus einem Int einen CHAR machen, und dann in TEXTOUT verwenden. Leider bekomme ich immer die Meldung:
.\First_USB_API.cpp(132) : error C2664: 'TextOutA' : cannot convert parameter 4 from 'const char' to 'LPCSTR'
verstehe ich leider nicht warum.Gruß Peer
-
Wenn du Text ausgeben willst, benötigst du keinen char (der fasst nur ein einzelnes Zeichen), sondern einen char* oder char[] (Zeichenkette - inklusive Null-Terminator).
Und wie du eine Zahl in Textform umwandeln kannst, liest du dir am besten in der C++-FAQ durch (Stichwort: Text nach Zahl und zurück) - deine Methode ist jedenfalls nicht richtig

-
Das dises Variante nicht funktioniert, weiß ich auch.
ich wollte eigendlich hauptsächlich wissen wie ich das in der WinAPI hin bekomme.
und da hilft mir deine Aussage leider so garnicht weiter.

-
änder auch "sizeof(szText) - 1" zu "sizeof(szText)"
MfG RadiatioN
-
wie gesagt...
TextOut erwartet einen const char* und keinen char*
->
char text[256];
strcpy(text, "fdahöfjdkafjd");
TextOut(..., text, ...);
-
Danke, ich habe mich jetzt folgender Methode bedient:
char szText [2]; _itoa_s(iInitUSB,szText,2); /* Unsere auszugebenen Strings */ hDC = BeginPaint(hWnd, &ps); /* Zeichenvorgang anmelden */ { TextOut(hDC, 50, 50, szText, sizeof(szText)-1); } EndPaint(hWnd, &ps); /* Zeichenvorgang beendet */scheint zu funktionieren.
Gruß Peer
-
Nightstorm schrieb:
ich wollte eigendlich hauptsächlich wissen wie ich das in der WinAPI hin bekomme.
Soll ich dich noch an der Hand ins FAQ-Board führen?
(btw, bist du sicher, daß 1 Ziffer für deine Ausgabe ausreicht?)
-
jep da bin ich mir sicher..