Ich nuze folgende Lauftechnik, um Tastenabfragen abzufragen. Im speziellen, ob sie >gedrückt wurde< oder >losgelassen wurde<. nicht ob sie >gedrückt IST< oder >nicht Gedrückt IST<
Code:Xkeylast = Xkeyak 'Aktuelle Tastenzustände als letzte Tastenzustände setzen Xkeyak = 0 'Aktuelle Tastenzustände auf 0 setzen (keine taste gedrückt) If Pind.6 = 0 Then Xkeyak = Xkeyak Or 2 'Start-Taste prüfen If Pind.4 = 0 Then Xkeyak = Xkeyak Or 4 'New Taste prüfen If Pind.5 = 0 Then Xkeyak = Xkeyak Or 8 'Stop Taste prüfen For Xtb1 = 1 To 4 'Alle Tasten durchgehen If Keycheck(xkeylast , Xtb1) = 0 Then 'Taste (XTB1) zuletzt NICHT gedrückt? If Keycheck(xkeyak , Xtb1) = 1 Then 'Taste (XTB1) jetzt gedrückt? 'Taste wurde gedrückt, jezt kann hier weiter gearbeitet werden End If End If Next '=============================================================================== Function Keycheck(v_keydata As Byte , B_key As Byte) As Byte 'Funktion zur prüfen eines Tastenzustandes anhand einer Tasten-Zustandsmaske Xtb2 = 2 ^ B_key 'Tasten-Bitmaske berechnen Xtb2 = V_keydata And Xtb2 'Tasten-Bitmaste mit aktuellen zuständen verknüpfen If Xtb2 > 0 Then Keycheck = 1 'Prüfen, ob Taste gedrückt ist End Function 'Funktion verlassen







Zitieren
Lesezeichen