Module
Contents
Index 🔎︎

# GoSub...Return Statement

Anropar en subrutin som indikeras av en etikett från en subrutin eller funktion. Satserna som kommer efter etiketten körs tills nästa Return-sats aktiveras. Efteråt fortsätter programmet med satsen som kommer efter GoSub-satsen.

## Syntax:

    se Parametrar

## Parametrar:

Sub/Function

statementblock

Etikett

statementblock

GoSub Label

Exit Sub/Function

Label:

statementblock

Return

End Sub/Function

GoSub-satsen anropar en lokal subrutin som indikeras av en etikett i en subrutin eller funktion. Etikettens namn måste avslutas med ett kolon (":").

Om programmet påträffar ett Return-uttryck som inte föregås av GoSub, returnerar LibreOffice Basic ett felmeddelande. Använd Exit Sub eller Exit Function om du vill se till att programmet avslutar en subrutin eller funktion innan nästa Return-uttryck aktiveras.

Nedanstående exempel visar hur GoSub och Return används. Genom att köra ett programavsnitt två gånger beräknar programmet kvadratroten ur två tal som användaren anger.

## Exempel:

    Sub ExampleGoSub

    Dim iInputa As Single

    Dim iInputb As Single

    Dim iInputc As Single

        iInputa = Int(InputBox("Ange det första talet: ","Nummerinmatning"))

        iInputb = Int(InputBox("Ange det andra talet: ","Nummerinmatning"))

        iInputc=iInputa

        GoSub SquareRoot

        Print "Kvadratroten ur";iInputa;" är";iInputc

        iInputc=iInputb

        GoSub SquareRoot

        Print "Kvadratroten ur";iInputb;" är";iInputc

        Exit Sub

    SquareRoot:

        iInputc=sqr(iInputc)

        Return

    End Sub