Berechnung



  • Hallo C++-Community,
    Ich habe vor ein Programm zu Schreiben welches bestimmte Berechnungen durchführt und die Ergebnisse anschließend in einem grafischen Fenster ausgibt. Hab mich in WinAPI schon ein bisschen eingelesen, aber brauche jetzt Hilfe. Und zwar wie schaffe ich es eine Berechnung nur 1 Mal durchzuführen und die Ergebnisse in der WndProc immer "griffbereit" zu haben, um Sie auf dem Bildschirm auszugeben? Sorry, falls dies eine lächerliche Frage darstellt. Werde mich auf jeden Fall noch weiter hineinlesen, möchte aber dieses Programm vollenden.
    Danke schon mal für eure Antworten.
    LG
    Fischlinger



  • Die berechneten Daten in Variablen speichern 😮



  • Ja, schon klar. Aber wo und wie berechne ich die Daten damit sie nur einmal berechnet werden? Einfach in die WndProc bewirkt, dass sie immer wieder berechnet werden.



  • Schau dir mal, was SetWindowLongPtr() mit GWL_USERDATA für dich machen kann... 😉



  • Fischlinger schrieb:

    wo

    Da wo du es brauchst.
    Wenn du nur 1x per Programmstart berechnen willst, dann mach es doch bevor du die message loop startest.

    Fischlinger schrieb:

    wie

    Das musst du wissen.



  • Vielleicht suchst du static?

    LRESULT windowProcedure(HWND hwnd, unsigned int message, WPARAM wParam, LPARAM lParam){
    	static HWND parent = GetParent(hwnd); //wird nur beim ersten Aufruf der Funktion ausgeführt
    	static auto bla = IrgendEineFunktion(Parametern);
    	...
    }
    

    Funktioniert wahrscheinlich nur in C++.



  • @nwp3: Genau das habe ich gesucht, danke!
    Mein Programm funktioniert so weit, aber ich habe mich gefragt ob man irgendwie vorher noch eine Zeichenkette einlesen kann?



  • Wozu static? Ruf die Funktion einfach vor der message loop auf 🙄
    Zeichenkette einlesen? Mit einem Dialog.



  • Und wo speichern? In einer globalen Variablen?


Anmelden zum Antworten