Contenu

# Service ScriptForge.Platform

Le service Platform fournit une collection de propriétés sur l'environnement et le contexte d'exécution actuels, telles que :

- La plate-forme matérielle (architecture, nombre de CPU, type de machine, etc.)

- Informations sur le système d'exploitation (type de système d'exploitation, version, etc.)

- La version de LibreOffice

- Le nom d'utilisateur actuel

Toutes les propriétés du service Platform sont en lecture seule.

## Invocation du service

Avant d'utiliser le service Platform, la bibliothèque ScriptForge doit être chargée ou importée :

• Les macros Basic nécessitent de charger la bibliothèque ScriptForge à l'aide de l'instruction suivante :
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Les scripts Python nécessitent un import depuis le module scriptforge :
from scriptforge import CreateScriptService

Les exemples ci-dessous en Basic et Python instancient le service Platform et accèdent à la propriété Architecture.

##### En Basic :

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

##### En Python

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

## Propriétés

Nom | Lecture seule | Type | Description
--- | --- | --- | ---
Architecture | Oui | String | L'architecture du bit matériel. Exemple : '32bit' ou '64bit'
ComputerName | Oui | String | Le nom du réseau de l'ordinateur.
CPUCount | Oui | Integer | Le nombre d'unités centrales de traitement.
CurrentUser | Oui | String | Le nom de l'utilisateur actuellement connecté.
Extensions | Oui | Matrice de chaîne | Renvoie une matrice de chaînes de base zéro contenant les ID internes de toutes les extensions installées.
FilterNames | Oui | Matrice de chaîne | Renvoie une matrice non triée de base zéro de chaînes contenant les noms de filtres d'import et d'export de documents disponibles.
Fonts | Oui | Matrice de chaîne | Renvoie une matrice de chaînes de base zéro contenant les noms de toutes les polices disponibles.
FormatLocale | Oui | String | Renvoie les paramètres régionaux utilisés pour les nombres et les dates sous forme de chaîne au format "la-CO" (langue-PAYS).
Locale | Oui | String | Renvoie les paramètres régionaux du système d'exploitation sous forme de chaîne au format "la-CO" (langue-PAYS). Cela équivaut à la propriété SystemLocale.
Machine | Oui | String | Le type de machines. Exemples : 'i386' ou 'x86_64'.
OfficeLocale | Oui | String | Renvoie les paramètres régionaux de l'interface utilisateur sous forme de chaîne au format "la-CO" (langue-PAYS).
OfficeVersion | Oui | String | La version réelle de LibreOffice exprimée sous la forme ' LibreOffice w.x.y.z (The Document Foundation)'. Exemple : 'LibreOffice 7.4.1.2 (The Document Foundation, Debian et Ubuntu)'
OSName | Oui | String | Le type de système d'exploitation. Exemple : 'Darwin, Linux' ou 'Windows'.
OSPlatform | Oui | String | Une seule chaîne identifiant la plate-forme sous-jacente avec autant d'informations utiles et lisibles par l'homme que possible. Exemple : 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'
OSRelease | Oui | String | La version du système d'exploitation. Exemple : '5.8.0-44-generic'
OSVersion | Oui | String | La version du système d'exploitation. Exemple : '#50-Ubuntu SMP Mar 9 février 06:29:41 UTC 2021'
Printers | Oui | String array | La liste des imprimantes disponibles sous la forme d'une matrice de base zéro. L'imprimante par défaut est placée en première position de la liste (index = 0).
Processor | Oui | String | Le vrai nom du processeur. Exemple : 'amdk6'. Cette propriété peut renvoyer la même valeur que la propriété Machine.
PythonVersion | Oui | String | Renvoie la version de l'interpréteur Python utilisé sous forme de chaîne au format "Python major.minor.patchlevel" (ex : "Python 3.9.7").
SystemLocale | Oui | String | Renvoie les paramètres régionaux du système d'exploitation sous forme de chaîne au format "la-CO" (langue-PAYS). Ceci est équivalent à la propriété Locale.
UserData | Oui | Dictionary | Renvoie une instance de Dictionary contenant des paires clé-valeur en relation avec la boîte de dialogue Outils - Options - Données utilisateur.

### Exemple :

##### En Basic :

Les exemples suivants en Basic et Python illustrent comment utiliser la propriété Fonts pour écrire les noms de toutes les polices disponibles dans la feuille Calc active à partir de la cellule "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'exemple ci-dessous montre comment créer une table Calc avec toutes les valeurs stockées dans la propriété UserData, qui est une instance de service 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)

##### En Python

Les exemples ci-dessus peuvent être écrits en Python comme suit :

        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)

Toutes les routines ou identifiants de base ScriptForge qui sont préfixés par un caractère de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans des macros de base ou des scripts Python.

Rubriques connexes

identifier le système d'exploitation

Informations sur la plate-forme avec la formule INFO("system") Calc

Fonction GetGuiType

La bibliothèque Tools