LibreOffice 24.8 laguntza
Sub edo Function baten barruko etiketa batek adierazitako azpierrutina bati deitzen dio. Etiketaren ondoren dauden instrukzioak hurrengo Return instrukziora arte exekutatzen dira. Ondoren, programak aurrera jarraitzen du GoSub instrukzioaren ondoren datorren instrukzioarekin.
GoSub etiketa[:]
etiketa: Lerro-identifikatzaile bat, exekuzioak non jarraituko duen adierazten duena. Etiketa baten esparrua bere errutinarena da.
GoSub instrukzioak azpierrutina baten edo funtzio baten barruko etiketa batek adierazitako azpierrutina lokal bati deitzen dio. Etiketaren izenak puntu batekin (":") amaitu behar du.
Sub/Function foo
' instrukzioak
GoSub label
' instrukzioak
Exit Sub/Function
label:
' instrukzioak
Return
End Sub/Function
Programak Return instrukzioa aurkitzen badu aurretik GoSub gabe, LibreOffice Basic-ek errore-mezua itzuliko du. Hurrengo Return instrukziora iritsi aurretik programak azpierrutina edo funtzio bat utzi duela ziurtatzeko, erabili Exit Sub edo Exit Function.
Ondorengo adibidean GoSub eta Return instrukzioen erabilera erakusten da. Programaren atal bat bi aldiz exekutatzean, programak erabiltzaileak sartutako bi zenbakiren erro karratua kalkulatzen du.
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iSarreraa = Int(InputBox("Sartu lehen zenbakia: ","Sarrerako zenbakia"))
iSarrerab = Int(InputBox("Sartu bigarren zenbakia: ","Sarrerako zenbakia"))
iInputc=iInputa
GoSub SquareRoot
Print iSarreraa; "(r)en erro karratua honakoa da: ";iSarrerac
iInputc=iInputb
GoSub SquareRoot
Print iSarrerab;"(r)en erro karratua honakoa da: ";iSarrerac
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub