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 (":").
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