Inhalte

# Dienst ScriptForge.Platform

Der Dienst Platform stellt eine Sammlung von Eigenschaften über die aktuelle Ausführungsumgebung und den aktuellen Kontext bereit, beispielsweise:

- Die Hardwareplattform (Architektur, CPU-Anzahl, Maschinentyp, …)

- Informationen zum Betriebssystem (BS-Typ, Release, Version, …)

- Die LibreOffice-Version

- Den aktuellen Benutzernamen

Alle Eigenschaften des Dienstes Platform sind schreibgeschützt.

## Dienstaufruf

Vor der Verwendung des Dienstes Platform muss die Bibliothek ScriptForge geladen oder importiert werden:

• Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService

Die folgenden Beispiele in Basic und Python instanziieren den Dienst Platform und greifen auf die Eigenschaft Architecture zu.

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

## Eigenschaften

Name | Schreibgeschützt | Typ | Beschreibung
--- | --- | --- | ---
Architecture | Ja | String | Die Hardware-Bit-Architektur. Beispiel: '32bit' oder '64bit'
ComputerName | Ja | String | Der Netzwerkname des Computers.
CPUCount | Ja | Integer | Die Anzahl der CPUs.
CurrentUser | Ja | String | Der Name des aktuell angemeldeten Benutzers.
Extensions | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte Zeichenfolgenmatrix zurück, welche die internen IDs aller installierten Erweiterungen enthält.
FilterNames | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte, unsortierte Zeichenfolgenmatrix zurück, welche die verfügbaren Import- und Exportfilternamen für Dokumente enthält.
Fonts | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Namen aller verfügbaren Schriftarten enthält.
FormatLocale | Ja | String | Gibt das für Zahlen und Daten verwendete Gebietsschema als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück.
Locale | Ja | String | Gibt das Gebietsschema des Betriebssystems als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. Dies entspricht der Eigenschaft SystemLocale.
Machine | Ja | String | Der Maschinentyp. Beispielsweise: 'i386' oder 'x86_64'.
OfficeLocale | Ja | String | Gibt das Gebietsschema der Benutzeroberfläche als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück.
OfficeVersion | Ja | String | Die tatsächliche LibreOffice-Version, ausgedrückt als ' LibreOffice w.x.y.z (The Document Foundation)'. Beispiel: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'
OSName | Ja | String | Der Betriebssystemtyp. Beispielsweise: 'Darwin, Linux' oder 'Windows'.
OSPlatform | Ja | String | Eine einzelne Zeichenfolge, welche die zugrunde liegende Plattform mit so vielen nützlichen und für Menschen lesbaren Informationen wie möglich identifiziert. Beispielsweise: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Ja | String | Die BS-Version. Beispielsweise: '5.8.0-44-generic'
OSVersion | Ja | String | Der Build oder die Version des Betriebssystems. Beispeilsweise: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Ja | String array | Die Liste der verfügbaren Drucker als nullbasierte Matrix. Der Standarddrucker wird an die erste Position der Liste gesetzt (Index = 0).
Processor | Ja | String | Der echte Prozessorname. Beispielsweise: 'amdk6'. Diese Eigenschaft kann denselben Wert wie die Eigenschaft Machine zurückgeben.
PythonVersion | Ja | String | Gibt die Version des verwendeten Python-Interpreters als Zeichenfolge im Format „Python major.minor.patchlevel“ zurück (beispielsweise „Python 3.9.7“).
SystemLocale | Ja | String | Gibt das Gebietsschema des Betriebssystems als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. Dies entspricht der Eigenschaft Locale.
UntitledPrefix | Ja | String | Gibt das Präfix zurück, das zum Benennen neuer Dokumente verwendet wird (auf Englisch „Untitled“).
UserData | Ja | Dictionary | Gibt eine Instanz ScriptForge.Dictionary zurück, die Schlüssel-Wert-Paare in Bezug auf den Dialog Extras – Optionen… – Benutzerdaten enthält.

Eine umfassende Identifizierung des Betriebssystemnamens ist über die Berechnungsformel INFO("system") verfügbar.

### Beispiel:

##### In Basic

Die folgenden Beispiele in Basic und Python veranschaulichen, wie die Eigenschaft Fonts verwendet wird, um die Namen aller verfügbaren Schriftarten in die aktuelle Calc-Tabelle zu schreiben, beginnend bei Zelle "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)

Das folgende Beispiel zeigt, wie eine Calc-Tabelle mit allen Werten erstellt wird, die in der Eigenschaft UserData gespeichert sind, bei der es sich um eine Dienstinstanz von Dictionary handelt:

        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

Die obigen Beispiele können in Python wie folgt geschrieben werden:

        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-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind für den internen Gebrauch reserviert. Sie sind nicht für die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.

Verwandte Themen

Betriebssystem identifizieren

Plattforminformationen mit INFO("system") Calc-Formel

Funktion GetGuiType

Die Bibliothek Tools