Indhold

# Tjenesten ScriptForge.Platform

Tjenesten Platform giver en samling af egenskaber vedrørerende det aktuelle kørselsmiljø og kontekst, såsom:

- Den fysiske platform (arkitektur, CPU antal, maskintype og så videre)

- Information og operativsystem (type af operativsystem, udgivelse, version og så videre)

- LibreOffice version

- Det aktuelle brugernavn

Alle egenskaber i tjenesten Platform er skrivebeskyttet.

## Kald af tjeneste

Før brug af tjenesten Platformskal biblioteket ScriptForge være indlæst eller importeret:

• Basic-makroer kræver, at biblioteket ScriptForge indlæses med følgende udtryk:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-scripts kræver import af scriptforge-modulet:
from scriptforge import CreateScriptService

Eksemplerne herunder på Basic og Python instantierer tjenesten Platform og tilgår egenskaben Platform.

##### I Basic

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

##### I Python

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

## Egenskaber

Navn | Skrivebeskyttet | Type | Beskrivelse
--- | --- | --- | ---
Architecture | Ja | String | Hardwarens bit-arkitektur. Eksempel: '32bit' eller '64bit'
ComputerName | Ja | String | Computerens netværksnavn.
CPUCount | Ja | Integer | Antallet af centrale processeringsenheder (CPUer).
CurrentUser | Ja | String | Navnet på den aktuelt loggede bruger.
Extensions | Ja | Streng-array | Returnerer et array af strenge, med nul som første indeks, der indeholder de interne ID'er på alle installerede udvidelser.
FilterNames | Ja | Streng-array | Returnerer et usorteret array med begyndelsesindeks 0, med strenge som indeholder navnene på de tilgængelige filtre til dokumentimport og -export.
Fonts | Ja | Streng-array | Returnerer et array af strenge med 0 som første indeks, der indeholder navnene på alle tilgængelige fonte.
FormatLocale | Ja | String | Returnerer den lokalisering , der bruges til tal og datoer, som en streng i formatet "la-CO" (language-COUNTRY = sprog-LAND).
Locale | Yes | String | Returnerer operativsystemets lokalisering (sprogindstilling) som en streng i formatet "la-CO" (language-COUNTRY = sprog-LAND). Den svarer til egenskaben SystemLocale (system_lokalisering).
Machine | Ja | String | Maskintype. Eksempler er: 'i386' eller 'x86_64'.
OfficeLocale | Ja | String | Returnerer brugerfladens lokalisering (sprogindstilling) som en streng i formatet "la-CO" (language-COUNTRY = sprog-LAND).
OfficeVersion | Ja | String | Den aktuelle LibreOffice version, udtrykt som ' LibreOffice w.x.y.z (The Document Foundation)'. Eksempel: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian og Ubuntu)'
OSName | Ja | String | Typen af operativsystem. Eksempel: 'Darwin, Linux' eller 'Windows'.
OSPlatform | Ja | String | En enkelt streng, der identificerer den underliggende platform med så megen nyttig og menneskeligt læsbar information som muligt. Eksempel: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Ja | String | Operativsystemets udgave. Eksempel: '5.8.0-44-generic'
OSVersion | Ja | String | Operativsystemets byggenummer eller version. Eksempel: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Ja | String array | Listen over tilgængelige printere som et array med 0 som første indeks. Standardprinteren står øverst på listen (indeks = 0).
Processor | Ja | String | Det faktiske processornavn. Eksempel: 'amdk6'. Denne egenskab kan returnere den samme værdi som egenskaben Machine ,
PythonVersion | Yes | String | Returnerer versionen på den Python-oversætter, der bruges, som en streng i formatet "Python major.minor.patchlevel" (fx: "Python 3.9.7").
SystemLocale | Ja | String | Returnerer operativsystemets lokalisering som en streng i formatet "la-CO" (language-COUNTRY = sprog-LAND). Den svarer til egenskaben Locale (lokalisering).
UntitledPrefix | Ja | String | Returnerer præfikset, som bruges til at navngive nye dokumenter ("Unavngivet" på dansk).
UserData | Ja | Dictionary | Returnerer en instans af ScriptForge.Dictionary, som indeholder nøgle-værdi-par tilsvarende indstillingerne i dialogen Funktioner ▸ Indstillinger ▸ Brugerdata.

Uddybede operativsystem navneidentifikation er tilgængelig med Calc-formlen INFO("osversion").

### Eksempel:

##### I Basic

De følgende eksempler i Basic og Python viser, hvordan egenskaben Fonts (Skrifttyper) bruges til at skrive navnene på alle tilgængelige skrifttyper til det aktuelle Calc-ark begyndende med celle "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)

Eksemplet herunder viser, hvor du kan oprette en Calc-tabel med alle værdierne gemt i UserData-egenskaben, som er en instans af Dictionary-tjenesten:

        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)

##### I Python

Eksemplerne ovenfor kan skrives i Python som følger:

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

Identifikation af operativsystemet

Platform- information med Calc-formlen INFO("system")

GetGuiType-funktion

Biblioteket Tools

Støt os venligst!