Serviço ScriptForge.Platform

O serviço Platform fornece um conjunto de propriedades sobre o ambiente de execução atual e seu contexto, incluindo:

note

Todas as propriedades do serviço Platform são somente leitura.


Invocação do serviço

Antes de usar o serviço Platform a biblioteca ScriptForge precisa ser carregada ou importada:

note

• Macros BASIC precisam carregar a biblioteca ScriptForge usando a seguinte instrução:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Scripts Python exigem uma importação do módulo scriptforge:
from scriptforge import CreateScriptService


Os exemplos abaixo em Basic e Python criam uma instância do serviço Platform e acessam a propriedade Architecture.

Em Basic

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

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

Propriedades

Nome

Somente leitura

Tipo

Descrição

Architecture

Sim

String

A arquitetura do hardware. Exemplo: '32bit' ou '64bit'

ComputerName

Sim

String

Nome de rede do computador

CPUCount

Sim

Integer

Número de unidades centrais de processamento.

CurrentUser

Sim

String

Nome do usuário atualmente logado.

Extensions

Sim

Array de Strings

Retorna um Array de Strings contendo as IDs internas de todas as extensões instaladas.

FilterNames

Sim

Array de Strings

Retorna um Array de Strings não ordenado e indexado a partir de zero contendo os nomes dos filtros de importação e exportação de documentos disponíveis.

Fonts

Sim

Array de Strings

Retorna um array indexado a partir de zero contendo os nomes de todas as fontes disponíveis.

FormatLocale

Sim

String

Retorna a localidade usada para números e datas como uma string no formato "la-CO" (idioma-PAÍS).

Locale

Sim

String

Retorna a localidade do sistema operacional como uma string no formato "la-CO" (idioma-PAÍS). É equivalente à propriedade SystemLocale.

Machine

Sim

String

Tipo da máquina. Exemplos: 'i386' ou 'x86_64'.

OfficeLocale

Sim

String

Retorna a localidade da interface de usuário como uma string no formato "la-CO" (idioma-PAÍS).

OfficeVersion

Sim

String

Versão atual do LibreOffice expressa no formado
'LibreOffice w.x.y.z (The Document Foundation)'.

Exemplo: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'

OSName

Sim

String

Tipo do sistema operacional. Exemplo: 'Darwin, Linux' ou 'Windows'.

OSPlatform

Sim

String

String única e legível por humanos identificando a plataforma com a maior quantidade possível de informações.

Exemplo: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32'

OSRelease

Sim

String

Versão do sistema operacional. Exemplo: '5.8.0-44-generic'

OSVersion

Sim

String

Compilação ou versão do sistema operacional.

Exemplo: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'

Printers

Sim

String
array

Lista de impressoras disponíveis retornadas em um array indexado a partir de zero.

A impressora padrão é colocada na primeira posição da lista (índice = 0)

Processor

Sim

String

Nome real do processador. Exemplo: 'amdk6'.

Esta propriedade pode retornar o mesmo valor que a propriedade Machine.

PythonVersion

Sim

String

Retorna a versão do interpretador Python sendo usado como uma string no formato "Python major.minor.patchlevel" (ex: "Python 3.9.7").

SystemLocale

Sim

String

Retorna a localidade do sistema operacional como uma string no formato "la-CO" (idioma-PAÍS). É equivalente à propriedade Locale.

UserData

Sim

Dictionary

Retorna uma instância Dictionary contendo pares de valores-chaves da caixa de diálogo Ferramentas - Opções - Dados do usuário.


Exemplo:

Em Basic

Os exemplos a seguir em Basic e em Python ilustram como usar a propriedade Fonts para escrever os nomes de todas as fontes disponíveis no sistema na planilha Calc atual iniciando na célula "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)
  

O exemplo abaixo demonstra como criar uma tabela Calc com todos os valores armazenados na propriedade UserData, que é uma instância do serviço 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)
  
Em Python

Os exemplos acima podem ser escritos em Python da seguinte maneira:


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

Todas as rotinas ou identificadores do ScriptForge em Basic que possuem o caractere "_" como prefixo são reservadas para uso interno. Elas não devem ser usadas em macros escritas em Basic ou em Python.


♥ Doe para nosso projeto! ♥