Ajuda do LibreOffice 7.2
Define uma sub-rotina que pode ser utilizada como uma expressão para determinar um tipo de retorno.
As instruções Sub, Function ou Property são métodos similares, sem distinção. Recebem parâmetros por referência permitindo modificação. O compilador do LibreOffice Basic aceita as respectivas sintaxes a serem usadas indistintamente.
[Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
instruções
[Exit Function]
instruções
End Function
scope: o escopo padrão da Function é Public. Um escopo Private denota uma rotina interna do módulo, que não é destinada a ser usada por outros módulos.
name: nome da sub-rotina que deverá conter o valor retornado pela função.
arguments: parâmetro a ser passado para a sub-rotina.
Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
For siStep = 0 to 10 ' Preencha a 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 um TextArray:sList() para uma TextEntry:
' Valor de retorno é o índice da entrada ou 0 (Null)
For iCount=1 To Ubound( sList() )
If sList( iCount ) = sItem Then
Exit For ' sItem encontrado
End If
Next iCount
If iCount = Ubound( sList() ) Then iCount = 0
LinSearch = iCount
End Function