Spis treści

# Usługa ScriptForge.Platform

Usługa Platform zawiera zbiór właściwości na temat bieżącego środowiska i kontekstu wykonania, takich jak:

- Platforma sprzętowa (architektura, liczba procesorów, typ maszyny itp.)

- Informacje o systemie operacyjnym (typ systemu operacyjnego, wydanie, wersja itp.)

- Wersja LibreOffice

- Nazwa bieżącego użytkownika

Wszystkie właściwości usługi Platform są tylko do odczytu.

## Wywoływanie usługi

Przed skorzystaniem z usługi Platform należy załadować lub zaimportować bibliotekę ScriptForge:

• Podstawowe makra wymagają załadowania biblioteki ScriptForge przy użyciu następującej instrukcji:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skrypty Pythona wymagają importu z modułu scriptforge:
from scriptforge import CreateScriptService

Poniższe przykłady w języku Basic i Python tworzą instancję usługi Platform i uzyskują dostęp do właściwości Architecture.

##### W języku Basic

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

##### W języku Python

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

## Właściwości

Nazwa | Tylko do odczytu | Typ | Opis
--- | --- | --- | ---
Architecture | Tak | String | Architektura bitowa sprzętu. Przykład: '32bit' lub '64bit'
ComputerName | Tak | String | Nazwa sieciowa komputera.
CPUCount | Tak | Integer | Liczba procesorów.
CurrentUser | Tak | String | Nazwa aktualnie zalogowanego użytkownika.
Extensions | Tak | Macierz ciągów znakowych | Zwraca tablicę ciągów znaków liczoną od zera zawierającą wewnętrzne identyfikatory wszystkich zainstalowanych rozszerzeń.
FilterNames | Tak | Macierz ciągów znakowych | Zwraca nieposortowaną macierz ciągów znakowych zawierającą dostępne nazwy filtrów importu i eksportu dokumentów.
Fonts | Tak | Macierz ciągów znakowych | Zwraca tablicę ciągów znakowych liczoną od zera zawierającą nazwy wszystkich dostępnych czcionek.
FormatLocale | Tak | String | Zwraca ustawienia regionalne używane dla liczb i dat jako ciąg znaków w formacie "la-CO" (język-KRAJ).
Locale | Tak | String | Zwraca ustawienia regionalne systemu operacyjnego jako ciąg znaków w formacie "la-CO" (język-KRAJ). Jest to odpowiednik właściwości SystemLocale.
Machine | Tak | String | Typ maszyny. Przykładami są: 'i386' lub 'x86_64'.
OfficeLocale | Tak | String | Zwraca ustawienia regionalne interfejsu użytkownika jako ciąg znaków w formacie "la-CO" (język-KRAJ).
OfficeVersion | Tak | String | Rzeczywista wersja LibreOffice wyrażona jako ' LibreOffice w.x.y.z (The Document Foundation)'. Przykład: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'
OSName | Tak | String | Typ systemu operacyjnego. Przykład: 'Darwin, Linux' lub 'Windows'.
OSPlatform | Tak | String | Pojedynczy ciąg znaków identyfikujący platformę bazową i zawierający możliwie najwięcej przydatnych i czytelnych dla człowieka informacji. Przykład: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Tak | String | Wydanie systemu operacyjnego. Przykład: '5.8.0-44-generic'
OSVersion | Tak | String | Kompilacja lub wersja systemu operacyjnego. Przykład: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Tak | String array | Lista dostępnych drukarek w postaci tablicy liczonej od zera. Domyślna drukarka jest umieszczana na pierwszej pozycji listy (indeks = 0).
Processor | Tak | String | Prawdziwa nazwa procesora. Przykład: 'amdk6'. Ta właściwość może zwracać tę samą wartość, co właściwość Machine.
PythonVersion | Tak | String | Zwraca wersję interpretera Pythona używaną jako ciąg znaków w formacie "Python major.minor.patchlevel" (np. "Python 3.9.7").
SystemLocale | Tak | String | Zwraca ustawienia regionalne systemu operacyjnego jako ciąg znaków w formacie "la-CO" (język-KRAJ). Jest to odpowiednik właściwości Locale.
UserData | Tak | Dictionary | Zwraca instancję Dictionary zawierającą pary klucz-wartość powiązane z oknem dialogowym Narzędzia - Opcje - Dane użytkownika.

### Przykład:

##### W języku Basic

Poniższe przykłady w językach Basic i Python ilustrują sposób użycia właściwości Fonts do zapisania nazw wszystkich dostępnych czcionek w bieżącym arkuszu programu Calc, zaczynając od komórki "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)

Poniższy przykład ilustruje sposób utworzenia tabeli Calc zawierającej wszystkie wartości zapisane we właściwości UserData będącej instancją usługi 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)

##### W języku Python

Powyższe przykłady można zapisać w Pythonie w następujący sposób:

        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)

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.

Tematy pokrewne

Identyfikacja systemu operacyjnego

Informacje o platformie z formułą Calc INFO("system")

Funkcja GetGuiType

BibliotekaNarzędziowa