Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 20.05.2013, 15:39 Titel: Tastenabfrage soll nur beim loslassen neu abgefragt werden. |
|
|
Hallo, guten Tag.
Mit "Taste = Inkey " kann ich in einer Do/Loop die Taste abfragen.
Nun möchte ich aber erst die neue Abfrage, wenn die Taste loslassen wurde.
Wie funktioniert das ?
Danke.
Gruss |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 20.05.2013, 16:00 Titel: |
|
|
Über MULTIKEY kannst du prüfen, ob eine Taste gedrückt ist oder nicht (einfach so lang warten, bis sie nicht mehr gedrückt ist). Desweiteren kannst du Tastendruck und Loslassen von Tasten auch über SCREENEVENT prüfen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 20.05.2013, 16:50 Titel: |
|
|
Jup, danke.
Ich habe es über SCREENEVENT gemacht.
Bloss wenn ich jetzt länger drücke, bleiben Buchstaben im Tastaturbuffer.
Danke.
Gruss |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 20.05.2013, 17:08 Titel: |
|
|
Du kannst sie ja laufend mit INKEY o. ä. rausholen.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 20.05.2013, 17:13 Titel: |
|
|
Jup, ein Buchstabe hole ich ja mit Inkey raus und springe dann zur Routine die dieses Inkey auswertet.
Wie wir der Tastaturspeicher denn schnell leer gemacht ?
Danke.
Gruss |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 20.05.2013, 19:11 Titel: |
|
|
Funktioniert noch nicht.
Diese Tastaurschleife darf erst neu abgefragt werden wenn die gleiche Taste losgelassen wurde.
Gruss
Code: |
Taste = Inkey
If (Taste <> "") Then
If Asc(taste)=255 Then
GoTo anfang
EndIf
If Asc(taste)=13 Then
zeile=zeile+1
yd=zeile*16
spalte=-1
If zeile > 31 Then
GoTo weiter
EndIf
GoTo weiter1
EndIf
spalte=spalte+1
If spalte < 32 Then
xd=spalte*16
Else
xd=0
spalte=0
zeile=zeile+1
If zeile < 32 Then
yd=zeile*16
Else
weiter:
Get scr_img,(0,16)-(511,511),scr_scroll
cls_scr()
Put scr_img,(0,0),scr_scroll,PSet
Put (10,10),scr_img,PSet
zeile=31 : spalte=-1
xd=0 : yd=zeile*16
GoTo weiter1
EndIf
EndIf
tasten_wert=Asc(taste)*8
plotten()
weiter1:
EndIf
|
|
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 21.05.2013, 15:03 Titel: |
|
|
versuch mal
Code: | #Include "fbgfx.bi"
Screen 18
Dim evt As FB.EVENT
Dim t As String
Sub enter (s As String)
Print s, Asc(s)
End Sub
Sub aaaa (s As String)
Print s, Asc(s)
End Sub
Sub bbbb (s As String)
Print s, Asc(s)
End Sub
Do
If ScreenEvent(@evt) Then
If evt.type = FB.EVENT_KEY_RELEASE Then
t = InKey
If evt.ascii = Asc(t) Then
'Auswertung
if t = "a" Then aaaa(t)
if t = "b" Then bbbb(t)
if evt.ascii = 13 Then enter(t)
While InKey <> "": Wend
EndIf
EndIf
If evt.type = FB.EVENT_WINDOW_CLOSE Then End
End If
Sleep 1
Loop |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 21.05.2013, 22:37 Titel: |
|
|
Jup, danke.
Das funktioniert gut.
Gruss
peter |
|
Nach oben |
|
 |
|