IBM Lotus Symphony


Uporaba procedur in funkcij

Naslednji odsek opisuje osnovno uporabo procedur in funkcij v Lotus® Symphony™ Basicu.

Ikona opombe Ko ustvarjate nov modul, Lotus Symphony Basic samodejno vstavi SUB z imenom "Main". To privzeto ime nima nič opravka z vrstnim redom ali začetno točko projekta v Lotus Symphony Basicu. Prav tako lahko ta SUB varno preimenujete.

Procedure (SUBS) in funkcije (FUNCTIONS) vam pomagajo vzdrževati strukturiran pregled z ločevanjem programa na logične dele.

Ena prednost procedur in funkcij je ta, da ko enkrat razvijete programsko kodo, ki vsebuje komponente naloge, lahko to kodo ponovno uporabite v drugem projektu.

Posredovanje spremenljivk v postopke (SUB) in funkcije (FUNCTION)

Spremenljivke se lahko posredujejo tako proceduram kot funkcijam. SUB ali FUNCTION mora biti deklariran, da pričakuje parameter:

SUB SubName( Parameter1 As Type, Parameter2 As Type,... )

Programska koda

END SUB

SUB se prikliče z naslednjo skladnjo:

SubName(Value1, Value2,...)

Parametri, ki so podani SUB (podprogramu), morajo ustrezati tistim, ki so podani v deklaraciji SUB.

Isti proces velja za FUNCTIONS. Poleg tega funkcije vedno vrnejo rezultat funkcije. Rezultat funkcije se definira tako, da se dodeli vrnjeno vrednost imenu funkcije.

FUNCTION FunctionName(Parameter1 As Type, Parameter2 As Type,...) As Type

Programska koda

FunctionName=Result

End Function

FUNCTION se prikliče z naslednjo skladnjo:

Variable=FunctionName(Parameter1, Parameter2,...)

Ikona nasveta Proceduro ali funkcijo lahko prikličete tudi s popolnoma kvalificiranim imenom: Library.Module.Macro() Makro Autotext lahko na primer prikličete iz knjižnice Gimmicks z ukazom: Gimmicks.AutoText.Main()

Posredovanje spremenljivk po vrednosti ali sklicu

Parametri se SUB ali FUNCTION lahko podajajo ali s sklicem ali z vrednostjo. Če ni drugače določeno, se parameter vedno poda kot sklic. To pomeni, da SUB ali FUNCTION dobi parameter in lahko prebere ali spremeni njegovo vrednost.

Če želite posredovati parameter z vrednostjo, vstavite ključno besedo "ByVal" pred parameter, kadar kličete SUB ali FUNCTION, na primer:

Result = Function( ByVal Parameter)

V tem primeru se prvotna vsebina parametra ne spremeni s strani FUNCTION, saj ta dobi samo vrednost, ne pa parametra samega.

Obseg spremenljivk

Spremenljivka, definirana znotraj SUB ali FUNCTION, ostane veljavna samo dokler se procedura ne zapusti. To je poznano kot "lokalna" spremenljivka. V veliko primerih pa potrebujete spremenljivko, ki bo veljavna v vseh procedurah, v vsakem modulu vseh knjižnic, ali potem, ko se zapusti SUB ali FUNCTION.

Deklariranje spremenljivk zunaj SUB ali FUNCTION

GLOBAL VarName As TYPENAME

Spremenljivka je veljavna, dokler traja seja programske opreme Lotus Symphony.

PUBLIC VarName As TYPENAME

Spremenljivka velja za vse module.

PRIVATE VarName As TYPENAME

Spremenljivka velja samo za ta modul.

DIM ImeSpremenljivke As TYPENAME

Spremenljivka velja samo za ta modul.

Primer za zasebne spremenljivke

Nastavite CompatibilityMode(true) in tako vsilite, da bodo zasebne spremenljivke zasebne v vseh modulih.

REM ***** Module1 *****

Private myText As String

Sub initMyText

myText = "Hello"

print "in module1 : ", myText

End Sub

REM ***** Module2 *****

'Option Explicit

Sub demoBug

CompatibilityMode( true )

initMyText

' Now returns empty string

' (or rises error for Option Explicit)

print "Now in module2 : ", myText

End Sub

Shranjevanje vsebine spremenljivke po izhodu iz SUB ali FUNCTION

STATIC VarName As TYPENAME

Spremenljivka obdrži vrednost do naslednjič, ko se vstopi v SUB ali FUNCTION. Deklaracija mora obstajati znotraj SUB ali FUNCTION.

Podajanje vrste vrnjene vrednosti FUNCTION

Kot pri spremenljivkah vključite znak deklaracije vrste za imenom funkcije ali pa vrsta, označen z "As" in ustrezno ključno besedo na koncu seznama parametrov, če želite definirati vrsto vrnjene vrednosti funkcije, na primer:

Function WordCount(WordText as String) as Integer


Povratne informacije o izdelku | Dodatna dokumentacija | Blagovne znamke