Turinys
Rodyklė 🔎︎

# Funkcijos sakinys

Aprašo paprogramę, kuri gali būti naudojama kaip reiškinys grąžinimo tipui nustatyti.

Sub, Function arba Property sakiniai yra niekuo neišsiskiriantys panašūs metodai. Jie gauna parametrus naudojant nuorodą ir galima juos keisti. „% PRODUCTNAME Basic“ kompiliatorius numato, kad jų atitinkama argumentų sintaksė būtų keičiama.

### Sintaksė:

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

### Parametrai:

taikymo sritis: Funkcijos numatytoji taikymo sritis yra Vieša. Taikymo sritis Privati žymi modulio vidinę paprogramą, kuri nėra skirta naudoti iš kitų modulių.

vardas: Paprogramės pavadinimas, kuriame nurodoma funkcijos grąžinta reikšmė.

argumentai: Parametrai, kuriuos reikia perduoti paprogramei.

##### argumentų fragmentas

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

##### Parametrai

Pasirenkama: Argumentas neprivalomas.

ByRef: Argumentas perduodamas nuoroda. ByRef yra numatytasis.

ByVal: Argumentas perduodamas reikšme. Kviečiančioji paprogramė gali modifikuoti jo reikšmę.

char: Simbolinio tipo apibrėžimas.

tipo vardas: Paprastojo duomenų tipo vardas. Bibliotekos ar modulio apibrėžti tipai taip pat gali būti specifikuojami.

= reiškinys: Nurodykite numatytąją argumento reikšmę, atitinkančią apibrėžtą tipą.Optional būtina nurodyti kiekvienam argumentui parenkant numatytąją reikšmę.

ParamArray: Naudokite ParamArray, kai parametrų skaičius nenusakytas. Pavyzdys yra „Calc“ vartotojo aprašyta funkcija. Naudojamas ParamArray turi būti taikomas paskutiniam paprogramės argumentui.

NaudojantParamArray arba = reiškinys būtina modulyje prieš vykdomos programos kodą įdėti Parinkties suderinamumas.

Kai naudojama Option VBASupport 1 Pasirinktinai, tai argumentai, neturintys numatytųjų reikšmių, (= expression) inicinializuojami pagal jų duomenų tipą, išskyrus esant Variantas.

##### tipo vardo fragmentas

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

##### simbolio fragmentas

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

## Pavyzdžiai:

    Sub ExampleExit
    Dim sReturn As String
    Dim sListArray(10) As String
    Dim siStep As Single
        siStep = 0 To 10 ' Užpildykite masyvą testo duomenimis
            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
    ' Eilutės paieška kaip tekstinis masyvas:sList() tekstinis įrašas:
    ' Grąžinama reikšmė Ar indekso reikšmė arba 0 (nulis)
        For iCount=1 To Ubound( sList() )
            If sList( iCount ) = sItem Then
                Išėjimas ' sItem rastas
            End If
        Next iCount
        If iCount = Ubound( sList() ) Then iCount = 0
        LinSearch = iCount
    End Function