ScriptForge.Services-tjeneste

Innhold

# ScriptForge.Tjenester tjeneste

Hovedformålet med modulen Tjenester er å gi tilgang til metoden CreateScriptService, som kan kalles inn brukerskript for å instansiere tjenester som er implementert ved hjelp av ScriptForge-rammeverket.

I ScriptForge-terminologi er en tjeneste en samling metoder og egenskaper som kan brukes til et felles formål. For eksempel gir Streng-tjenesten metoder for å manipulere strenger, mens FileSystem-tjenesten tillater manipulering av filer og mapper.

Modulen Tjenester i ScriptForge-biblioteket gir tilleggsmetoder som brukes enten internt for å registrere tilgjengelige tjenester eller av utviklere som er interessert i å utvide ScriptForge ved å lage nye tjenester. Den eneste metoden som er relevant for brukerskript er CreateScriptService.

## CreateScriptService

Denne metoden brukes til å instansiere en ScriptForge-tjeneste slik at den kan kalles opp i brukerskript.

Den returnerte verdien er et Basic-objekt eller Ingenting hvis det oppstod en feil.

### Syntaks:

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

### Parametre:

tjeneste: Navnet på tjenesten identifisert som en streng i formatet "library.service":

- biblioteket er et grunnleggende bibliotek som må eksistere i GlobalScope. Standardverdien er "ScriptForge".

- tjenesten er en av tjenestene som er registrert av ScriptForge-biblioteket.

arg0, ...: En liste over argumenter som kreves av den påkalte tjenesten.

Hvis det første argumentet refererer til en hendelsesbehandler, er arg0 obligatorisk og må være UNO-objektet som representerer hendelsen som er gitt som argument til brukermakroen.

### Eksempel:

##### I Basic

        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        ' Skal gjøres en gang
        Dim svc As Object
        Set svc = CreateScriptService("Array")
        ' Refererer til "ScriptForge.Array"-tjenesten eller SF_Array
        Set svc = CreateScriptService("ScriptForge.Dictionary")
        ' Returnerer en ny tom ordbokklasseforekomst; "ScriptForge." er valgfritt
        Set svc = CreateScriptService("SFDocuments.Calc")
        ' Refererer til Calc-tjenesten, implementert i det tilknyttede SFDocuments-biblioteket
        Set svc = CreateScriptService("Timer", True)
        ' Returnerer en Timer-klasseforekomst som starter umiddelbart
        Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
        ' Refererer til DocumentEvent-tjenesten implementert i det tilknyttede SFDocuments-biblioteket
        ' Returnerer forekomsten av Document-klassen som utløste hendelsen

##### 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-skript støtter søkeordargumenter når du kaller CreateScriptService. Følgende eksempel illustrerer dette konseptet ved å instansiere Timer og Dokument-tjenestene ved å bruke søkeordargumenter.

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

For å gjøre skriving av Python-skript mer flytende, tilbyr ScriptForge Basic-tjenesten som lar Python-skript kalle en samling metoder med samme syntaks og betydning som deres homonyme opprinnelige Basic-funksjoner.

Følgende eksempel instansierer Basic-tjenesten og kaller opp MsgBox-metoden, som tilsvarer MsgBox-funksjonen som er tilgjengelig i Basic:

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

Vær oppmerksom på at Basic-tjenesten må instansieres i Python-skript ved å bruke CreateScriptService-metoden.

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.

Lignende emner

ScriptForge.Grunnleggende tjeneste

Sett uttrykk

GlobalScope-spesifikasjonselement