Contenuto

# Servizio ScriptForge.Platform

Il servizio Platform fornisce una raccolta di proprietà relative all'ambiente e al contesto di esecuzione correnti, come:

- La piattaforma hardware (architettura, numero di CPU, tipo di macchina, e via discorrendo)

- Informazioni sul sistema operativo (tipo, versione, ecc.)

- La versione di LibreOffice

- Il nome utente in uso

Tutte le proprietà del servizio Platform sono di sola lettura.

## Invocazione del servizio

Prima di usare il servizio Platform è necessario caricare o importare le librerie ScriptForge:

• Le macro in Basic richiedono il caricamento della libreria ScriptForge usando la seguente istruzione:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Gli script in Python richiedono un'importazione dal modulo scriptforge:
from scriptforge import CreateScriptService

Gli esempi sottostanti in Basic e Python istanziano il servizio Platform e accedono alla proprietà Architecture.

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

## Proprietà

Nome | Sola lettura | Tipo | Descrizione
--- | --- | --- | ---
Architecture | Sì | String | I bit dell'architettura hardware. Esempio: '32bit' o '64bit'
ComputerName | Sì | String | Il nome di rete del computer.
CPUCount | Sì | Integer | Il numero di processori.
CurrentUser | Sì | String | Il nome dell'utente attualmente connesso.
Extensions | Sì | Matrice di stringhe | Restituisce una matrice di stringhe con indice a partire da zero contenente gli ID interni di tutte le estensioni installate.
FilterNames | Sì | Matrice di stringhe | Restituisce una matrice di stringhe non ordinata, con indice a partire da zero, contenente i nomi dei filtri di importazione ed esportazione disponibili per il documento.
Fonts | Sì | Matrice di stringhe | Restituisce una matrice di stringhe, con indice a partire da zero, che contiene i nomi di tutti i caratteri disponibili.
FormatLocale | Sì | String | Restituisce le impostazioni locali usate per numeri e date in formato di stringa "li-PA" (lingua-PAESE).
Locale | Sì | String | Restituisce le impostazioni locali del sistema operativo in formato stringa "li-PA" (lingua-PAESE). È equivalente alla proprietà SystemLocale.
Machine | Sì | String | Il tipo di macchina. Esempi: 'i386' o 'x86_64'.
OfficeLocale | Sì | String | Restituisce le impostazioni locali dell'interfaccia utente in formato stringa "li-PA" (lingua-PAESE).
OfficeVersion | Sì | String | La versione in uso di LibreOffice espressa come ' LibreOffice w.x.y.z (The Document Foundation)'. Esempio: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'
OSName | Sì | String | Il tipo di sistema operativo. Esempio: 'Darwin, Linux' o 'Windows'.
OSPlatform | Sì | String | Una stringa singola che identifica la piattaforma sottostante con quante più informazioni utili possibili in un formato leggibile dagli umani. Esempio: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Sì | String | La versione di rilascio del sistema operativo. Esempio: '5.8.0-44-generic'
OSVersion | Sì | String | La versione o il numero di compilazione del sistema operativo. Esempio: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers | Sì | String array | L'elenco delle stampanti disponibili in una matrice con indice a partire da zero. La stampante predefinita è inserita nella prima posizione dell'elenco (index=0)
Processor | Sì | String | Il nome reale del processore. Esempio: 'amdk6'. Questa proprietà potrebbe restituire lo stesso valore della proprietà Machine.
PythonVersion | Sì | String | Restituisce la versione dell'interprete di Python in uso come stringa nel formato "Python versione_principale.minore.livello_di_patch" (es: "Python 3.9.7").
SystemLocale | Sì | String | Restituisce le impostazioni locali del sistema operativo in formato stringa "li-PA" (lingua-PAESE). Equivale alla proprietà Locale.
UntitledPrefix | Sì | String | Restituisce il prefisso usato per assegnare il nome ai nuovi documenti ("Senza nome " in italiano).
UserData | Sì | Dictionary | Restituisce un'istanza di ScriptForge.Dictionary contenente delle coppie di chiavi-valori relative alla finestra di dialogo Strumenti - Opzioni - Dati utente.

Un'identificazione estesa del nome del sistema operativo è disponibile tramite la formula di Calc INFO("system").

### Esempio:

##### In Basic

Gli esempi seguenti in Basic e Python illustrano come usare la proprietà Fonts per scrivere i nomi di tutti i caratteri disponibili nel foglio corrente di Calc a partire dalla cella "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)

L'esempio seguente spiega come creare una tabella di Calc con tutti i valori memorizzati nella proprietà UserData, che è un'istanza del servizio 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)

##### In Python

Gli esempi qui sopra possono essere scritti in Python come segue:

        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)

Tutte le routine e gli identificatori Basic di ScriptForge che iniziano con un carattere di sottolineatura "_" sono riservati per uso interno. Non è previsto il loro utilizzo nelle macro in Basic o negli script in Python.

Argomenti correlati

Identificazione del sistema operativo

Informazioni sulla piattaforma con la formula di Calc INFO("system")

Funzione GetGuiType

La libreria Tools