Módulo
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