Boolsche Variable setzen bzw. rücksetzen über einen Button

borsti87

Grünschnabel
Hallo(!)

Kann mir jemand sagen wie ich eine boolsche Variable über einen Button erst auf TRUE setzen kann und bei erneutem betätigen wieder auf FALSE setzen kann?
:confused::confused::confused:
danke
Borsti87
 
ein problem liegt nur darin das es sich um einen Joystick Button handelt und nicht um einen Virtuelen Button!
Mein Code sieht wie folgt aus
Code:
If (JoystickButton = True) Then
    If Variable = False Then
        Variable = True
        Sleep (200)
        
    Else
        Variable = False
        Sleep (200)
    End If
End If

Nur dabei "flackert" meine Variable wenn ich denn Joystick-Button etwas länger drücke
 
Zuletzt bearbeitet:
Ungetestet:
Visual Basic:
If JoystickButton = True And bPressed = False Then
    bPressed = True
    If Variable = False Then
        Variable = True
        Sleep (200)
        
    Else
        Variable = False
        Sleep (200)
    End If
ElseIf JoystickButton = False Then
    bPressed = False
End If
In dem Fall füge ich noch eine zusätzliche Bool-Variable bPressed (das b vorher steht bei mir immer für Boolean, mit dieser Benennung siehst du gleich was das für eine Variable ist), nur wenn bPressed Falsch ist, gehts weiter (dann wird bPressed noch auf Wahr gesetzt). Solange bPressed jetzt Wahr ist, wird der Rest der Abfrage übergangen, bPressed kann nur dadurch auf Falsch gesetzt werden, wenn der Button losgelassen wird.


Der Doc!
 
So, nach Tests hab ich die Theorie, dass das ganze eine Timingsache ist. Vb kommt nicht so schnell mit den Tasten hinterher, wie der ganze Code durchläuft, du müsstest als entweder mit einem Timer oder mit Verzögerung über die Sleep-API arbeiten. Welche Werte du für deinen PC einstellen müsstest, musst du austesten.

Noch was: Du musst sicherstellen, dass JoystickButton sicher wieder auf False zurückgeht.


Der Doc!
 
Zurück