Function Statement
Defines a subroutine that can be used as an expression to determine a return type.
Sub or Function statements are similar methods, without distinction. They receive parameters by reference allowing them to be modified. LibreOffice Basic compiler accepts their respective syntax to be used interchangeably.
[Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
statements
[Exit Function]
statements
End Function
scope: Function default scope is Public. A Private scope denotes a module internal routine, not intended to be used from other modules.
name: Name of the subroutine to contain the value returned by the function.
arguments: Parameters to be passed to the subroutine.
Examples:
Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
For siStep = 0 To 10 ' Fill array with test data
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
REM Linsearch searches a TextArray:sList() for a TextEntry:
REM Return value is the index of the entry or 0 (Null)
For iCount=1 To Ubound( sList() )
If sList( iCount ) = sItem Then
Exit for REM sItem found
End If
Next iCount
If iCount = Ubound( sList() ) Then iCount = 0
LinSearch = iCount
End Function