Funkcijos sakinys

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

note

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.


Sintaksė:

Funkcijos sakinio diagrama


  [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 fragment

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.

tip

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


warning

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


typename fragment

paprastųjų duomenų tipų fragmentas


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

simbolinio tipo apibrėžimas


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

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