Collabora Office 24.04 laguntza
Hurrengoak Collabora Office Basic lengoaiaren prozedura, funtzio eta propietateen oinarrizko erabilera deskribatzen du.
Modulu berria sortzen denean, Collabora Office Basic lengoaiak automatikoki txertatzen du "Main" izena duen Sub bat. Izen lehenetsi horrek ez du inolako eraginik Collabora Office Basic proiektuaren hasiera-puntuaren ordenarekin. Sub errutina horren izena arazorik gabe aldatu daiteke.
Zenbait muga aplikatzen zaizkie aldagai, azpierrutina, funtzio eta propietate publikoen izenei. Ezin da erabili liburutegi bereko moduluetako edozeinen izen bera.
Prozedurak (Sub errutinak), funtzioak (Function) eta propietateak (Property) erabilita, programaren ikuspegi orokor egituratua izan daiteke, programa zati logikoetan zatituta.
Prozedura, funtzio eta propietateen onuretako bat da, zeregin-osagaiak dituen programa-kodea garatu ondoren, kode hori beste proiektu batzuetan erabili daitekeela.
Aldagaiak prozedurei, funtzioei zein propietateei pasatu dakizkiete. Sub, Function edo Property elementuak deklaratu behar dira parametroak espero izateko:
Sub SubName(Parameter1 As TYPENAME, Parameter2 As TYPENAME,...)
' zure kodea hemen doa
End Sub
Sub elementuak honako sintaxia erabilita deitzen dira:
[Call] SubName( [Parameter1:=]Value1, [Parameter2:=]Value2, ...)
Sub bati pasatutako parametroek Sub deklarazioan zehaztutakoekin bat etorri behar dute.
Prozesu bera aplikatzen zaio Function bati. Horrez gain, funtzioek beti itzultzen dute funtzio bat. Funtzio bate5n emaitza funtzio-izenari itzulitako balioa esleituta definitzen da:
Function FunctionName(Parameter1 As TYPENAME, Parameter2 As TYPENAME,...) As TYPENAME
' zure kodea hemen doa
FunctionName=Result
End Function
Function deitzeko, erabili honako sintaxia:
Variable = FunctionName( [Parameter1:=]Value1, [Parameter2:=]Value2, ...)
Propietateek prozeduren eta funtzioen sintaxia konbinatzen dute. Property batek normalean parametro bat behar du.
Private _IsApproved As TYPENAME
Property Get IsApproved As TYPENAME
' zure kodea hemen doa
IsApproved = some_computation
End Property
Property Let IsApproved(value As TYPENAME)
' zure kodea hemen doa
_IsApproved = computed_value
End Property
Property deitzeko, erabili honako sintaxia:
var = IsApproved
IsApproved = some_value
Izen kualifikatu osoa ere erabili daiteke prozedura, funtzio edo propietate bati deitzeko:
[Call] Library.Module.Macro(), non Call aukerakoa den.
Adibidez, Gimmicks liburutegiko Autotext makroari deitzeko, erabili honako komandoa:
Gimmicks.AutoText.Main()
Parametroak prozedura bati, funtzio bati edo propietate bati pasatu dakizkioke, bai erreferentzia modura bai balio modura. Ezer adierazten ez bada, parametro bat beti erreferentzia modura pasatzen da. Horrek esan nahi du Sub, Function edo Property elementuak parametroa jaso eta bere balioa irakurri eta aldatu dezakeela.
Parametro bat balio modura pasatu nahi bada, ByVal kodea erabili behar da parametroaren aurrean Sub, Function edo Property elementua deitzen denean. Adibidez:
Function ReadOnlyParms(ByVal p2, ByVal p2)
' zure kodea hemen doa
End Function
result = ReadOnlyParms(parm1, parm2)
Kasu honetan Function funtzioak ez du parametroaren jatorrizko edukia aldatuko, haren balioa hartzen baitu, ez parametroa bera.
Funtzioak, prozedurak edo propietateak aukerako parametroekin definitu daitezke, adibidez:
Sub Rounding(number, Optional decimals, Optional format)
' zure kodea hemen doa
End Sub
Funtzio bati edo azpierrutina bati deitzen zaionean, haien argumentuak kokalekuaren arabera edo izenaren arabera pasatu daitezke. Kokalekuaren arabera pasatzeak esan nahi du argumentuak funtzioan edo azpierrutinan definituta dauden ordena berean zerrendatzen direla. Izenaren arabera pasatzeko, argumentuari parametroaren izena, bi puntu eta berdin ikur bat atxiki behar zaizkio aurrean (:=). Gako-hitzen bidezko argumentuak edozein ordenatan agertu daitezke. Begiratu Basic-en Replace() funtzioa horren adibideak ikusteko.
Parametro gutxiago pasatu behar badira, erabili gako-hitzen bidezko argumentuak. Kasu horretan kokalekuaren arabera pasatu nahi badira argumentuak, parametro guztietarako eman behar dira balioak, berdin dio aukerakoak diren ala ez. Horrela, balioak kokaleku zuzenean sartzen direla ziurtatuko da. Parametroak izenaren arabera -gako-hitzen bidezko argumentuak- pasatzen badira, tarteko argumentuak ez dago sartu beharrik.
Sub, Function edo Property batean definitutako aldagai bat baliozkoa izango da prozesuratik irten arte soilik. Horri aldagai "lokal" deritzo. Zenbait kasutan, hala ere, aldagai bat beharrezkoa izaten da prozedura guztietan, liburutegi guztietako modulu guztietan edo Sub, Function edo Property batetik irten ondoren ere.
Global VarName As TYPENAME
Aldagaia Collabora Office saioak irauten duen bitartean da baliozkoa.
Public VarName As TYPENAME
Aldagaia baliozkoa da modulu guztietan.
Private VarName As TYPENAME
Aldagaia modulu honetan bakarrik da baliozkoa.
Dim VarName As TYPENAME
Aldagaia modulu honetan bakarrik da baliozkoa.
Aldagai pribatuak modulu guztietan pribatu izan daitezke, ezarri CompatibilityMode(True).
' ***** Module1 *****
Private myText As String
Sub initMyText
myText = "Kaixo"
print "in module1 : ", myText
End Sub
' ***** Module2 *****
'Option Explicit
Sub demoBug
CompatibilityMode( True )
initMyText
' Now kate huts bat ematen du
' (edo errorea sortzen du Option Explicit funtziorako)
print "Now in module2 : ", myText
End Sub
Static VarName As TYPENAME
Aldagaiak bere balioa gordetzen du Function, Sub edo Property bat berriro sartu arte. Deklarazioak Sub, Function edo Property baten barruan existitu behar du.
Aldagaietan bezala, sartu mota deklaratzeko karaktere bat funtzioaren izenaren ondoren, edo As kodeak adierazitako mota eta hari dagokion datu mota parametro-zerrendaren amaieran, funtzioaren edo propietatearen itzulerako balioaren mota definitzeko. Adibidez:
Function WordCount(WordText As String) As Integer