Πρόταση On...GoSub; Πρόταση On...GoTo

Διακλαδώνεται σε μία από τις γραμμές που έχουν καθοριστεί στον κώδικα του προγράμματος, ανάλογα με την τιμή μιας αριθμητικής παράστασης.

Σύνταξη:

On N GoSub Label1[, Label2[, Label3[,...]]]

On NumExpression GoTo Label1[, Label2[, Label3[,...]]]

Παράμετροι:

NumExpression: Κάθε αριθμητική παράσταση μεταξύ 0 και 255 που καθορίζει σε ποια από τις γραμμές διακλαδώνεται το πρόγραμμα. Αν η παράμετρος NumExpression είναι 0, τότε η πρόταση δεν εκτελείται. Αν η παράμετρος NumExpression είναι μεγαλύτερη από 0, το πρόγραμμα μεταπηδά στην αντίστοιχη ετικέτα με αριθμό θέσης που αντιστοιχεί στην παράσταση (1 = Πρώτη ετικέτα, 2 = Δεύτερη ετικέτα)

Label: Γραμμή προορισμού σύμφωνα με την δομή 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