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.

tip

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":

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 klasseforekomst af en ordbog; "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 klasseforekomst Timer, der starter øjeblikkelig
    Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
    ' Refererer til tjenesten DocumentEvent (dokumenthændelse), der er implementeret i det tilknyttede SFDocuments-bibliotek
    ' Returnerer den forekomst af klassen Document, der 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")
  
tip

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

Be aware that the Basic service has to be instantiated in Python scripts using the CreateScriptService method.


warning

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


Støt os venligst!