Anweisung Function

Definiert eine Subroutine (ein Unterprogramm), die als Ausdruck verwendet werden kann, um einen R├╝ckgabewert eines bestimmten Typs zu bestimmen.

note

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.


Syntax:

Diagramm einer Anweisung Function


  [Private | Public] Function Name[char] (argument1 [As Type][, argument2[char][,...]]) [As typename]
          Anweisungen
      [Exit Function]
          Anweisungen
  End Function

Parameter:

Bereich: Der Standardbereich der Funktion ist Public. Der Bereich Private bezeichnet eine modulinterne Routine, die nicht von anderen Modulen verwendet werden soll.

Name: Name der Unterroutine, die den von der Funktion zur├╝ckgegebenen Wert enthalten soll.

Argumente: Parameter, die an das Unterprogramm ├╝bergeben werden.

argument fragment

Fragment f├╝r argument


      {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}
    
Parameter

Optional: Das Argument ist nicht obligatorisch.

ByRef: Das Argument wird als Referenz ├╝bergeben. NyRef ist die Standardeinstellung.

ByVal: Das Argument wird als Wert ├╝bergeben. Sein Wert kann von der aufgerufenen Routine ge├Ąndert werden.

char: Typdeklarationszeichen.

typename: Primitiver Datentypname. Bibliotheks- oder moduldefinierte Typen k├Ânnen ebenfalls angegeben werden.

= expression: Geben Sie einen Standardwert f├╝r das Argument an, der seinem deklarierten Typ entspricht. Optional ist f├╝r jedes Argument erforderlich, das einen Standardwert angibt.

ParamArray: Verwenden Sie ParamArray, wenn die Anzahl der Parameter unbestimmt ist. Ein typisches Szenario ist das einer benutzerdefinierten Calc-Funktion. Die Verwendung von ParamArray sollte auf das letzte Argument einer Routine beschr├Ąnkt sein.

tip

Die Verwendung von ParamArray oder = expression erfordert, dass Option Compatible vor dem ausf├╝hrbaren Programmcode in einem Modul platziert ist.


warning

Bei Verwendung von Option VBASupport 1 werden Argumente Optional ohne Standardwert (= expression) entsprechend ihrem Datentyp initialisiert, au├čer wenn Variant.


typename fragment

Fragment primitiver Datentypen


      {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}
    
char fragment

Zeichen-Typdeklaration


      { % | & | ! | # | $ | @ }
    

Beispiele:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siStep = 0 To 10 ' Array mit Testdaten f├╝llen
        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 durchsucht ein TextArray:sList() nach einem TextEntry:
' R├╝ckgabewert ist der Index des Eintrags oder 0 ( Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' sItem gefunden
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Bitte unterst├╝tzen Sie uns!