Function Statement
рдЙрдкрдХрд╛рд░реНрдпрддрд╛рд▓рд┐рдХрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ рдЬрд╕рд▓рд╛рдИ рдлрд░реНрдХрдиреЗ рдкреНрд░рдХрд╛рд░рд▓рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдирд▓рд╛рдИ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ ред
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 REM 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рд▓реЗ рдкрд╛рда рдПрд░реЗ рдЦреЛрдЬреНрдЫ:рдкрд╛рда рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдХрд╛ рд▓рд╛рдЧрд┐sList()
' рд▓реЗ рдлрд░реНрдХрд╛рдЙрдиреЗ рдорд╛рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╛ реж (рдирд┐рд▓)рдХреЛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╣реЛред
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