Pomoc za LibreOfficeDev 26.8
Hłowny zaměr modula Services je, přistup k metodźe CreateScriptService j dispoziciji stajić, kotraž da so we wužiwarskich skriptach wuwołać, zo bychu so słužby instanciěrowali, kotrež so z framworkom ScriptForge implementuja.
W terminologiji ScriptForge je słužba zběrka metodow a kajkosćow, kotrež dadźa so za zhromadny zaměr wužiwać. Słužba String na přikład metody za wobchadźenje ze znamješkowymi rjećazkami k dispoziciji staja, mjeztym zo słužba FileSystem je za wobchadźenje z datajemi a rjadowakami.
Modul Services biblioteki ScriptForge přidatne metody skići, kotrež so pak internje wužiwaja, zo bychu słužby registrowali, kotrež su k dispoziciji, pak wot wuwiwarjow, kotřiž su na tym zajimowani, ScriptForge přez wutworjenje nowych słužbow rozšěrić. Jenička metoda, kotraž je relewantna za wužiwarske skripty, je CreateScriptService.
Tuta metoda so wužiwa, zo by słužbu ScriptForge instanciěrowała, zo by so dała we wužiwarskich skriptach wuwołać.
Wróćena hódnota je objekt Basic abo Nothing, jeli zmylk je nastał.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
service: Mjeno słužby, kotraž so jako znamješkowy rjećazk w formaće "library.service" identifikuje.
library je biblioteka Basic, kotraž dyrbi w GlobalScope eksistować. Standardna hódnota je „ScriptForge“.
service je jedna ze słužbow, kotraž su přez biblioteku ScriptForge zregistrowane.
arg0, ...: Lisćina argumentow, kotrež su trěbne za wuwołanu słužbu.
Jeli so prěni argument na podawkowy manager poćahuje, je arg0 zawjazny a dyrbi objekt UNO być, kotryž podawk reprezentuje, kotryž so wužiwarskemu makru jako argument k dispoziciji staja.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Jónu wuwjesć
Dim svc As Object
Set svc = CreateScriptService("Array")
' Poćahuje so na słužbu "ScriptForge.Array" abo "SF_Array"
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Wróći nowu prózdnu słownikowu klasowu instancu; "ScriptForge." je na přeće
Set svc = CreateScriptService("SFDocuments.Calc")
' Poćahuje so na słužbu Calc, kotraž je w zwjazanej bibliotece SFDocuments implementowana
Set svc = CreateScriptService("Timer", True)
' Wróći klasowu instancu Timer, kotraž so hnydom startuje
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Poćahuje so na słužbu DocumentEvent, kotraž je w zwjazanej bibliotece SFDocuments implementowana
' Wróći instancu klasy Document, kotraž podawk wuwabja
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Skripty Python argumenty klučowych słowow podpěruja, hdyž so CreateScriptService wuwołuje. Slědowacy přikład słužbje Timer a Document z pomocu argumentow klučowych słowow instancěruje, zo by tutón koncept ilustrował.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
Zo by pisanje skriptow Python běžnišo činił, skići ScriptForge słužbu Basic, kotraž skriptam Python zmóžnja, zběrku metodow ze samsnej syntaksu a woznamom kaž jich natiwne funkcije Basic z jenakim mjenom wuwołać.
Slědowacy přikład słužbu Basic instancěruje a wuwołuje metodu MsgBox, kotraž funkciji MsgBox w Basic wotpowěduje.
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Dźiwajće na to, zo so słužba Basic dyrbi w skriptach Python z metodu CreateScriptService instancěrować.