Instrução Function
Define uma sub-rotina que pode ser utilizada como uma expressão para determinar um tipo de retorno.
As instruções Sub ou Function 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.
Exemplos:
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