Tartalom

# ScriptForge.Services service

A Services modul fő célja, hogy hozzáférést biztosítson a CreateScriptService metódushoz, amely a felhasználói parancsfájlokban meghívható a ScriptForge keretrendszerrel megvalósított szolgáltatáspéldányok létrehozására.

A ScriptForge terminológiájában a szolgáltatás olyan metódusok és tulajdonságok gyűjteménye, amelyek közös célra használhatók. Például a String szolgáltatás a karakterláncok manipulálására szolgáló módszereket biztosít, míg a FileSystem szolgáltatás a fájlok és mappák manipulálását teszi lehetővé.

A ScriptForge programkönyvtár Services modulja további metódusokat biztosít, amelyeket vagy belsőleg használnak a rendelkezésre álló szolgáltatások regisztrálására, vagy olyan fejlesztők használják, akik új szolgáltatások létrehozásával szeretnék bővíteni a ScriptForge-ot. A felhasználói parancsfájlok számára az egyetlen releváns metódus a CreateScriptService.

## CreateScriptService

This method is used to instantiate a ScriptForge service so it can be called in user scripts.

The returned value is a Basic object or Nothing if an error occurred.

### Szintaxis:

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

### Paraméterek:

service: The name of the service identified as a string in the format "library.service":

- The library is a Basic library that must exist in the GlobalScope. The default value is "ScriptForge".

- The service is one of the services registered by the ScriptForge library.

arg0, ...: A list of arguments required by the invoked service.

If the first argument refers to an event manager, then arg0 is mandatory and must be the UNO object representing the event provided as argument to the user macro.

### Példa:

##### A Basic nyelvben

        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        ' To be done once
        Dim svc As Object
        Set svc = CreateScriptService("Array")
        ' Refers to the "ScriptForge.Array" service or SF_Array
        Set svc = CreateScriptService("ScriptForge.Dictionary")
        ' Returns a new empty dictionary class instance; "ScriptForge." is optional
        Set svc = CreateScriptService("SFDocuments.Calc")
        ' Refers to the Calc service, implemented in the associated SFDocuments library
        Set svc = CreateScriptService("Timer", True)
        ' Returns a Timer class instance starting immediately
        Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
        ' Refers to the DocumentEvent service implemented in the associated SFDocuments library
        ' Returns the instance of the Document class that fired the event

##### A Python nyelvben

        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 support keyword arguments when calling CreateScriptService. The following example illustrates this concept by instantiating the Timer and Document services using keyword arguments.

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

A Python parancsfájlok írásának gördülékenyebbé tétele érdekében a ScriptForge biztosítja a Basic szolgáltatást, amely lehetővé teszi a Python parancsfájlok számára, hogy olyan metódusok gyűjteményét hívják meg, amelyek szintaxisa és jelentése megegyezik az azonos nevű natív Basic függvényekével.

The following example instantiates the Basic service and calls the MsgBox method, which is equivalent to the MsgBox function available in Basic:

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

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

All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "_" are reserved for internal use. They are not meant be used in Basic macros or Python scripts.

Kapcsolódó témakörök

ScriptForge.Basic service

Set Statement

GlobalScope specifier