Módulo
Conteúdo
Índice 🔎︎

# Instrução On...GoSub; Instrução On...GoTo

Ramifica até uma das várias linhas especificadas no código do programa, dependendo do valor de uma expressão numérica.

## Sintaxe:

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

    On NumExpressão GoTo Etiqueta1[, Etiqueta2[, Etiqueta3[,...]]]

## Parâmetros:

NumExpressão: qualquer expressão numérica entre 0 e 255 que determina para que o programa deve passar. Se NumExpressão for 0, a instrução não é executada. Se NumExpressão for maior que 0, o programa passa para a etiqueta que tenha um número de posição correspondente à expressão (1 = primeira etiqueta; 2 = segunda etiqueta)

Etiqueta: Linha destino de acordo com a estrutura GoTo ou GoSub.

As convenções 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 & " From Sub 1 to" : Return

    Sub2:

        sVar =sVar & " From Sub 2 to" : Return

    Line1:

        sVar =sVar & " Etiqueta 1" : GoTo Ende

    Line2:

        sVar =sVar & " Etiqueta 2"

    Ende:

        MsgBox sVar,0,"On...GoSub"

    End Sub