Indhold

# Tjenesten ScriptForge.Services

Hovedformålet med modulet Services (tjeneste) er at give adgang til metoden CreateScriptService (opret_script-tjeneste), som kan kaldes i brugerscripts til at instantiere tjenester, der implementeres med ScriptForge-miljøet.

I ScriptForge-terminologien er en tjeneste en samling af metoder og egenskaber, der kan bruges til et fælles formål. For eksempel giver tjenesten String metoder til at manipulere strenge, mens tjenesten FileSystem tillader manipulation af filer og mapper.

Modulet Services (tjenester)i ScriptForge-biblioteket giver flere metoder, der bruges til enten internt at registrere tilgængelige tjenester eller af udviklere, der er interesserede i at udvide ScriptForge ved at oprette nye tjenester. Den eneste metode , der er relevant i bruger-scripts er CreateScriptService (opret script-tjeneste).

## CreateScriptService

Denne metode bruges til at instantiere en ScriptsForge-tjeneste, så den kan kaldes i brugerscripts.

Returværdien er et Basic-objekt eller Nothing (intet), hvis der er sket en fejl.

### Syntaks:

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

### Parametre:

service (tjeneste): Navnet på tjenesten, der identificeres som en streng i formatet "bibliotek.tjeneste":

- library (bibliotek) er et Basic-bibliotek, der skal findes i GlobalScope (global_rækkevidde). Standardværdien er "ScriptForge".

- service (tjeneste) er en af de tjenester, der er registreret i ScriptForge-biblioteket.

arg0, ...: En liste over argumenter, der kræves af den kaldte tjeneste.

Hvis det første argument henviser til en hændelseshåndtering, er arg0 obligatorisk og skal være det UNO-objekt, der repræsenterer den hændelse, der er angivet som argument til brugermakroen.

### Eksempel:

##### I Basic

        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        ' Skal gøres en gang
        Dim svc As Object
        Set svc = CreateScriptService("Array")
        ' Henviser til tjenesten "ScriptForge.Array" eller SF_Array
        Set svc = CreateScriptService("ScriptForge.Dictionary")
        ' Returnerer en ny tom instans af ordbog/opslagstabel-klassen (Dictionary); "ScriptForge." er valgfri
        Set svc = CreateScriptService("SFDocuments.Calc")
        ' Refererer til den Calc-tjeneste, der er implementeret i det tilknyttede SFDocuments-bibliotek
        Set svc = CreateScriptService("Timer", True)
        ' Returnerer en instans af klassen Timer, som starter øjeblikkelig
        Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
        ' Refererer til tjenesten DocumentEvent (dokumenthændelse), der er implementeret i det tilknyttede SFDocuments-bibliotek
        ' Returnerer den instans af klassen Document, som udløste hændelsen

##### I Python

        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-scripts understøtter nøgleordsargumenter, når CreateScriptService (opret_script-tjeneste). De følgende eksempler illustrerer denne ide ved at instantierer tjenesterne Timer (tidstager) og Document (dokument) med nøgleordsargumenter.

        from scriptforge import CreateScriptService
        # Timer
        my_timer = CreateScriptService("Timer", start = True)
        # Document
        my_doc = CreateScriptService("Document", windowname = "some_file.ods")

For at gøre skrivning af Python-scripts mere flydende, leverer ScriptForge tjenesten Basic, som tillader Python-scripts at kalde en samling af metoder med den samme syntaks og betydning, som de Basics egne funktioner med de samme navne.

Det følgende eksempel instantierer tjenesten Basic og kalder metoden MsgBox (beskedfelt), som modsvarer funktionen MsgBox, der findes i Basic:

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")
        bas.MsgBox("Hello World!")

Vær opmærksom på, at i Python-scripts der bruger CreateScriptService-metoden, skal Basic-tjenesten være oprettet som en instans (instantieret).

Alle ScriptForge Basic-rutiner eller identifikatorer, der indledes med et understregstegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.

Relaterede emner

tjenesten ScriptForge.Basic

Udtrykket Set

GlobalScope-specikation