Istruzione GoSub...Return

Chiama una subroutine indicata con un'etichetta da una subroutine o da una funzione. Le istruzioni che seguono l'etichetta vengono eseguite fino alla successiva istruzione Return. In seguito, il programma continua con l'istruzione successiva a GoSub.

Sintassi:

vedere Parametri

Parametri:

Sub/Function

blocco istruzioni

Didascalia

blocco istruzioni

GoSub Etichetta

Exit Sub/Function

Etichetta:

blocco istruzioni

Return

End Sub/Function

L'istruzione GoSub chiama una subroutine locale indicata con un'etichetta dall'interno di una subroutine o di una funzione. Il nome dell'etichetta deve terminare con due punti (":").

Icona di avvertenza

Se il programma incontra un'istruzione Return che non è preceduta da GoSub, LibreOffice Basic restituisce un messaggio di errore. Usate Exit Sub o Exit Function per fare in modo che il programma esca dalla subroutine o dalla funzione prima di raggiungere la successiva istruzione Return.


L'esempio seguente illustra l'uso di GoSub e Return. Eseguendo una sezione del programma due volte, il programma calcola la radice quadrata di due numeri inseriti dall'utente.

Esempio:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Inserite il primo numero: ","NumeroInput"))

    iInputb = Int(InputBox("Inserite il secondo numero: ","NumeroInput"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "La radice quadrata di";iInputa;" è";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "La radice quadrata di";iInputb;" è";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub