4D v16.3

PLATFORM PROPERTIES

Página Inicial

 
4D v16.3
PLATFORM PROPERTIES

PLATFORM PROPERTIES 


 

PLATFORM PROPERTIES ( plataforma {; sistema {; processador {; linguagem}}} )  
Parâmetro Tipo   Descrição
plataforma  Inteiro longo in 2 = Mac OS, 3 = Windows
sistema  Inteiro longo in Depende da versão que utilize
processador  Inteiro longo in Família do processador
linguagem  Inteiro longo in 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.

  • plataforma indica o sistema operativo utilizado. Este parâmetro devolve uma das seguintes constantes predefinidas:

Constante Tipo Valor
Mac OS Inteiro longo 2
Windows Inteiro longo 3

  • A informação devolvida no sistema depende da versão de 4D que utilize.

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

  •  Se devolver 4, você utiliza Windows NT 4. Se devolve 5, você utiliza Windows 2000, Windows Server 2003 ou Windows XP (em ambos casos, a sinal do valor indica se você utiliza Windows NT/2000 ou não).
  •  Se devolver 6, você utiliza Windows Vista, Windows Seven ou Windows 8.1
  • Se retornar 10, você utiliza  10. Note que nesse caso, o parâmetro sistema também é 10. 

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.

  • O parâmetro processador indica a "família" do microprocessador do equipo. Podem ser devolvidos dois valores, disponíveis em forma de constantes:

Constante Tipo Valor
Power PC Inteiro longo 406
Intel compatible Inteiro longo 586


A combinação dos parâmetros plataforma e processador podem ser utilizados por exemplo para conhecer sem ambiguidade se o equipo utilizado é de tipo “MacIntel” (plataforma=Mac OS e processador=Compatível Intel).

  • O parâmetro linguagem se utiliza para conhecer a linguagem atual do sistema no qual se executa a base. Esta é uma lista de códigos que podem ser devolvidos neste parâmetro, assim como seu significado:
CódigoLinguagem
1Árabe
2Búlgaro
3Catalão
4Chinês
5Checo
6Danes
7Alemão
8Grego
9Inglês
10Espanhol
11Finlandês
12Francês
13Hebraico
14Húngaro
15Islandês
16Italiano
17Japonês
18Coreano
19Holandês
20Norueguês
21Polonês
22Português
24Romano
25Russo
26Croata
26Sérvio
27Esloveno
28Albanês
29Suíço
30Tailandês
31Turco
33Indonésio
34Ucraniano
35Bielorruso
36Esloveno
37Estoniano
38Letão
39Lituano
41Persa
42Vietnamita
45Basco
54Africano
56Feróica

Nota: se o comando não pode identificar a linguagem do sistema, se devolve o valor 9 (inglês).

Exemplo  

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:



Ver também 

Operadores de bit

 
PROPRIEDADES 

Produto: 4D
Tema: Ambiente de Sistema
Número 365

This command can be run in preemptive processesComportamento específico sob Mac OSComportamento específico sob Windows

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

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)