Edukiak
Indizea 🔎︎

# Function instrukzioa

Itzulera mota zehazteko adierazpen gisa erabil daitekeen azpiprozedura definitzen du.

Sub, Function eta Property instrukzioak antzeko metodoak dira, bereizketarik gabeak. Parametroak erreferentzien bidez jasotzen dituzte eta haiek aldatu ditzakete itzultzeko. LibreOffice Basic konpilatzaileak elkarren ordez erabiltzeko moduan onartzen ditu haien argumentuak.

### Sintaxia:

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

### Parametroak:

esparrua: Funtzioaren esparru lehenetsia Public da. Private esparrua moduluaren barneko errutina bat adierazten du, ez dago pentsatuta beste moduluek errutina hori erabili dezaten.

izena: Funtzioak itzulitako balioa duen azpierrutinaren izena.

argumentuak: Azpierrutinari pasatu beharreko parametroak.

##### argumentu-zatia

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

##### Parametroak

Optional: Argumentua ez da derrigorrezkoa.

ByRef: Argumentua erreferentzia gisa pasatzen da. ByRef da aukera lehenetsia.

ByVal: Argumentua balio gisa pasatzen da. Balio hori deitutako errutinak soilik aldatu dezake.

char: Mota deklaratzeko karakterea.

motaizena: Jatorrizko datu-moten izena. Liburutegiekin edo moduluekin definitutako motak ere zehaztu daitezke.

= expression: Zehaztu balio lehenetsi bat argumenturako. Deklaratutako motarekin bat egin behar dy. Optional erabiltzea beharrezkoa da balio lehenetsi bat zehazten duen argumentu bakoitzerako.

ParamArray: Erabili ParamArray parametro kopurua zehaztu gabe dagoenean. Egoera tipiko bat erabiltzaileak definitutako Calc funtzioak dira. ParamArray erabiltzea errutina baten azken argumentura mugatu beharko litzateke.

ParamArray edo = expression erabiltzeko, Option Compatible kokatu behar da moduluaren programa-kode exekutagarriaren aurrean.

Option VBASupport 1 erabiltzean, balio lehenetsirik gabeko (= expression) Optional argumentuak beren datu motaren arabera hasieratzen dira, Variant kasuan salbu.

##### motaizena zatia

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

##### karaktere-zatia

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

## Adibideak:

    Sub ExampleExit
    Dim sReturn As String
    Dim sListArray(10) As String
    Dim siStep As Single
        For siUrratsa = 0 to 10 ' Bete matrizea probako datuekin
            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
    ' BilaketaLerroa-k SarreraTestua:sZerrenda() bilatzen du TestuSarrerantzat:
    ' Itzulera-balioa sarrerako indizea edo 0 (Null) da
        For iCount=1 To Ubound( sList() )
            If sList( iCount ) = sItem Then
                Exit For ' sElementua aurkituta
            End If
        Next iCount
        If iCount = Ubound( sList() ) Then iCount = 0
        LinSearch = iCount
    End Function