Tastaturabfrage in einer Methode



  • Hallo

    ich steuer hier eine Maschine an. Jetzt soll z.B. in einer Methode gefragt werden, die die Maschine hoch oder runter fahren lässt, ob eine Taste gedrückt wurde und wenn ja, dass die dann stopen soll.

    die normale tastaturauswertung hab ich per PreTranslateMessage gemacht

    das problem ist aber, dass in der Methode eine Schleife läuft, die erst zu ende ist, wenn ein bestimmter wert erreicht ist

    somit logischerweise auch kein normaler nachrichtenabfang möglich

    jetzt muss ich diesen abfrage, ob eine taste gedrückt wurde, aber trotzdem in die schleife mit reinnehmen

    weiß da jemand was? oder kann ich die PreTranslateMessage einfach in der Schleife aufrufen?

    soll so ca sein:

    void Maschine::Kraft()
    {
         do
         {
              intKraft = Fahre(runter);
              //Tastaturabfrage
         }
         while ( (intKraft != gewünschteKraft) || Tastendruck );
    }
    

    und da wo //Tastaturabfrage steht, muss die Tastaturabfrage rein, weil ich die Maschine auch stopen muss, wenn irgendwas schief läuft



  • Du kannst Deine Berechnung/Schleife in einem Thread laufen lassen, dann reagiert die Anwendung weiter auf Aktionen.



  • abu

    ja, schonmal was von Thread gehört

    wie muss ich denn das machen?

    kann ich das irgendwo nachlesen?



  • Hallo,

    ich hatte mal so ein ähnliches Problem. Ich habs mit PeekMessage() hinbekommen. Das funktionierte bei mir zumindest mit den Tastatureingaben. Schau mal hier nach, vielleicht hilft Dir das weiter.

    Gruß Andy



  • hey thx

    funzt wunderbar

    dankeschön


Anmelden zum Antworten