GoSub...Return Statement
Egy szubrutinbĂłl vagy fĂĽggvĂ©nybĹ‘l meghĂv egy szubrutint, amelyet egy cĂmke azonosĂt. A cĂmkĂ©t követĹ‘ utasĂtások a következĹ‘ Return utasĂtásig kerĂĽlnek vĂ©grehajtásra. Ezután a program a GoSub utasĂtást követĹ‘ utasĂtással folytatĂłdik.
Szintaxis:
lásd Paraméterek
Paraméterek:
Sub/Function
utasĂtásblokk
CĂmke
utasĂtásblokk
GoSub CĂmke
Exit Sub/Function
CĂmke:
utasĂtásblokk
Return
End Sub/Function
A GoSub utasĂtás egy szubrutinon vagy fĂĽggvĂ©nyen belĂĽl meghĂvja a cĂmkĂ©vel jelölt lokális szubrutint. A cĂmke nevĂ©nek kettĹ‘spontra kell vĂ©gzĹ‘dnie (":").
Ha a program futása olyan Return utasĂtáshoz Ă©r, amelyet nem elĹ‘zött meg GoSub utasĂtás, akkor a LibreOffice Basic hibaĂĽzenetet ad vissza. Az Exit Sub vagy Exit Function segĂtsĂ©gĂ©vel biztosĂtsuk, hogy a program elhagyja a szubrutint vagy fĂĽggvĂ©nyt a következĹ‘ Return utasĂtás elĂ©rĂ©se elĹ‘tt.
Az alábbi pĂ©lda bemutatja a GoSub Ă©s Return használatát. A programszakasz kĂ©tszeri vĂ©grehajtásával a program kiszámĂtja a felhasználĂł által beĂrt kĂ©t szám nĂ©gyzetgyökĂ©t.
PĂ©lda:
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iInputa = Int(InputBox("Írja be az első számot: ","Számbevitel"))
iInputb = Int(InputBox("Írja be a második számot: ","Számbevitel"))
iInputc=iInputa
GoSub SquareRoot
Print iInputa;" négyzetgyöke ";iInputc
iInputc=iInputb
GoSub SquareRoot
Print iInputb;" négyzetgyöke ";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub