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