Enhavo
Indekso 🔎︎

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

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