IBM Lotus Symphony


Použitie procedúr a funkcií

Nasleduje popis základného používania procedúr a funkcií v produkte Lotus® Symphony™ Basic.

Ikona poznámky Keď vytvoríte nový modul, Lotus Symphony Basic automaticky vloží SUB s názvom "Main". Tento štandardný názov nijak neovplyvňuje poradie alebo počiatočný bod projektu Lotus Symphony Basic. Túto SUB môžete aj opatrne premenovať.

Procedúry (SUBS) a funkcie (FUNCTIONS) vám pomáhajú udržiavať štruktúrovaný prehľad rozdelením programu na logické kusy.

Prínosom procedúr a funkcií je, že keď raz vytvoríte programový kód, obsahujúci komponenty úloh, môžete ho použiť v inom projekte.

Odovzdávanie premenných do procedúr (SUB) a funkcií (FUNCTION)

Premenné je možné odovzdať do procedúr aj do funkcií. Ak chcete očakávať parametre, musí byť deklarovaná SUB alebo FUNCTION:

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

Kód programu

END SUB

SUB sa volá použitím nasledujúcej syntaxe:

SubName(Hodnota1, Hodnota2,...)

Parametre odovzdané do SUB musia vyhovovať parametrom špecifikovaným v deklarácii SUB.

Rovnaký proces platí pre FUNCTIONS. Navyše, funkcie vždy vracajú výsledok funkcie. Výsledok funkcie je definovaný priradením návratovej hodnoty k názvu funkcie:

FUNCTION Názov_funkcie(Parameter1 As Type, Parameter2 As Type,...) As Type

Kód programu

Názov_funkcie=Výsledok

End Funkcia

FUNCTION sa volá použitím nasledujúcej syntaxe:

Premenná=Názov_funkcie(Parameter1, Parameter2,...)

Ikona Tip Na volanie procedúry alebo funkcie môžete použiť aj jej úplný názov: Knižnica.Modul.Makro() Napríklad, ak chcete makro Autotext zavolať z knižnice Gimmicks, použite nasledujúci príkaz: Gimmicks.AutoText.Main()

Odovzdávanie premenných podľa hodnoty alebo odkazu

Parametre je možné odovzdať do SUB alebo FUNCTION buď podľa odkazu alebo podľa hodnoty. Pokiaľ nie je špecifikované inak, parameter je vždy odovzdávaný podľa odkazu. Znamená to, že SUB alebo FUNCTION získa parameter a môže čítať a upraviť jeho hodnotu.

Ak chcete postúpiť parameter podľa hodnoty, pred parameter vložte kľúčové slovo "ByVal", keď voláte SUB alebo FUNCTION, napríklad:

Výsledok = Funkcia( ByVal Parameter)

V tom prípade FUNCTION neupraví pôvodný obsah parametra, pretože získa len hodnotu a nie samotný parameter.

Rozsah premenných

Premenná zadefinovaná v rámci SUB alebo FUNCTION zostáva platná len do ukončenia procedúry. Toto je známe ako "lokálna" premenná. V mnohých prípadoch potrebujete, aby premenná bola platná vo všetkých procedúrach, v každom module všetkých knižníc, alebo po ukončení SUB alebo FUNCTION.

Deklarovanie premenných mimo SUB alebo FUNCTION

GLOBAL VarName As TYPENAME

Premenná je platná počas trvania relácie Lotus Symphony.

PUBLIC VarName As TYPENAME

Táto premenná je platná vo všetkých moduloch.

PRIVATE VarName As TYPENAME

Táto premenná je platná len v tomto module.

DIM VarName As TYPENAME

Táto premenná je platná len v tomto module.

Príklad súkromných premenných

Aby boli súkromné premenné súkromnými vo všetkých moduloch si vynútite nastavením CompatibilityMode(true).

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

Uloženie obsahu premennej po ukončení SUB alebo FUNCTION

STATIC VarName As TYPENAME

Táto premenná uchováva svoju hodnotu do ďalšieho zadania FUNCTION alebo SUB. Deklarácia musí existovať vo vnútri SUB alebo FUNCTION.

Zadávanie typu návratovej hodnoty FUNCTION

Tak ako v prípade premenných, za názov funkcie zadajte znak deklarácie typu alebo na koniec zoznamu parametrov zadajte typ indikovaný podľa "As" a príslušného kľúčového slova, čím zadefinujete typ návratovej hodnoty funkcie, napríklad:

Function WordCount(WordText as String) as Integer


Spätná väzba na produkt | Ďalšia dokumentácia | Ochranné známky