4D v16.3PLATFORM PROPERTIES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
PLATFORM PROPERTIES
|
PLATFORM PROPERTIES ( plataforma {; sistema {; processador {; linguagem}}} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
plataforma | Inteiro longo |
![]() |
2 = Mac OS, 3 = Windows | |||||
sistema | Inteiro longo |
![]() |
Depende da versão que utilize | |||||
processador | Inteiro longo |
![]() |
Família do processador | |||||
linguagem | Inteiro longo |
![]() |
Depende do sistema que utilize | |||||
O comando PLATFORM PROPERTIES devolve informação sobre o tipo de sistema operativo que está utilizando, a versão e a linguagem do sistema operativo, como também o processador instalado em seu equipo.
PLATFORM PROPERTIES devolve a informação nos parâmetros plataforma, sistema, processador e linguagem.
Constante | Tipo | Valor |
Mac OS | Inteiro longo | 2 |
Windows | Inteiro longo | 3 |
Se está executando uma versão Mac OS de 4D, o parâmetro sistema devolve um valor de 32 bits (Inteiro longo), no qual a palavra de nível mais alta não se utiliza e a palavra de nível mais baixa se estrutura desta forma:
- O byte superior contém o número de versão principal,
- O byte inferior está composto de dois quartetos ou nibbles (conjuntos de 4 bits). O nível superior é o número de atualização principal e o nibble inferior o número de atualização secundaria. Exemplo: o sistema 9.0.4 está codificado como $0904, desta maneira você recebe o valor decimal 2308.
Nota: em 4D, pode extrair estes valores utilizando os Operadores Numéricos % (módulo) e \ (divisão inteira) ou os Operadores de bit.
Utilize a seguinte fórmula para conhecer o número de versão principal de Mac OS:
PLATFORM PROPERTIES($vlPlatform;$vlSystem)
$vlResult:=$vlSystem\256
//If $vlResult = 16 --> você está usando Mac OS 10.x
//If $vlResult # 16 --> você está usando outra versão de Mac OS
Se está executando uma versão Windows de 4D, o parâmetro sistema devolve um valor 32 bits (Inteiro longo), os bits e os bytes estão estruturados assim:
Se o bit superior vale 0, significa que você está utilizando Windows NT, Windows 2000, Windows XP ou Windows Vista. Se o bit vale 1, significa que está utilizando Windows 95 ou Windows 98 (ambos obsoletos).
Nota: o bit superior determina a sinal do valor Inteiro longo. Portanto, em 4D, somente é necessário provar a sinal do valor; se é positivo você está baixo Windows NT, Windows 2000, Windows XP ou Windows Vista. Igualmente pode utilizar Operadores de bit.
O octeto inferior da o número de versão principal de Windows
O octeto inferior seguinte da o número de versão secundaria de Windows. Baixo Windows 95, este valor é 0.
Nota: em 4D, pode extrair estes valores utilizando os Operadores Numéricos % (módulo) e \ (divisão inteira) ou os Operadores de bit.
Constante | Tipo | Valor |
Power PC | Inteiro longo | 406 |
Intel compatible | Inteiro longo | 586 |
Código | Linguagem |
1 | Árabe |
2 | Búlgaro |
3 | Catalão |
4 | Chinês |
5 | Checo |
6 | Danes |
7 | Alemão |
8 | Grego |
9 | Inglês |
10 | Espanhol |
11 | Finlandês |
12 | Francês |
13 | Hebraico |
14 | Húngaro |
15 | Islandês |
16 | Italiano |
17 | Japonês |
18 | Coreano |
19 | Holandês |
20 | Norueguês |
21 | Polonês |
22 | Português |
24 | Romano |
25 | Russo |
26 | Croata |
26 | Sérvio |
27 | Esloveno |
28 | Albanês |
29 | Suíço |
30 | Tailandês |
31 | Turco |
33 | Indonésio |
34 | Ucraniano |
35 | Bielorruso |
36 | Esloveno |
37 | Estoniano |
38 | Letão |
39 | Lituano |
41 | Persa |
42 | Vietnamita |
45 | Basco |
54 | Africano |
56 | Feróica |
Nota: se o comando não pode identificar a linguagem do sistema, se devolve o valor 9 (inglês).
O seguinte método de projeto mostra uma caixa de diálogo de alerta descrevendo o sistema operativo utilizando:
` Método de projeto SHOW OS VERSION
PLATFORM PROPERTIES($vlPlataforma;$vlSistema;$vlMachine)
]If(($vlPlataforma<2)|($vlPlataforma>3))
$vsPlataformaOS:=""
Else
If($vlPlataforma=Windows)
$vsPlataformaOS:=""
If($vlSistema<0)
$winMajVers:=((2^31)+$vlSistema)%256
$winMinVers:=(((2^31)+$vlSistema)\256)%256
If($winMinVers=0)
$vsPlataformaOS:="Windows™ 95"
Else
$vsPlataformaOS:="Windows™ 98"
End if
Else
$winMajVers:=$vlSistema%256
$winMinVers:=($vlSistema\256)%256
Case of
:($winMajVers=4)
$vsPlataformaOS:="Windows™ NT"
:($winMajVers=5)
Case of
:($winMinVers=0)
$vsPlataformaOS:="Windows™ 2000"
:($winMinVers=1)
$vsPlataformaOS:="Windows™ XP"
:($winMinVers=2)
$vsPlatformOS:="Windows™ 2003"
Else
$vsPlataformaOS:="Windows (versão indeterminada)"
End case
:($winMajVers=6)
Case of
:($winMinVers=0)
$vsPlataformaOS:="Windows™ Vista"
:($winMinVers=1)
$vsPlataformaOS:="Windows™ Seven"
Else
$vsPlataformaOS:="Windows (versão indeterminada)"
End case
End case
End if
$vsPlataformaOS:=$vsPlataformaOS+" versão "+String($winMajVers)+"."+String($winMinVers)
Else
$vsPlataformaOS:="Mac OS™ versão "
If(($vlSistema\256)=16)
$vsPlataformaOS:=$vsPlataformaOS+"10"
Else
$vsPlataformaOS:=$vsPlataformaOS+String($vlSistema\256)
End if
$vsPlataformaOS:=$vsPlataformaOS+"."+String(($vlSistema\16)%16)+
(("."+String($vlSistema%16))*Num(($vlSistema%16)#0))
End if
End if
ALERT($vsPlataformaOS)
Em Windows, obtenha uma caixa de diálogo similar a esta:
Em Macintosh, obtenha uma caixa de diálogo similar a esta:
Produto: 4D
Tema: Ambiente de Sistema
Número
365
Modificado: 4D v11 SQL
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)