ON...GOSUB - mkilgore/QB64pe GitHub Wiki

ON...GOSUB is a control-flow statement that branches to a line or label in a list depending on a numerical expression.

Syntax

ON numericalExpression GOSUB labelOrNumber[,labelOrNumber][,...]

Description

  • numericalExpression represents the line or label that the program should branch to: 1 branches to the first line or label in the list, 2 branches to the second, etc.
  • The procedure must be used after the number value is determined or in a loop to monitor current user events.
  • RETURN returns to the next code statement after the ON...GOSUB statement. END or SYSTEM can be used to end program.
  • Note: SELECT CASE provides a much more convenient way of doing this task.

QBasic/QuickBASIC

  • In QuickBASIC 4.5 the list could contain a maximum of 60 line numbers or labels, while QB64 has no limit.

Examples

Example:

hello:
PRINT "Hello, with a = 1 you get to see this!"
END

hereweare:
PRINT "with a = 2 here we are...return to line after ON."
RETURN

143
PRINT "Line 143, with a = 3 you get to see this!"
END '' ''
with a = 2 here we are...return to line after ON.
Also notice the RETURN statement that can be used with GOSUB!
Explanation: Since a equals to 2 it goes to the second item in the list (hereweare) and branches the program to there. Try changing 'a' to 1 or 3.

See also


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