Inhoud

# Service ScriptForge.Platform

De service Platform biedt een verzameling eigenschappen over de huidige uitvoeringsomgeving en context, zoals:

- Het hardwareplatform (architectuur, CPU-aantal, machinetype, enz.)

- Informatie over het besturingssysteem (type besturingssysteem, uitgaves, versie, enz.)

- De LibreOffice-versie

- De huidige gebruikersnaam

Alle eigenschappen van de service Platform zijn alleen-lezen.

## Service aanroep

Voordat de service Platform gebruikt kan worden, moet de bibliotheek ScriptForge eerst worden geladen of geïmporteerd:

• Basic macro's kunnen de bibliotheek ScriptForge laden met de instructie:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts kunnen de module scriptforge importeren met:
from scriptforge import CreateScriptService

De onderstaande voorbeelden in Basic en Python instantiëren de service Platform en openen de eigenschap Architecture.

##### In BASIC

          GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
          Dim platform As Variant
          platform = CreateScriptService("Platform")
          MsgBox platform.Architecture

##### In Python

          from scriptforge import CreateScriptService
          svc = CreateScriptService("Platform")
          bas = CreateScriptService("Basic")
          bas.MsgBox(svc.Architecture)

## Eigenschappen

Name | AlleenLezen | Type | Beschrijving
--- | --- | --- | ---
Architecture | Ja | String | De hardware-bit-architectuur. Voorbeeld: '32bit' of '64bit'
ComputerName | Ja | String | De netwerknaam van de computer
CPUCount | Ja | Integer | Het aantal centrale verwerkingseenheden.
CurrentUser | Ja | String | De naam van de momenteel aangemelde gebruiker.
Extensions | Ja | Tekenreeksmatrix | Retourneert een op nul gebaseerde matrix van tekenreeksen met de interne ID's van alle geïnstalleerde extensies.
FilterNames | Ja | Tekenreeksmatrix | Retourneert een op nul gebaseerde ongesorteerde matrix met tekenreeksen die de beschikbare filternamen voor documentimport en -export bevat.
Fonts | Ja | Tekenreeksmatrix | Retourneert een op nul gebaseerde matrix van tekenreeksen met de namen van alle beschikbare lettertypes.
FormatLocale | Ja | String | Retourneert de landinstelling die wordt gebruikt voor getallen en datums als een tekenreeks in de indeling "la-CO" (taal-LAND).
Locale | Ja | String | Retourneert de landinstelling van het besturingssysteem als een tekenreeks in de indeling "la-CO" (taal-LAND). Dit komt overeen met de eigenschap SystemLocale.
Machine | Ja | String | Het machinetype. Voorbeelden zijn: 'i386' en 'x86_64'.
OfficeLocale | Ja | String | Retourneert de landinstelling van de gebruikersinterface als een tekenreeks in de indeling "la-CO" (taal-LAND).
OfficeVersion | Ja | String | De werkelijke LibreOffice-versie uitgedrukt als ' LibreOffice w.x.y.z (The Document Foundation)'. Voorbeeld: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian en Ubuntu)'
OSName | Ja | String | Het type besturingssysteem. Voorbeeld: 'Darwin, Linux' en 'Windows'.
OSPlatform | Ja | String | Een enkele tekenreeks die het onderliggende platform identificeert met zoveel mogelijk bruikbare en voor mensen leesbare informatie. Voorbeeld: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Ja | String | De release van het besturingssysteem. Voorbeeld: '5.8.0-44-generiek'
OSVersion | Ja | String | De build of versie van het besturingssysteem. Voorbeeld : '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Ja | String array | De lijst met beschikbare printers als een op nul gebaseerde matrix. De standaardprinter wordt op de eerste positie van de lijst gezet (index = 0).
Processor | Ja | String | De echte processornaam. Voorbeeld: 'amdk6'. Deze eigenschap kan dezelfde waarde retourneren als de eigenschap Machine.
PythonVersion | Ja | String | Retourneert de versie van de Python-interpreter die wordt gebruikt als een tekenreeks in de indeling "Python major.minor.patchlevel" (bijvoorbeeld: "Python 3.9.7").
SystemLocale | Ja | String | Retourneert de landinstelling van het besturingssysteem als een tekenreeks in de indeling "la-CO" (taal-LAND). Dit komt overeen met de eigenschap Locale.
UserData | Ja | Dictionary | Retourneert een instantie Dictionary die sleutel-waardeparen bevat in relatie tot het dialoogvenster Extra - Opties - Gebruikersgegevens.

### Voorbeeld:

##### In BASIC

De volgende voorbeelden in Basic en Python illustreren hoe u de eigenschap Fonts gebruikt om de namen van alle beschikbare lettertypes naar het huidige Calc-blad te schrijven, beginnend bij cel "A1":

        Dim oDoc as Object
        Dim allFonts as Object
        Dim svcPlatform as Object
        Set oDoc = CreateScriptService("Calc")
        Set svcPlatform = CreateScriptService("Platform")
        allFonts = svcPlatform.Fonts
        oDoc.setArray("~.A1", allFonts)

Het onderstaande voorbeeld demonstreert hoe u een Calc-tabel kunt maken met alle waarden opgeslagen in de eigenschap UserData, wat een service-instantie van Dictionary is:

        Dim svcPlatform as Object, oUserData as Object, oDoc as Object
        Dim arrUserData As Object, currCell As String
        Set svcPlatform = CreateScriptService("Platform")
        oUserData = svcPlatform.UserData
        arrUserData = oUserData.ConvertToArray()
        Set oDoc = CreateScriptService("Calc", ThisComponent)
        oDoc.SetArray("~.A1", Array(Array("Key", "Value")))
        oDoc.SetArray("~.A2", arrUserData)

##### In Python

De bovenstaande voorbeelden kunnen als volgt in Python worden geschreven:

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Calc", bas.ThisComponent)
        svc_platform = CreateScriptService("Platform")
        all_fonts = svc_platform.Fonts
        doc.setArray("~.A1", all_fonts)

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Calc", bas.ThisComponent)
        svc_platform = CreateScriptService("Platform")
        user_data = svc_platform.UserData
        arr_user_data = [[key, user_data[key]] for key in user_data]
        doc.SetArray("~.A1", (("Key", "Value"),))
        doc.SetArray("~.A2", arr_user_data)

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.

Verwante onderwerpen

Identificatie van het besturingssysteem

Platforminformatie met INFO("system") Calc-formule

Functie GetGuiType

De Tools bibliotheek