Collabora Office 24.04 laguntza
Servicesmoduluaren xede nagusia CreateScriptService metodora sartzeko aukera ematea da. Metodo hori erabiltzaile-scriptetatik deitu daiteke ScriptForge lan-markoaren bidez inplementatzen diren zerbitzuen instantziak sortzeko.
ScriptForge terminologian, zerbitzu bat da xede komun baterako erabili daitezkeen metodoen eta propietateen bilduma bat. Adibidez, String zerbitzuak kateak manipulatzeko metodoak eskaintzen ditu eta FileSystem zerbitzuak fitxategiak eta karpetak manipulatzeko balio du.
ScriptForge liburutegiaren Services moduluak metodo gehigarriak eskaintzen ditu erabilgarri dauden zerbitzuak erregistratzeko edo ScriptForge bera hedatzeko interesa duten garatzaileek zerbitzu berriak sortu ditzaten. Horietatik, erabiltzaile-scriptetarako esanguratsua den metodo bakarra CreateScriptService da.
Metodo hori erabiltzaile-scriptetatik deitu daitezkeen ScriptForge zerbitzu-instantziak sortzeko erabiltzen da.
Itzuliko den balioa Basic objektu bat edo Nothing, errore bat gertatu bada, izango da.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
service: Zerbitzuaren izena, kate gisa, "library.service" formatuan:
library liburutegia GlobalScope esparruan existitzen den Basic liburutegi bat da. Balio lehenetsia "ScriptForge" da.
service zerbitzua ScriptForge liburutegiak erregistratutako zerbitzuetako bat da.
arg0, ...: Deitutako zerbitzuak behar dituen argumentuen zerrenda bat.
Lehen argumentuak gertaera-kudeatzaile bati egiten badio erreferentzia, arg0 derrigorrezkoa da eta erabiltzaile-makroari argumentu gisa emandako gertaera ordezkatzen duen UNO objektua izan behar du.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Behin bakarrik egingo da
Dim svc As Object
Set svc = CreateScriptService("Array")
' "ScriptForge.Array" zerbitzuari edo SF_Array objektuari egiten dio erreferentzia
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Hiztegi huts baten klase-instantzia bat itzultzen du; "ScriptForge." aukerakoa da
Set svc = CreateScriptService("SFDocuments.Calc")
' Lotutako SFDocuments liburutegian inplementatutako Calc zerbitzuari egiten dio erreferentzia
Set svc = CreateScriptService("Timer", True)
' Berehala hasiko den Timer klase-instantzia bat itzultzen du
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Lotutako SFDocuments liburutegian inplementatutako DocumentEvent zerbitzuari egiten dio erreferentzia
' Gertaera abiarazi duen Document klasearen instantzia egiten dio erreferentzia
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Python scriptek gako-hitzak onartzen dituzte CreateScriptService deitzean. Hurrengo adibideak kontzeptu hori azaltzen du: Timer eta Document zerbitzuen instantziak sortzen ditu gako-hitzak erabiliz.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
Python scriptak errazago idazteko, ScriptForge liburutegiak Basic zerbitzu bat eskaintzen du Python scriptetatik pareko jatorrizko Basic funtzioen sintaxi eta esanahi bera duten metodoen bilduma bati deitu ahal izateko.
Hurrengo adibidean, Basic zerbitzuaren instantzia bat sortzen da eta MsgBox metodoari deitzen zaio. Hori Basic-en erabilgarri dagoen MsgBox funtzioaren parekoa da:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Kontuan izan Basic zerbitzua Python scriptetan erabili ahal izateko, bere instantzia bat sortu behar dela CreateScriptService metodoaren bidez.