Integer einlesen (aus EditBox)



  • danke für die antwort, doch diesen code habe ich ja in der MSDN schon gelesen. also nachdem was ich daraus erkenne, nütze ich diese Funktion auf mein Beispiel bezogen so:

    int Number1, Number2, Result;
    char chResult[20];
    
    //die Zahlen aus den ES_NUMBER editboxen auslesen
    
    GetDlgItemInt(hEDITBOX, Number1, NULL, NULL);
    GetDlgItemInt(hEDITBOX2, Number2, NULL, NULL);
    
    //Rechnen:
    
    Result = Number1 + Number2;
    
    //Ergebnis in chResult schreiben und per SetWindowText ausgeben
    
    sprintf_s(chResult, 20, "%d", Result);
    
    //Ergebnis ausgeben
    
    SetWindowText(hTEXT, chResult); //hTEXT, handle auf meinen Text
    

    so, soweit bin ich gekommen durch diesen MSDN code. aber dann gibt es mir als ausgabe nur das an:

    -1717986920

    egal welche zahlen ich eingeb.


  • Mod

    chili (gast) schrieb:

    vorne weg, wäre es nicht möglich mir einfach schnell einen beispiel code zu schreiben, anstatt mir dauernd zu sagen wo ich nachschaun soll? ich code seit 3 monaten c++, davon seit 2 tagen mir WinApi, wenn ich sowas lies:

    http://msdn2.microsoft.com/en-us/library/aa925758.aspx

    hilft mir das eher wenig, auser das ich grad weis wozu die parameter gut sind.

    Dann lies doch für was die Parameter gut sind. Außerdem habe ich dasin meinem Posting schon moniert was Du falsch machst.

    1. Parameter: Handle des Parent Fensters
    2. Parameter: ID des Edit Controls.
    3. Parameter: Lass es einfachmal bei NULL ansonsten lesen
    4. Parameter: TRUE oder FALSE, je nachdem ob Du signed oder unsigned erlaubst

    Und was machst Du?

    int Number1, Number2, Result;
    char chResult[20];
    
    //die Zahlen aus den ES_NUMBER editboxen auslesen
    
    GetDlgItemInt(hEDITBOX, Number1, NULL, NULL);
    

    Der zweite Parameter ist eindeutiger Quatsch...
    Auf jeden Fall liest Du nicht! 👎
    Wenn Du aus dem geschriebenen nicht klar kommst kann ich Dir auch nicht weiter helfen...



  • aha sehr interessant. aber inwiefern hilft mir diese Funktion dann einen int wert auszulesen?
    also gehen wirs nochmal durch,

    1. Parameter: handle auf meine Editbox (oder auf das Hauptfenster? ka, ich versteh nicht ganz was da steht..)

    2.Parameter: ID meiner Editbox (ok, sry das hab ich nicht gesehen)

    3.Parameter: Null

    4.Parameter: FALSE wenn ich keine unsigned haben möchte.

    return value: gibt mir das was ich möchte zurück, oder wenn es falshc war eine 0.

    gut, aber es geht noch immer nicht wenn ich angeb:

    Number1 = GetDlgItemInt(hWnd, ID_EDITBOX, NULL, FALSE)
    

    dann kommt wie gesagt immer nur diese eine negative Zahl heraus


  • Mod

    1. Parameter: Das Handle des Parent Fensters!

    Der Rückgabewert ist nur dann als korrekt anzusehen, wenn der Wert auf den lpTranslated (3.Parameter) zeigt TRUE ist. Da Du aber den dritten Parameter ignorierst weißt Du nicht ob ein Fehler passiert ist.

    Ansonsten steht auch in der Anleitung dass für erweitterte Fehlerinfos GetLastError verwendet werden kann.

    Wer lesen kann ist klar im Vorteil...


Anmelden zum Antworten