Obsah
Rejstřík 🔎︎

# Příkaz GoSub...Return

Zavolá podprogram, který je určen návěstím u příkazu Sub nebo Function. Příkazy následující po názvu se spouští, dokud program nenarazí na příkaz Return. Poté program pokračuje příkazem následujícím po příkazu GoSub.

### Syntaxe:

    GoSub návěstí[:]

### Parametry:

návěstí: Identifikátor řádku udávající, kde má spuštěný program pokračovat. Návěstí se nachází v téže oblasti platnosti jako funkce, k níž náleží.

Příkaz GoSub zavolá místní podprogram určený návěstím. Návěstí musí končit dvojtečkou (":").

      Sub/Function foo
          ' příkazy
          GoSub label
          ' příkazy
          Exit Sub/Function
      label:
          ' příkazy
          Return
      End Sub/Function

Pokud program narazí na příkaz Return, kterému nepředchází GoSub, LibreOffice Basic vrátí chybovou zprávu. Pomocí Exit Sub nebo Exit Function zajistíte, že program opustí Sub nebo Function před dosažením příkazu Return.

Následující příklad demonstruje použití GoSub a Return. Dvojitým spuštěním části programu se vypočte odmocnina dvou zadaných čísel.

### Příklad:

    Sub ExampleGoSub
    Dim iInputa As Single
    Dim iInputb As Single
    Dim iInputc As Single
        iInputa = Int(InputBox("Zadejte první číslo: ","Číselný vstup"))
        iInputb = Int(InputBox("Zadejte druhé číslo: ","Číselný vstup"))
        iInputc=iInputa
        GoSub SquareRoot
        Print "Odmocnina z";iInputa;" je";iInputc
        iInputc=iInputb
        GoSub SquareRoot
        Print "Odmocnina z";iInputb;" je";iInputc
        Exit Sub
    SquareRoot:
        iInputc=sqr(iInputc)
        Return
    End Sub

Související témata

Příkaz GoTo

Příkaz On...GoSub; příkaz On...GoTo