Pomoč LibreOffice 24.8
Glavni namen modula Services je zagotavljati dostop do metode CreateScriptService, ki jo lahko kličete iz uporabniških skriptov, da tvorite instanco storitev, ki so implementirane z uporabo ogrodja ScriptForge.
V terminologiji knjižnice ScriptForge je storitev zbirka metod in lastnosti, ki jih lahko uporabite za splošne namene. Primer: storitev String ponuja metode za ravnanje z nizi, storitev FileSystem pa omogoča ravnanje z datotekami in mapami.
Modul Services knjižnice ScriptForge ponuja dodatne metode, ki se uporabljajo interno za registracijo razpoložljivih storitev ali pa jih uporabijo razvijalci, ki jih zanima širitev ScriptForge z ustvarjanjem novih storitev. Edina metoda, ki je relevantna za uporabniške skripte, je CreateScriptService.
Ta metoda se uporablja za tvorbo instance storitve ScriptForge, tako da jo lahko kličete v uporabniških skriptih.
Vrnjena vrednost je predmet Basic ali Nothing, če je prišlo do napake.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
service: ime storitve, identificirane kot niz v obliki »library.service« (torej »knjižnica.storitev«).
knjižnica je knjižnica Basic, ki mora obstajati v GlobalScope. Privzeta vrednost je »ScriptForge«.
service je ena od storitev, ki jih registrira knjižnica ScriptForge.
arg0, arg1, ...: seznam argumentov, ki jih zahteva priklicana storitev.
Če se prvi argument sklicuje na upravitelja dogodkov, je arg0 obvezen in mora biti predmet UNO, ki predstavlja dogodek, podan kot argument za uporabniški makro.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' To bo storjeno enkrat
Dim svc As Object
Set svc = CreateScriptService("Array")
' Sklicuje se na storitev "ScriptForge.Array" ali SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Vrne novo prazno instanco razreda slovarjev; niz "ScriptForge." je neobvezen
Set svc = CreateScriptService("SFDocuments.Calc")
' Sklicuje se na storitev Calc, implementirano v povezani knjižnici SFDocuments
Set svc = CreateScriptService("Timer", True)
' Vrne instanco razreda Timer, ki se takoj zažene
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Sklicuje se na storitev DocumentEvent, implementirano v povezani knjižnici SFDocuments
' Vrne instanco razreda Document, ki je sprožila dogodek
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Skripti Python podpirajo argumente ključnih besed pri klicih CreateScriptService. Naslednji primer ilustrira ta koncept s priklicem instanc storitev Timer in Document z uporabo ključnih besed kot argumentov.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
Da bi bilo pisanje skriptov v Pythonu bolj tekoče, ponuja ScriptForge storitev Basic, ki omogoča skriptom Python, da kličejo nabor metod z isto skladnjo in pomenom kot njihove enakozvočne domorodne funkcije v Basicu.
Naslednji primer prikliče storitev Basic in kliče metodo MsgBox, ki je ekvivalentna funkciji MsgBox, ki je na voljo v Basicu:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Zavedajte se, da morate instanco storitve Basic v skriptih Python tvoriti z metodo CreateScriptService.