Conteúdo
Índice 🔎︎

# 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