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

Warning Icon

Se la programo renkontas ordonon Return sen antaŭa GoSub, LibreOffice Basic donas prieraran mesaĝon. Necesas Exit SubExit 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