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

Varningssymbol

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