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
Lesezeichen