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