If Problem



  • Hallo zusammen
    ich habe ein Problem mit meinem Progamm. Es soll ein Lernprogramm für Französischwörter werden aber wenn ich die eingabe mit if abfrage ist sie immer falsch.
    Hier der Code

    case WM_COMMAND:
    
             if (lParam == (LPARAM)hButton)
             {
                if (HIWORD(wParam) == BN_CLICKED)
                {
    
                          hdc = GetDC(hwnd);
                          TextOut (hdc, 10, 50, "                         ", 25);
                          TextOut (hdc, 10, 50, deutsch[z],strlen(deutsch[z]));
                          ReleaseDC(hwnd,hdc);
    
                          //Textlänge ermitteln (die 1 für Terminierung) 
                          le = GetWindowTextLength(hEdit)+1;
                          text = new char[le];
    
                          //Window - Text in Buffer kopieren
                          GetWindowText(hEdit,text,le);
    
                          if(text == franz[1])
                          {
                          MessageBox (NULL, "Richtig" , "Richtig", 0);
                          }
                          else
                          {
                            MessageBox (NULL, "Falsch", "Falsch", 0);
    
                          }
                          le=0;
                          delete text;
    
                  }
             }
             return 0;
    

    Mein Betribsystem ist Windows ME Compiler: dev-c++
    Danke im Voraus



  • man benutzt lstrcmp um zwei char Arrays bzw string literals zu vergleichen. Und hier

    if (lParam == (LPARAM)hButton) //...
    

    solltest du lParam in HWND casten und nicht andersrum



  • mit lstrcmp klammt es prima aber was meinst du mit

    Shlo schrieb:

    Und hier

    if (lParam == (LPARAM)hButton) //...
    

    solltest du lParam in HWND casten und nicht andersrum

    könntest du das in form eines quellcodes erklären?? wäre sehr nett bin neu in c++ 🙂



  • so

    if ((HWND)lParam == hWnd) //...
    


  • Danke für die Hilfe 🙂



  • und du solltest

    delete[] text;
    

    schreiben...


Anmelden zum Antworten