Instrukcja On...GoSub;Instrukcja On...GoTo

Rozgałęzia wykonywanie programu na kilka określonych linii kodu w zależności od wartości wyrażenia numerycznego.

Składnia:


On N GoSub etykieta1[, etykieta2[, etykieta3[,...]]]
On wyrażenie_numeryczne GoTo etykieta1[, etykieta2[, etykieta3[,...]]]

Parametry:

Wyrażenie_numeryczne: Dowolne wyrażenie numeryczne w zakresie od 0 do 255 określające, do której linii nastąpi przeskok podczas wykonywania programu. Jeśli parametr wyrażenie_numeryczne ma wartość 0, instrukcja nie jest wykonywana. Jeśli parametr wyrażenie_numeryczne jest większe niż 0, program wykonuje skok do etykiety o numerze równym wyrażeniu (1 = pierwsza etykieta; 2 = druga etykieta)

Etykieta: Linia docelowa odpowiadająca strukturze GoTo lub GoSub.

Ikona notatki

Poprawne są wszystkie konwencje instrukcji GoTo i GoSub .


Przykład:


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