4D v16.3

PLATFORM PROPERTIES

Inicio

 
4D v16.3
PLATFORM PROPERTIES

PLATFORM PROPERTIES 


 

PLATFORM PROPERTIES ( plataforma {; sistema {; procesador {; lenguaje}}} )  
Parámetro Tipo   Descripción
plataforma  Entero largo in 2 = Mac OS, 3 = Windows
sistema  Entero largo in Depende de la versión que utilice
procesador  Entero largo in Familia del procesador
lenguaje  Entero largo in Depende del sistema que utilice

Si está corriendo una versión Mac OS de 4D, el parámetro sistema devuelve un valor de 32 bits (Entero largo), en el cual la palabra de nivel más alto no se utiliza y la palabra de nivel más bajo se estructura de esta forma:

- El byte superior contiene el número de versión principal,
- El byte inferior está compuesto de dos cuartetos o nibbles (conjuntos de 4 bits). El nivel superior es el número de actualización principal y el nibble inferior el número de actualización secundaria. Ejemplo: el sistema 9.0.4 está codificado como $0904, de manera usted reciba el valor decimal 2308.

Nota: en 4D, puede extraer estos valores utilizando los Operadores numéricos % (módulo) y \ (división entera) o los Operadores de bits.

Utilice la siguiente fórmula para conocer el número de versión principal de Mac OS:

 PLATFORM PROPERTIES($vlPlatform;$vlSystem)
 $vlResult:=$vlSystem\256
  //If $vlResult = 16 --> usted está bajo Mac OS 10.x
  //If $vlResult # 16 --> usted está bajo otra versión Mac OS

Si está corriendo una versión Mac OS de 4D, el parámetro sistema devuelve un valor de 32 bits (Entero largo), en el cual la palabra de nivel más alto no se utiliza y la palabra de nivel más bajo se estructura de esta forma:

- El byte superior contiene el número de versión principal,
- El byte inferior está compuesto de dos cuartetos o nibbles (conjuntos de 4 bits). El nivel superior es el número de actualización principal y el nibble inferior el número de actualización secundaria. Ejemplo: el sistema 9.0.4 está codificado como $0904, de manera usted reciba el valor decimal 2308.

Nota: en 4D, puede extraer estos valores utilizando los Operadores numéricos % (módulo) y \ (división entera) o los Operadores de bits.

Utilice la siguiente fórmula para conocer el número de versión principal de Mac OS:

 PLATFORM PROPERTIES($vlPlatform;$vlSystem)
 $vlResult:=$vlSystem\256
  //If $vlResult = 16 --> usted está bajo Mac OS 10.x
  //If $vlResult # 16 --> usted está bajo otra versión Mac OS

Si está corriendo una versión Windows de 4D, el parámetro sistema devuelve un valor 32 bits (Entero largo), los bits y los bytes están estructurados así:

Si el bit superior vale 0, significa que usted está utilizando Windows NT, Windows 2000, Windows XP o Windows Vista. Si el bit vale 1, significa que está utilizando una versión muy antigua de Windows.

Nota: el bit superior determina el signo del valor Entero largo. Por lo tanto, en 4D, sólo necesita probar el valor devuelto por el sistema; si es negativo, está utilizando una versión obsoleta de Windows.  Igualmente puede utilizar Operadores de bits.

El bit inferior da el número de versión principal de Windows. Si devuelve 4, usted utiliza Windows NT 4. Si devuelve 5, usted utiliza Windows 2000 o Windows XP (en ambos casos, el signo del valor indica si usted utiliza Windows NT/2000 o no). Si devuelve 6, usted utiliza Windows Vista, Windows 7 o Windows 8. Si vale 10, usted utiliza Windows 10. Note que en este caso, el parámetro sistema vale también 10.

El bit inferior siguiente da el número de versión secundaria de Windows. Bajo Windows 95, este valor es 0.

Nota: en 4D, puede extraer estos valores utilizando los Operadores numéricos % (módulo) y \ (división entera) o los  Operadores de bits.

  • El parámetro procesador indica la "familia" del microprocesador del equipo. Pueden devolverse dos valores, disponibles en forma de constantes:

Constante Tipo Valor
Power PC Entero largo 406
Intel compatible Entero largo 586


La combinación de los parámetros plataforma y procesador puede utilizarse por ejemplo para conocer sin ambigüedad si el equipo utilizado es de tipo “MacIntel” (plataforma=Mac OS y procesador=Compatible Intel).

  • El parámetro lenguaje se utiliza para conocer el lenguaje actual del sistema en el cual se ejecuta la base. Esta es una lista de códigos que pueden devolverse en este parámetro, así como su significado:
CódigoLenguaje
1Árabe
2Búlgaro
3Catalán
4Chino
5Checo
6Danés
7Alemán
8Griego
9Inglés
10Español
11Finlandés
12Francés
13Hebreo
14Húngaro
15Islandés
16Italiano
17Japonés
18Coreano
19Holandés
20Noruego
21Polonia
22Portugués
24Rumano
25Ruso
26Croata
26Serbio
27Esloveno
28Albanés
29Suizo
30Tailandés
31Turco
33Indonesio
34Ucraniano
35Bielarruso
36Esloveno
37Estonio
38Latvio
39Lituania
41Farsi
42Vietnamés
45Vasco
54Africano
56Feroés

Nota: si comando no puede identificar el lenguaje del sistema, se devuelve el valor 9 (inglés).

Ejemplo  

El siguiente método de proyecto muestra una caja de diálogo de alerta describiendo el sistema operativo utilizado:

  //Método proyecto SHOW OS VERSION
 PLATFORM PROPERTIES($vlPlatform;$vlSystem;$vlMachine)
 If(($vlPlatform<2)|($vlPlatform>3))
    $vsPlatformOS:=""
 Else
    If($vlPlatform=Windows)
       $vsPlatformOS:=""
       If($vlSystem<0)
          $vsPlatformOS:="Windows version too old"
       Else
          $winMajVers:=$vlSystem%256
          $winMinVers:=($vlSystem\256)%256
          Case of
             :($winMajVers=4)
                $vsPlatformOS:="Windows™ NT"
             :($winMajVers=5)
                Case of
                   :($winMinVers=0)
                      $vsPlatformOS:="Windows™ 2000"
                   :($winMinVers=1)
                      $vsPlatformOS:="Windows™ XP"
                   :($winMinVers=2)
                      $vsPlatformOS:="Windows™ 2003"
                   Else
                      $vsPlatformOS:="Windows (undetermined version)"
                End case
             :($winMajVers=6)
                Case of
                   :($winMinVers=0)
                      $vsPlatformOS:="Windows™ Vista"
                   :($winMinVers=1)
                      $vsPlatformOS:="Windows™ Seven"
                   :($winMinVers=2)
                      $vsPlatformOS:="Windows™ 10"
                   :($winMinVers=3)
                      $vsPlatformOS:="Windows™ 8.1"
                   Else
                      $vsPlatformOS:="Windows (undetermined version)"
                End case
             :($winMajVers=10) //$vlSystem=10 also
                $vsPlatformOS:="Windows™ 10"
          End case
       End if
       $vsPlatformOS:=$vsPlatformOS+" version "+String($winMajVers)+"."+String($winMinVers)
    Else
       $vsPlatformOS:="OS X version "
       If(($vlSystem\256)=16)
          $vsPlatformOS:=$vsPlatformOS+"10"
       Else
          $vsPlatformOS:=$vsPlatformOS+String($vlSystem\256)
       End if
       $vsPlatformOS:=$vsPlatformOS+"."+String(($vlSystem\16)%16)+(("."+String($vlSystem%16))*Num(($vlSystem%16)#0))
    End if
 End if
 ALERT($vsPlatformOS)

En Windows, obtiene una caja de diálogo similar a esta:

En Mac OS, obtiene una caja de diálogo similar a esta:



Ver también 

Operadores de bits

 
PROPIEDADES 

Producto: 4D
Tema: Entorno del sistema
Número 365

This command can be run in preemptive processesComportamiento específico bajo Mac OSComportamiento específico bajo Windows

 
HISTORIA 

Modificado: 4D v11 SQL

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)