Tulong sa LibreOffice 24.8
Tumatawag sa isang subroutine na isinasaad ng label sa loob ng a Sub o a Function . Ang mga pahayag na sumusunod sa label ay isinasagawa hanggang sa susunod Bumalik pahayag. Pagkatapos, ang programa ay nagpapatuloy sa pahayag na sumusunod sa GoSub pahayag.
Label ng GoSub[:]
label: Isang line identifier na nagsasaad kung saan ipagpapatuloy ang pagpapatupad. Ang saklaw ng isang label sa kalakaran na kinabibilangan nito.
Ang GoSub Ang pahayag ay tumatawag sa isang lokal na subroutine na ipinahiwatig ng isang label mula sa loob ng isang subroutine o isang function. Ang pangalan ng label ay dapat magtapos sa isang tutuldok (":").
Sub/Function foo
' mga pahayag
GoSub label
' mga pahayag
Exit Sub/Function
label:
' mga pahayag
Return
End Sub/Function
Kung ang programa ay nakatagpo ng isang Return statement na hindi naunahan ng GoSub , LibreOffice Basic ay nagbabalik ng mensahe ng error. Gamitin Lumabas sa Sub o Lumabas sa Function upang matiyak na ang programa ay umalis sa isang Sub o Function bago maabot ang susunod na Return statement.
Ang sumusunod na halimbawa ay nagpapakita ng paggamit ng GoSub at Bumalik . Sa pamamagitan ng pagpapatupad ng seksyon ng programa nang dalawang beses, kinakalkula ng programa ang square root ng dalawang numero na ipinasok ng user.
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iInputa = Int(InputBox("Ipasok ang unang numero: ","NumberInput"))
iInputb = Int(InputBox("Ipasok ang pangalawang numero: ","NumberInput"))
iInputc=iInputa
GoSub SquareRoot
I-print ang "Ang square root ng";iInputa;" ay";iInputc
iInputc=iInputb
GoSub SquareRoot
I-print ang "Ang square root ng";iInputb;" ay";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub