Ajuda do LibreOffice 7.3
Define uma sub-rotina que pode ser utilizada como uma expressão para determinar um tipo de retorno.
Sub, Function or Property statements are similar methods, without distinction. They receive parameters by reference allowing them to be modified in return. LibreOffice Basic compiler accepts their respective argument 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.
Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
For siStep = 0 To 10 ' Preencher matriz com dados de teste
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 procura uma TextArray:sList() para TextEntry:
' O valor devolvido é o índice da entrada ou 0 (Null)
For iCount=1 To Ubound( sList() )
If sList( iCount ) = sItem Then
Encontrado Exit For ' sItem
End If
Next iCount
If iCount = Ubound( sList() ) Then iCount = 0
LinSearch = iCount
End Function