Помощ за LibreOffice 7.1
Дефинира подпрограма, която може да бъде използвана като израз, определяйки и типа на връщаната стойност.
Операторите Sub, Function и Property действат по един и същ начин. Те получават параметри по адрес, позволявайки модифицирането им. За компилатора на LibreOffice Basic използването на съответния им синтаксис за аргументи е взаимозаменяемо.
[Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
оператори
[Exit Function]
оператори
End Function
scope: подразбираният обхват на функция е Public. Обхват Private означава подпрограма, вътрешна за модула, която не е предназначена да се използва от други модули.
name: името на подпрограмата, на което се присвоява връщаната от функцията стойност.
arguments: параметри, които да се подават към подпрограмата.
Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
For siStep = 0 To 10 ' Запълваме масива с тестови данни
sListArray(siStep) = chr$(siStep + 65)
MsgBox sListArray(siStep)
Next siStep
sReturn = LinSearch(sListArray(), "B")
Print sReturn
End Sub
Function LinSearch( sList(), sItem As String ) As Integer
Dim iCount As Integer
' Linsearch претърсва TextArray:sList() за TextEntry:
' Връщаната стойност е индексът на елемента или 0 (Null)
For iCount=1 To Ubound( sList() )
If sList( iCount ) = sItem Then
Exit For ' sItem е намерен
End If
Next iCount
If iCount = Ubound( sList() ) Then iCount = 0
LinSearch = iCount
End Function