1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-01 09:10:37 +00:00
qb64/internal/help/ON...GOTO.txt
2021-02-15 22:13:07 -03:00

50 lines
1.4 KiB
Plaintext

[[ON...GOTO]] is a control-flow statement that branches to a line or label in a list depending on a numerical expression.
{{PageSyntax}}
: '''ON''' {{Parameter|numericalExpression}} [[GOTO]] {{Parameter|labelOrNumber}}[,{{Parameter|labelOrNumber}}][,...]
{{PageDescription}}
* {{Parameter|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.
* '''Note:''' [[SELECT CASE]] provides a much more convenient way of doing this task.
{{PageQBasic}}
* In QuickBASIC 4.5 the list could contain a maximum of 60 line numbers or labels, while '''QB64''' has no limit.
{{PageExamples}}
''Example:'' Changing the program flow when a value is not 0.
{{CodeStart}} '' ''
{{Cl|CLS}}
a = 2
{{Cl|ON...GOTO|ON a GOTO}} hello, hereweare, 143
{{Cl|END}}
hello:
{{Cl|PRINT}} "you don't get to see this!"
{{Cl|END}}
hereweare:
PRINT "And here we are..."
END
143
PRINT "you don't get to see this neither..."
END '' ''
{{CodeEnd}}
{{OutputStart}}
And here we are...
{{OutputEnd}}
''Explanation:'' Since ''a'' equals 2 it goes to the second item in the list (hereweare) and branches to there. Try changing ''a' to 1 or 3.
{{PageSeeAlso}}
* [[ON...GOSUB]]
* [[GOTO]]
* [[GOSUB]]
* [[SELECT CASE]]
{{PageNavigation}}