Vsebina

# Storitev ScriptForge.Platform

Storitev Platform ponuja zbirko lastnosti o trenutnem izvajalnem okolju in kontekstu, kot so:

- strojna platforma (arhitektura, število CPE, vrsta računalnika itn.),

- podatki o operacijskem sistemu (vrsta OS, izdaja, različica itn.),

- različica LibreOffice,

- ime trenutnega uporabnika

Vse lastnosti storitve Platform so samo za branje.

## Priklic storitve

Pred uporabo storitve Platform je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Spodnja primera v Basicu in Pythonu zaženeta storitev Platform in dostopata do lastnosti Architecture.

##### V Basicu

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

##### V Pythonu

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

## Lastnosti

Ime | Samo za branje | Vrsta | Opis
--- | --- | --- | ---
Architecture | Da | String | Bitnost arhitekture računalnika. Primer: '32bit' ali '64bit'
ComputerName | Da | String | Omrežno ime računalnika.
CPUCount | Da | Integer | Število CPE (centralnih procesnih enot).
CurrentUser | Da | String | Ime trenutno prijavljenega uporabnika.
Extensions | Da | Polje nizov | Vrne ničelno polje nizov, ki vsebujejo interne ID vseh nameščenih razširitev.
FilterNames | Da | Polje nizov | Vrne nerazvrščeno ničelno polje nizov, ki vsebuje razpoložljiva imena filtrov za uvoz in izvoz dokumentov.
Fonts | Da | Polje nizov | Vrne ničelno polje nizov, ki vsebujejo imena vseh pisav, ki so na voljo.
FormatLocale | Da | String | Vrne krajevno nastavitev za številke in datume kot niz v obliki »je-DR« (jezik-DRŽAVA).
Locale | Da | String | Vrne krajevno nastavitev operacijskega sistema kot niz v obliki »je-DR« (jezik-DRŽAVA). To je ekvivalent lastnosti SystemLocale.
Machine | Da | String | Vrsta računalnika. Primera: 'i386' ali 'x86_64'.
OfficeLocale | Da | String | Vrne krajevno nastavitev uporabniškega vmesnika kot niz v obliki »je-DR« (jezik-DRŽAVA).
OfficeVersion | Da | String | Dejanska različica LibreOffice, izražena kot ' LibreOffice w.x.y.z (The Document Foundation)'. Primer: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian in Ubuntu)'
OSName | Da | String | Vrsta operacijskega sistema. Primer: 'Darwin, Linux' ali 'Windows'.
OSPlatform | Da | String | Enojen niz, ki identificira platformo z največ možnih uporabnih in ljudem razumljivih informacij. Primer: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Da | String | Izdaja operacijskega sistema. Primer: '5.8.0-44-generic'
OSVersion | Da | String | Gradnja ali različica operacijskega sistema. Primer: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Da | String array | Seznam razpoložljivih tiskalnikov kot ničelno polje. Privzeti tiskalnik je postavljen na prvo mesto na seznamu (njegov indeks je enak 0).
Processor | Da | String | Dejansko ime procesorja. Primer: 'amdk6'. Ta lastnost lahko vrne isto vrednost kot lastnost Machine.
PythonVersion | Da | String | Vrne različico uporabljenega tolmača Pythona kot niz v zapisu »Python velika.mala.ravenpopravkov« (npr. »Python 3.9.7«).
SystemLocale | Da | String | Vrne krajevno nastavitev operacijskega sistema kot niz v obliki »je-DR« (jezik-DRŽAVA). To je ekvivalent lastnosti Locale.
UserData | Da | Dictionary | Vrne instanco storitve Dictionary, ki vsebuje pare ključ-vrednost glede na pogovorno okno Orodja – Možnosti – Uporabniški podatki.

### Primer:

##### V Basicu

Naslednji primeri v jezikih Basic in Python ilustrirajo, kako uporabimo lastnost Fonts za pisanje imen vseh razpoložljivih pisav v trenutni delovni list Calc z začetkom v celici »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)

Spodnji primer prikazuje, kako ustvarite tabelo Calc z vsemi vrednostmi, shranjenimi v lastnosti UserData, ki je instanca storitve Dictionary:

        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)

##### V Pythonu

Zgornje primere lahko zapišemo v Pythonu na sledeč način:

        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)

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Prepoznavanje operacijskega sistema

Podatki o platformi s formulo INFO("system") programa Calc

Funkcija GetGuiType

Knjižnica Tools