Ukaz Sub

Definira podprogram.

note

Ukazi Sub, Function ali Property so podobne metode, brez razlike. Prejemajo parametre po sklicu, kar omogoča njihovo spreminjanje. Prevajalnik LibreOffice Basic sprejema izmenično uporabo njihove skladnje argumentov.


Skladnja:

Diagram ukaza Sub


[Private | Public] Sub name[(argument1 [As typename][, argument2[char][,...]])]
    ' ukazi
    [Exit Sub]
    ' ukazi
End Sub

Parametri:

Ime: ime podprograma.

Argumenti: neobvezni parametri, ki jih želite posredovati podprogramu.

Fragment argumenta

Fragment argumenta


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

Optional: argument ni obvezen.

ByRef: argument je podan po sklicu. ByRef je privzeta vrednost.

ByVal: argument je podan z vrednostjo. Njegovo vrednost lahko klicana rutina spremeni.

znak-vrste: znak za deklaracijo vrste.

ime-vrste: ime vrste primitivnih podatkov. Določite ga lahko tudi v knjižnici ali modulu definirane vrste.

= izraz: Določite privzeto vrednost za argument, ki se ujema z njegovo vrsto iz deklaracije. Optional je obvezen za vsak argument, ki ima določeno privzeto vrednost.

ParamArray: uporabite ParamArray, ko število parametrov ni določeno. Tipična raba je pri uporabniško določeni funkciji programa Calc. Uporaba ParamArray je omejena na zadnji argument rutine.

tip

Uporaba ParamArray ali = izraz zahteva, da je Option Compatible postavljen pred izvedljivo programsko kodo v modulu.


warning

Ko uporabljate Option VBASupport 1, se neobvezni argumenti Optional brez privzete vrednosti (= izraz) inicializirajo glede na njihovo vrsto podatkov, razen kadar so Variant.


fragment typename

Fragment primitivnih vrst podatkov


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

Znaki za deklaracije vrste


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

Primeri:


Sub ExampleExit
Dim sReturn As String
Dim sListArray(10) As String
Dim siStep As Single
    For siKorak = 0 to 10 ' napolni polje s preizkusnimi podatki
        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
' LinIskanje išče v polju besedil TextArray:sSeznam() besedilo sVnos:
' vrne indeks elementa ali pa 0 (Null)
    For iCount=1 To Ubound( sList() )
        If sList( iCount ) = sItem Then
            Exit For ' sVnos je najden
        End If
    Next iCount
    If iCount = Ubound( sList() ) Then iCount = 0
    LinSearch = iCount
End Function

Podprite nas!