Tutorial VC++2005 express edition



  • Hallo Forum,

    Ich habe das mit dem C++ eigentlich schon verstanden, doch komischerweise gehen nur 5% der sachen die ich in tutorials finde.

    Nun frage ich mich ob das wohl an mein Compiler liegt. Ich benutze den Microsoft Visual C++ 2005 Express Edition

    kennt hier vieleciht jemand ein gutes tutorial für API auf meinen Compiler abgestimmt?



  • Poste doch mal ein kleinen (auf das Problem reduzierten) Codesnippet, an dem wir Dein Problem nachvollziehen können 😉 .

    PS: VB läiuft unter nem C++ Compiler selbstverständlich nicht 😃 ... nur für den Fall, dass Du das versucht hast :p ...



  • hier eines von in-api.de

    #define STRICT
    #include <windows.h>
    #include "stdafx.h"
    #include "hvhjbhlk.h"
    
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    
    const char  szAppName[] = "Text positionieren/formatieren";
    const int   iRand      = 20;
    const int   iSpace     = 8;
    const int   iVSpace    = 2;
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       PSTR szCmdLine, int iCmdShow)
    {
       MSG       msg;
       HWND      hWnd;
       WNDCLASS  wc;
    
       wc.cbClsExtra         = 0;
       wc.cbWndExtra         = 0;
       wc.hbrBackground      = (HBRUSH) GetStockObject(WHITE_BRUSH);
       wc.hCursor            = LoadCursor(NULL, IDC_ARROW);
       wc.hIcon              = LoadIcon(NULL, IDI_APPLICATION);
       wc.hInstance          = hInstance;
       wc.lpfnWndProc        = WndProc;
       wc.lpszClassName      = szAppName;
       wc.lpszMenuName       = NULL;
       wc.style              = CS_VREDRAW | CS_HREDRAW;
    
       RegisterClass(&wc);
    
       hWnd = CreateWindow(  szAppName,
                             szAppName,
                             WS_OVERLAPPEDWINDOW,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             CW_USEDEFAULT,
                             NULL,
                             NULL,
                             hInstance,
                             NULL);
    
       ShowWindow(hWnd, iCmdShow);
       UpdateWindow(hWnd);
    
       while (GetMessage(&msg, NULL, 0, 0))
       {
          TranslateMessage(&msg);
          DispatchMessage(&msg);
       }
       return msg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    
    In der RECT Struktur (im MSDN: RECT) speichern wir die Maße unseres Anwendungsbereiches.
    
       static RECT rect;
    
       switch (message)
       {
    
    	   case WM_SIZE:
          {
             rect.left    = 0;
             rect.top     = 0;
             rect.right   = LOWORD(lParam);
             rect.bottom  = HIWORD(lParam);
    
             return 0;
          }
       case WM_PAINT:
          {
             PAINTSTRUCT   ps;
             HDC           hDC;
    
    		 const char  szUeberschrift[] = "Der ASCII Zeichensatz";
    
             hDC = BeginPaint(hWnd, &ps);
             {
    
    			  int   iXPos      = iRand;
                int   iYPos      = 2 * iRand;
                int   i          = 0;
                char  szText[30];
                int   iStrLen    = 0;
                SIZE  size;
    
    			            DrawText(hDC, szUeberschrift, lstrlen(szUeberschrift), &rect, 
                                                  DT_SINGLELINE | DT_CENTER);
    
    for (; i < 128; ++i)
                {
    
    				iStrLen = wsprintf(szText, "%i: %c", i, (char)i);
    
    				GetTextExtentPoint32(hDC, szText, iStrLen, &size);
    
    				if (rect.right <= (iXPos + size.cx + iRand))
                   {
                      iXPos  = iRand;
                      iYPos += size.cy + iVSpace;
                   }
    
    				 TextOut(hDC, iXPos, iYPos, szText, iStrLen);
    
    				   iXPos += size.cx + iSpace;
                }
             }
             EndPaint(hWnd, &ps);
             return 0;
          }
       case WM_DESTROY:
          {
             PostQuitMessage(0);
             return 0;
          }
       }
       return DefWindowProc(hWnd, message, wParam, lParam);
    }
    

    und nu die 16 errors:

    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(53) : warning C4244: 'return': Konvertierung von 'WPARAM' in 'int', möglicher Datenverlust
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2065: 'In': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'der'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2065: 'der': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'RECT'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Struktur'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2275: 'RECT': Ungültige Verwendung dieses Typs als Ausdruck
    c:\programme\microsoft platform sdk for windows server 2003 r2\include\windef.h(313): Siehe Deklaration von 'RECT'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2065: 'im': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner 'MSDN'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C2059: Syntaxfehler: ')'
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(59) : error C3861: "Struktur": Bezeichner wurde nicht gefunden.
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(68) : error C2065: 'rect': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(68) : error C2228: Links von ".left" muss sich eine Klasse/Struktur/Union befinden.
    Typ ist ''unknown-type''
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(69) : error C2228: Links von ".top" muss sich eine Klasse/Struktur/Union befinden.
    Typ ist ''unknown-type''
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(70) : error C2228: Links von ".right" muss sich eine Klasse/Struktur/Union befinden.
    Typ ist ''unknown-type''
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(71) : error C2228: Links von ".bottom" muss sich eine Klasse/Struktur/Union befinden.
    Typ ist ''unknown-type''
    c:\dokumente und einstellungen\dustin\eigene dateien\visual studio 2005\projects\hvhjbhlk\hvhjbhlk\hvhjbhlk.cpp(102) : error C2228: Links von ".right" muss sich eine Klasse/Struktur/Union befinden.
    Typ ist ''unknown-type''
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Dustin\Eigene Dateien\Visual Studio 2005\Projects\hvhjbhlk\hvhjbhlk\Debug\BuildLog.htm" gespeichert.
    hvhjbhlk - 16 Fehler, 1 Warnung(en)



  • Zeile 59 ist ein Kommentar und keine Funktion.. also muss die zeile mit // beginnen .



  • lol die haben in diesem Quellcode zwei drinne, also eigentlich, habe aber nur eines gesehen, danke!

    Falls ich tutoriale finde wo was nicht geht werde ich mich einfach hier melden! 🙂

    bin gerade zum anfang ein paint programm am schreiben, habe eigentlich schon zeihmlich vieles ... ^^


Anmelden zum Antworten