Keypress-Event

  1. last week

    Marco B

    Nov 2 Pre-Release Testers, Xojo Pro Verden, Germany

    Hallo,

    ich habe eine Consolen-App, die eine Hauptschleife hat. In dieser soll, ohne daß das laufende Programm unterbrochen wird, auf Tastendruck in der Console reagiert werden. Dazu habe ich mir die MBS-Plugins zugelegt und habe das damit unter Linux damit lösen können:

    Dim lh As New StdinMBS
    dim c as Integer
    
    ' Hauptschleife, wird fortlaufend ausgeführt
    Do
       ' Prüfen, ob Taste gedrückt
       If lh.IsReady = True Then
          c = lh.GetCharacter
          If c = 113 Then
             ' Hier Verarbeitung, wenn Taste Q gedrückt wurde
          End If
       ' Haupt-Jobs erledigen
    
       ' Anderen Prozessen Zeit geben
       DoEvents(10)
    Loop

    Unter Windows kann man aber die Property IsReady nicht nutzen. Ich habe es dann mit StdinMBS.Read(1) probiert, was aber dazu führt, daß das Programm auf Tastendruck wartet und somit die Schleife nicht weiter ausführt (also das Programm "hängt"). Auch mit WindowsConsoleMBS habe ich keine Lösung gefunden. Hätte da jemand vielleicht einmal ein Code-Beispiel?

or Sign Up to reply!