Module
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