GoSub...Return Statement

Vokas subproceduron specifita per etikedo de subproceduro aƭ funkcio. La ordonoj post la etikedo ruliĝas ĝis la posta ordono Return. Poste, la programo daƭros ruliĝi ĉe la ordono kiu sekvas la ordonon GoSub .

Sintakso:


vidu je Parametroj

Parametroj:

Sub/Function

ordona bloko

Etikedo

ordona bloko

GoSub Etikedo

Exit Sub/Function

Label:

ordona bloko

Return

End Sub/Function

La ordono GoSub vokas lokan subproceduron specifita per etikedo de ene de subproceduro aĆ­ funkcio. La nomo de la etikedo devas fini per dupunkto (":").

Averta bildsimbolo

Se la programo renkontas ordonon Return sen antaƭa GoSub, LibreOffice Basic donas prieraran mesaĝon. Necesas Exit Sub aƭ Exit Function por certigi ke la programo eliras el la Sub aƭ Function antaƭ ol atingi la postan ordonon Return.


La jena ekzemplo montras la uzadon de GoSub kaj Return. Rulante dufoje sekcion de programo, la programo kalkulas la kvadratan radikon de du numeroj tajpitaj de la uzanto.

Ekzemplo:


Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
    iInputa = Int(InputBox("Tajpu la unuan numeron: ","NumberInput"))
    iInputb = Int(InputBox("Tajpu la duan numeron: ","NumberInput"))
    iInputc=iInputa
    GoSub SquareRoot
    Print "La kvadrata radiko de";iInputa;" estas";iInputc
    iInputc=iInputb
    GoSub SquareRoot
    Print "La kvadrata radiko de";iInputb;" estas";iInputc
    Exit Sub
SquareRoot:
    iInputc=sqr(iInputc)
    Return
End Sub