ScriptForge.Platform serviço

O serviço Platform disponibiliza um conjunto de propriedades relativas ao ambiente e ao contexto de execução atuais, tais como:

Ícone de nota

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


Chamada de serviço

Antes de utilizar o serviço Platform, é necessário carregar ou importar a biblioteca ScriptForge:

Ícone de nota

• As macros básicas requerem o carregamento da biblioteca ScriptForge através da seguinte instrução:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Os scripts Python requerem a importação do módulo scriptforge:
from scriptforge import CreateScriptService


Os exemplos abaixo, em Basic e Python, instanciam o serviço Platform e acedem à 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)
    

Características

Nome

Apenas leitura

Tipo

Descrição

Architecture

Sim

String

A arquitetura de bits do hardware. Exemplo: «32 bits» ou «64 bits»

ComputerName

Sim

String

O nome de rede do computador.

CPUCount

Sim

Integer

O número de unidades centrais de processamento.

CurrentUser

Sim

String

O nome do utilizador que está atualmente a iniciar sessão.

Extensions

Sim

Matriz de cadeias de caracteres

Devolve uma matriz de cadeias de caracteres, com índice a partir de zero, que contém os IDs internos de todas as extensões instaladas.

FilterNames

Sim

Matriz de cadeias de caracteres

Devolve uma matriz de cadeias de caracteres, sem ordenação e com índice a partir de zero, que contém os nomes dos filtros de importação e exportação de documentos disponíveis.

Fonts

Sim

Matriz de cadeias de caracteres

Devolve uma matriz de cadeias de caracteres, com índice a partir de zero, que contém os nomes de todos os tipos de letra disponíveis.

FormatLocale

Sim

String

Devolve a localização utilizada para números e datas como uma cadeia de caracteres no formato «la-CO» (língua-PAÍS).

Locale

Sim

String

Devolve a localização do sistema operativo como uma cadeia de caracteres no formato «la-CO» (língua-PAÍS). Isto é equivalente à propriedade SystemLocale.

Machine

Sim

String

O tipo de máquina. Exemplos: «i386» ou «x86_64».

OfficeLocale

Sim

String

Devolve a localização da interface do utilizador como uma cadeia de caracteres no formato «la-CO» (língua-PAÍS).

OfficeVersion

Sim

String

A versão atual do LibreOffice, expressa como
' LibreOffice w.x.y.z (The Document Foundation)'.

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

OSName

Sim

String

O tipo de sistema operativo. Exemplo: «Darwin, Linux» ou «Windows».

OSPlatform

Sim

String

Uma única sequência de caracteres que identifica a plataforma subjacente, contendo o máximo possível de informação útil e legível para o utilizador.

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

OSRelease

Sim

String

A versão do sistema operativo. Exemplo: '5.8.0-44-generic'

OSVersion

Sim

String

A compilação ou versão do sistema operativo.

Exemplo: '#50-Ubuntu SMP Ter 9 de fevereiro 06:29:41 UTC 2021'

Printers

Sim

String
array

A lista de impressoras disponíveis como um array com índice zero.

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

Processor

Sim

String

O nome real do processador. Exemplo: 'amdk6'.

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

PythonVersion

Sim

String

Devolve a versão do interpretador Python que está a ser utilizada como uma cadeia de caracteres no formato «Python major.minor.patchlevel» (por exemplo: «Python 3.9.7»).

SystemLocale

Sim

String

Devolve a localização do sistema operativo como uma cadeia de caracteres no formato «la-CO» (língua-PAÍS). Isto é equivalente à propriedade Locale.

UntitledPrefix

Sim

String

Devolve o prefixo utilizado para nomear novos documentos («Untitled » em inglês).

UserData

Sim

Dictionary

Devolve uma instância ScriptForge.Dictionary que contém pares chave-valor relacionados com a caixa de diálogo Ferramentas - Opções - Dados do utilizador.


Ícone de nota

Está disponível uma lista exaustiva de nomes de sistemas operativos na fórmula de cálculo INFO("system").


Exemplo:

Em Basic

Os exemplos seguintes em Basic e Python ilustram como utilizar a propriedade Fonts para escrever os nomes de todos os tipos de letra disponíveis na folha atual do Calc, começando 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 mostra como criar uma tabela no 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 forma:


    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)
  
Ícone de aviso

Todas as rotinas ou identificadores do ScriptForge Basic que tenham o caractere de sublinhado «_» como prefixo estão reservados para uso interno. Não se destinam a ser utilizados em macros do Basic ou em scripts Python.


Necessitamos da sua ajuda!

Necessitamos da sua ajuda!