IBM Lotus Symphony
|
Seuraavassa kuvataan toimintojen ja funktioiden peruskäyttö Lotus Symphony Basic -ohjelmassa.
![]() |
Kun luot uuden moduulin, Lotus Symphony Basic -ohjelma lisää automaattisesti toiminnon nimeltä Main. Tällä oletusnimellä ei ole mitään tekemistä Lotus Symphony Basic -projektin järjestyksen tai aloituskohdan kanssa. Voit turvallisesti muuttaa tämän toiminnon nimeä. |
Toiminnot (SUB) ja funktiot (FUNCTION) auttavat rakenteen yleiskuvan ylläpidossa jakamalla ohjelman johdonmukaisiin osiin.
Yksi toimintojen ja funktioiden hyödyistä on, että kun olet kehittänyt tehtäväkomponentteja sisältävän ohjelmakoodin, voit käyttää samaa koodia muissakin projekteissa.
Muuttujia voi välittää sekä toiminnoille että funktioille. Toiminto (SUB) tai funktio (FUNCTION) on esiteltävä parametreja odottavana:
SUB SubName(Parameter1 As Type, Parameter2 As Type,...)
Ohjelmakoodi
END SUB
Toiminto (SUB) kutsutaan seuraavasti:
SubName(Value1, Value2,...)
Toiminnolle välitettyjen parametrien on sovittava niihin, jotka on määritetty toiminnon esittelyssä.
Sama menettely pätee funktioihin. Lisäksi funktiot palauttavat tuloksena aina funktion. Funktion tulos määritetään määrittämällä vastauksen arvo funktion nimeen:
FUNCTION FunctionName(Parameter1 As Type, Parameter2 As Type,...) As Type
Ohjelmakoodi
FunctionName=Result
End Function
Funktio (FUNCTION) kutsutaan seuraavasti:
Variable=FunctionName(Parameter1, Parameter2,...)
![]() |
Voit kutsua toiminnon tai funktion myös tarkennetun nimen avulla: Library.Module.Macro() Voit esimerkiksi kutsua Gimmicks-kirjaston sisältämän Autotext-makron seuraavan komennon avulla: Gimmicks.AutoText.Main() |
Parametreja voi välittää toiminnolle tai funktiolle joko viittauksella tai arvolla. Jos ei toisin ole määritetty, parametri välitetään aina viittauksella. Se tarkoittaa, että toiminto tai funktio saa parametrin ja voi lukea sen ja muuttaa sen arvoa.
Jos haluat välittää parametrin arvon mukaan, lisää avainsana "ByVal" parametrin eteen, kun kutsut toiminnon tai funktion. Esimerkki:
Result = Function(ByVal Parameter)
Tässä tapauksessa funktio ei muuta parametrin alkuperäistä sisältöä, koska se saa vain arvon eikä itse parametria.
Toiminnossa (SUB) tai funktiossa määritetty muuttuja on kelvollinen vain, kunnes toiminto loppuu. Tämä tunnetaan "paikallismuuttujana".
GLOBAL VarName As TYPENAME
Muuttuja on kelvollinen koko Lotus Symphony -istunnon ajan.
PUBLIC VarName As TYPENAME
Muuttuja on kelvollinen kaikissa moduuleissa.
PRIVATE VarName As TYPENAME
Muuttuja on kelvollinen vain tässä moduulissa.
DIM VarName As TYPENAME
Muuttuja on kelvollinen vain tässä moduulissa.
Voit pakottaa yksityiset muuttujat yksityisiksi moduulien välillä määrittämällä ominaisuuden 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
' Palauttaa tällä kertaa tyhjän merkkijonon
' (tai Option Explicit -lauseen virheen)
print "Now in module2 : ", myText
End Sub
STATIC VarName As TYPENAME
Muuttuja säilyttää arvonsa, kunnes toiminto tai funktio annetaan seuraavan kerran. Esittelyn on oltava toiminnon tai funktion sisällä.
Kuten muuttujien tapauksessa, sisällytä lajin esittelymerkki funktion nimen perään tai kohdan "As" ilmentämä arvo ja vastaava avainsana parametriluettelon loppuun. Tällä tavoin voit määrittää funktion palautusarvon lajin.
Function WordCount(WordText as String) as Integer