Vsebina
Kazalo 🔎︎

# Storitev ScriptForge.Services

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.

## 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.

### Skladnja:

svc.CreateScriptService(service: str, [arg0: any] ...): svc

### Parametri:

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.

### Primer:

##### V Basicu

        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

##### V Pythonu

        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!")

Bodite pozorni, instanco storitve Basic morate v skriptih Python tvoriti z metodo CreateScriptService.

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Storitev ScriptForge.Basic

Ukaz Set

Določilnik GlobalScope