ON STRIG(n) - mkilgore/QB64pe GitHub Wiki

The ON STRIG(n) statement is an event procedure that directs program flow upon the press of a specified joystick button.

Syntax

ON STRIG(buttonFunction) GOSUB {lineNumber|lineLabel}
ON STRIG(buttonFunction[,]) {GOSUB {lineNumber|lineLabel} | SUBprocedure}
  • In QB64 the value can be any button function number with any number of joysticks. See STRIG and STICK for parameters.
  • There are two buttonFunction for each button. The even numbered function is always the event of any press since last read.
  • The statement sends the procedure to a line number, line label or SUB procedure when a button event occurs.

QBasic/QuickBASIC

  • In QBasic, value of n could only be a number from 0 to 3 only as it could only monitor 2 joystick buttons and 2 joysticks.

Examples

Example 1: Reading a STRIG event to do something in a GOSUB procedure.

DO...LOOP
    PRINT ".";
    _LIMIT 30
LOOP UNTIL INKEY$ <> ""
END

10
a$ = "[STRIG 0 EVENT]"
FOR...NEXT x = 1 TO LEN(a$)
    PRINT MID$(a$, x, 1);
    _DELAY 0.02
NEXT
RETURN '' ''

Example 2: Displays any number of game pad or joystick device button presses.

FOR...NEXT j = 1 TO 256
    FOR...NEXT b = 1 TO 256
        ON STRIG(n)((b - 1) * 4, j) JoyButton (j - 1) * 256 + b - 1
    NEXT
NEXT
STRIG(n) ON

DO...LOOP
    PRINT ".";
    _LIMIT 30
LOOP UNTIL INKEY$ <> ""
END

SUB JoyButton (js AS LONG)
PRINT "Joystick #"; js \ 256 + 1; "button #"; (js AND (boolean) 255) + 1; "pressed!"
END SUB '' ''
Explanation: Up to 256 controllers can be used in QB64 with many buttons to read.

See also

External links


Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
⚠️ **GitHub.com Fallback** ⚠️