Instrução On...GoSub Statement; On...GoTo
Desvia o processamento para uma das diversas linhas especificadas no código do programa, dependendo do valor da expressão numérica.
Sintaxe:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
Parâmetros:
NumExpression: qualquer expressão numérica entre 0 e 255 que determine para quais linhas o programa saltará. Se NumExpression for 0, a instrução não será executada. Se NumExpression for maior que 0, o programa saltará para o rótulo que tiver um número de posição correspondente à expressão (1 = primeiro rótulo (Label 1); 2 = segundo rótulo (Label 2))
Label: linha de destino de acordo com a estrutura em GoTo ou GoSub.
As convenções de GoTo ou GoSub são válidas.
Exemplo:
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 & " De Sub 1 para" : Return
Sub2:
sVar =sVar & " De Sub 2 para" : Return
Line1:
sVar =sVar & " Rótulo 1" : GoTo Ende
Line2:
sVar =sVar & " Label 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub