Obsah

# Služba ScriptForge.Platform

Služba Platform nabízí sadu vlastností popisujících aktuální běhové prostředí a kontext, jako jsou:

- Hardwarová platforma (architektura, počet procesorů, typ zařízení atd.)

- Informace o operačním systému (typ, vydání, verze atd.)

- Verze LibreOffice

- Jméno aktuálního uživatele

Všechny vlastnosti služby Platform jsou pouze pro čtení.

## Volání služby

Před používáním služby Platform je nutné načíst či naimportovat knihovnu ScriptForge pomocí:

• V makrech Basicu je nutné načíst knihovnu ScriptForge následujícím příkazem:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Ve skriptech Pythonu je nezbytné import z modulu scriptforge:
from scriptforge import CreateScriptService

V níže uvedených příkladech v Basicu a Pythonu je vytvořena instance služby Platform a je získán přístup k vlastnosti 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)

## Vlastnosti

Název | Pouze pro čtení | Typ | Popis
--- | --- | --- | ---
Architecture | ano | String | Bitová architektura hardwaru. Například: 32bit nebo 64bit.
ComputerName | ano | String | Název sítě počítače.
CPUCount | ano | Integer | Počet centrálních procesorových jednotek.
CurrentUser | ano | String | Jméno aktuálně přihlášeného uživatele.
Extensions | ano | pole řetězců (String) | Vrátí pole řetězců začínající od 0, které obsahuje interní identifikátory všech nainstalovaných rozšíření.
FilterNames | ano | pole řetězců (String) | Vrátí pole řetězců začínající od 0, které obsahuje názvy dostupných importních a exportních filtrů pro dokument.
Fonts | ano | pole řetězců (String) | Vrátí pole řetězců začínající od 0, které obsahuje názvy všech dostupných písem.
FormatLocale | ano | String | Vrátí národní prostředí používané pro čísla a data jako řetězec ve formátu "la-CO" (language-COUNTRY, jazyk a země).
Locale | ano | String | Vrátí národní prostředí operačního systému jako řetězec ve formátu "la-CO" (language-COUNTRY, jazyk a země). Odpovídá vlastnosti SystemLocale.
Machine | ano | String | Typ zařízení. Například: i386 nebo x86_64.
OfficeLocale | ano | String | Vrátí národní prostředí uživatelského rozhraní jako řetězec ve formátu "la-CO" (language-COUNTRY, jazyk a země).
OfficeVersion | ano | String | Aktuální verze LibreOffice zapsaná jako LibreOffice w.x.y.z (The Document Foundation). Příklad: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'
OSName | ano | String | Typ operačního systému: Například: Darwin, Linux nebo Windows.
OSPlatform | ano | String | Jediný řetězec uvádějící pro platformu, na které program běží, řadu užitečných a lidsky čitelných informací. Příklad: Linux-5.8.0-44-generic-x86_64-with-glibc2.32.
OSRelease | ano | String | Vydání operačního systému. Příklad: 5.8.0-44-generic.
OSVersion | ano | String | Číslo sestavení nebo verze operačního systému. Příklad: #50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021.
Printers | ano | String array | Seznam dostupných tiskáren jako pole začínající od 0. Na prvním místě tohoto seznamu (index = 0) se nachází výchozí tiskárna.
Processor | ano | String | Skutečný název procesoru. Příklad: amdk6. Tato vlastnost může vrátit stejnou hodnotu jako vlastnost Machine.
PythonVersion | ano | String | Vrátí verzi používaného interpretu Pythonu jako řetězec ve formátu "Python major.minor.patchlevel" (např.: "Python 3.9.7").
SystemLocale | ano | String | Vrátí národní prostředí operačního systému jako řetězec ve formátu "la-CO" (language-COUNTRY, jazyk a země). Odpovídá vlastnosti Locale.
UserData | ano | Dictionary | Vrátí instanci Dictionary obsahující dvojice klíč-hodnota vztahující se k dialogovému oknu Nástroje - Možnosti - Uživatelské údaje.

### Příklad:

##### V Basicu

Následující příkazy v Basicu a Pythonu ukazují, jak využít vlastnost Fonts k výpisu názvů všech dostupných písem na aktuální list Calcu do oblasti začínající buňkou 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)

Následující příklad ukazuje, jak vytvořit v Calcu tabulku se všemi hodnotami uloženými ve vlastnosti UserData, která je instancí služby 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

V Pythonu lze tyto příklady zapsat následovně:

        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)

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.

Související témata

Rozpoznávání operačního systému

Informace o platformě pomocí vzorce Calcu INFO("system")

Funkce GetGuiType

Knihovna Tools