Problem mit Alt Gr

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hubsi

Betreff: Problem mit Alt Gr

BeitragSa, Feb 21, 2004 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo beisammen.

Warum gibt die untenstehende Function beim Druck auf die rechte Alt zuerst 29 und dann erst die korrekte 184 aus. Bei allen anderen Tasten klappts ja auch Question

Code: [AUSKLAPPEN]
Repeat
  key=AnyKeyHit()
  If key<>0 Then Print key
Until KeyHit(1)

Function AnyKeyHit()
  Local a,r
  For a=1 To 237
    If KeyHit(a) Then r=a:Exit
  Next
  Return r
End Function
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Kryan

BeitragSa, Feb 21, 2004 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
mach das exit weg, das dauert zwar länger dann,aber es funzt Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Markus2

BeitragSo, Feb 22, 2004 0:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei KeyHit(XXX) wird so lange der Tastenanschlag gemerkt
bis diese Taste XXX abgefragt wird .

Kann auch böse sein wenn man KeyHit
zwischen If Then und End If
benutzt .

Hubsi

BeitragSo, Feb 22, 2004 2:10
Antworten mit Zitat
Benutzer-Profile anzeigen
@Markus2: Schon klar. Aber ich habe die linke Strg ja niemals nicht gedrückt Wink

Das mit dem Exit funzt. Ist mir zwar immer noch ein Rätsel, aber danke Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Blatolo

BeitragSo, Feb 22, 2004 10:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir funzt das mit exit wegnehmen nicht.
aber als ich dann ein flushkeys vor den funktionsaufruf gepackt ahtte war es zwar langsamer aber es zeigt die richtige zahl an.

edit: Mir fällt grad auf dass wenn man mehrmals die elt gr taste drückt nach einigger zeit trotzdem mal 29 auftaucht.

Markus2

BeitragSo, Feb 22, 2004 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm,

stimmt , ist in der Tat sehr doof !????

Habs mal in VB6 ausprobiert und da ist Alt Gr = Alt + Strg

Code: [AUSKLAPPEN]

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Function GetPressedKey() As String
   
    GetPressedKey = ""
   
    Dim cnt As Integer
    For cnt = 0 To 255
     If GetAsyncKeyState(cnt) <> 0 Then
      GetPressedKey = GetPressedKey & cnt & " "
     End If
    Next

End Function

Private Sub Timer1_Timer()

 Text1.Text = GetPressedKey()

End Sub

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group