On...GoSub Statement; On...GoTo Statement
āϏāĻāĻā§āϝāĻžāϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύā§āϰ āĻŽāĻžāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰāĻļā§āϞ, āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻā§āĻĄā§ āĻŦāĻŋāĻāĻŋāύā§āύ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϞāĻžāĻāύā§āϰ āĻāĻāĻāĻŋāϤ⧠āĻļāĻžāĻāĻžāĻā§āĻā§āϤ āĻāϰ⧠āĻĨāĻžāĻā§āĨ¤
āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ:
NumExpression: 0 āĻāĻŦāĻ 255 āĻāϰ āĻŽāϧā§āϝ⧠āϝā§āĻā§āύ⧠āϏāĻāĻā§āϝāĻžāϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āϝāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻļāĻžāĻāĻž āĻšāĻŋāϏā§āĻŦā§ āĻā§āύ āϞāĻžāĻāύāĻāĻŋ āϰā§ā§āĻā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰ⧠āĻĨāĻžāĻā§āĨ¤ āϝāĻĻāĻŋ NumExpression āĻāϰ āĻŽāĻžāύ 0 āĻšā§, āϤāĻžāĻšāϞ⧠āϏā§āĻā§āĻāĻŽā§āύā§āĻāĻŋ āĻāĻžāϞāĻžāύ⧠āĻšā§ āύāĻžāĨ¤ āϝāĻĻāĻŋ NumExpression āĻāϰ āĻŽāĻžāύ āϝāĻĻāĻŋ 0 āĻāϰ āĻāĻžāĻāϤ⧠āĻŦā§ āĻšā§, āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻāĻŋ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰ⧠āĻāĻāĻāĻŋ āϏā§āϤāϰ⧠āĻāϞ⧠āϝāĻžā§ āϝāĻž āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ (1 = āĻĒā§āϰāĻĨāĻŽ āϞā§āĻŦā§āϞ; 2 = āĻĻā§āĻŦāĻŋāϤā§ā§) āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻāĻāĻāĻŋ āĻ āĻŦāϏā§āĻĨāĻžāύ āĻā§āϰāĻŽ āϰā§ā§āĻā§āĨ¤
āϞā§āĻŦā§āϞ: GoTo āĻ āĻĨāĻŦāĻž GoSub āĻāĻ āύ āĻ āύā§āϏāĻžāϰ⧠āĻāĻžāϰā§āĻā§āĻ āϞāĻžāĻāύāĨ¤
GoTo āĻ āĻĨāĻŦāĻž GoSub āĻāύāĻā§āύāĻļāύ āĻāĻžāϰā§āϝāĻāϰāĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ:
Sub ExampleOnGosub
Dim iVar As Integer
Dim sVar As String
iVar = 2
sVar =""
On iVar GoSub Sub1, Sub2
On iVar GoTo Line1, Line2
Exit Sub
Sub1:
sVar =sVar & " From Sub 1 to" : Return
Sub2:
sVar =sVar & " From Sub 2 to" : Return
Line1:
sVar =sVar & " Label 1" : GoTo Ende
Line2:
sVar =sVar & " Label 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub