4D v16.3

PROPRIETES PLATE FORME

Accueil

 
4D v16.3
PROPRIETES PLATE FORME

PROPRIETES PLATE FORME 


 

PROPRIETES PLATE FORME ( plateForme {; système {; processeur {; langue}}} )  
Paramètre Type   Description
plateForme  Entier long in 2 = Mac OS, 3 = Windows
système  Entier long in Dépend de la version que vous utilisez
processeur  Entier long in Famille de processeur
langue  Entier long in Dépend du système que vous utilisez

La commande PROPRIETES PLATE FORME retourne des informations sur le type de système d'exploitation que vous utilisez, la version et la langue du système d'exploitation ainsi que le processeur installé.
PROPRIETES PLATE FORME retourne ces informations dans les paramètres plateForme, système, processeur et langue.

plateForme indique le système d'exploitation utilisé. Ce paramètre retourne une des constantes prédéfinies suivantes :

Constante Type Valeur
Mac OS Entier long 2
Windows Entier long 3

Les informations retournées dans le paramètre système dépendent de la version de 4D que vous utilisez.

Avec une version Mac OS de 4D, le paramètre système retourne une valeur sur 32 bits (Entier long), dans laquelle le "mot machine haut" est inutilisé et le "mot machine bas" est structuré ainsi :

  • L'octet supérieur contient le numéro de version principal,
  • L'octet inférieur est composé de deux "nibbles" de 4 bits chacun. Le nibble supérieur est le numéro de mise à jour principal et le nibble inférieur le numéro de mise à jour secondaire. Par exemple : le système 9.0.4 est codé $0904, vous recevrez donc la valeur décimale 2308.

Note : Dans 4D, vous pouvez extraire ces valeurs à l'aide des Opérateurs numériques % (modulo) et \ (division entière) ou des Opérateurs sur les bits.

Utilisez la formule suivante pour connaître le numéro de version principal de Mac OS :

 PROPRIETES PLATE FORME($vlPlatform;$vlSystem)
 $vlResult:=$vlSystem\256
  //Si $vlResult = 16 --> vous êtes sous Mac OS 10.x
  //Si $vlResult # 16 --> vous êtes sous une autre version de Mac OS

Avec une version Windows de 4D, le paramètre système retourne une valeur sur 32 bits (Entier long), structurée ainsi :

Si le bit supérieur vaut 0, vous utilisez Windows NT, Windows 2000, Windows XP ou Windows Vista. S'il vaut 1, vous utilisez une version trop ancienne de Windows.

Note : Le bit supérieur détermine le signe de la valeur Entier long. De ce fait, dans 4D, vous avez simplement besoin de tester la valeur retournée par système ; si elle est négative, vous utilisez une version obsolète de Windows. Vous pouvez également utiliser les Opérateurs sur les bits.

L'octet inférieur fournit le numéro de version principal de Windows :

  • S'il vaut 4, vous utilisez Windows NT 4. S'il vaut 5, vous utilisez Windows 2000, Windows Server 2003 ou Windows XP (le signe de la valeur indique si vous utilisez Windows NT/2000 ou non).
  • S'il vaut 6, vous utilisez Windows Vista, Windows Seven ou Windows 8.1.
  • S'il vaut 10, vous utilisez Windows 10. A noter que dans ce cas, le paramètre système vaut également 10. 

L'octet inférieur suivant fournit le numéro de version secondaire de Windows.

Note : Dans 4D, vous pouvez extraire ces valeurs à l'aide des Opérateurs numériques % (modulo) et \ (division entière) ou des Opérateurs sur les bits. Le paramètre processeur indique la "famille" du microprocesseur de la machine. Deux valeurs peuvent être renvoyées, disponibles sous forme de constantes :

Constante Type Valeur
Compatible Intel Entier long 586
Power PC Entier long 406

La combinaison des paramètres plateForme et processeur permet par exemple de savoir sans ambiguïté si la machine utilisée est de type “MacIntel” (plateForme=Mac OS et processeur=Compatible Intel).

Le paramètre langue permet de connaître la langue courante du système sur lequel est exécutée la base. Voici la liste des codes pouvant être retournés dans ce paramètre, ainsi que leur signification :

CodeLangue
1Arabe
2Bulgare
3Catalan
4Chinois
5Tcheque
6Danois
7Allemand
8Grec
9Anglais
10Espagnol
11Finlandais
12Français
13Hébreu
14Hongrois
15Islandais
16Italien
17Japonais
18Coréen
19Néerlandais
20Norvégien
21Polonais
22Portugais
24Roumain
25Russe
26Croate
26Serbe
27Slovaque
28Albanais
29Suédois
30Thailandais
31Turc
33Indonésien
34Ukrainien
35Bélarusse
36Slovène
37Estonien
38Letton
39Lithuanien
41Farsi
42Vietnamien
45Basque
54Afrikaans
56Féroïen

Note : Si la commande n’a pas pu identifier la langue du système, la valeur 9 (Anglais) est retournée.

Exemple  

La méthode projet suivante affiche une boîte de dialogue d'alerte décrivant le système d'exploitation utilisé :

  // Méthode projet VERSION SYSTEME
 PROPRIETES PLATE FORME($vlPlatform;$vlSystem;$vlMachine)
 Si(($vlPlatform<2)|($vlPlatform>3))
    $vsPlatformOS:=""
 Sinon
    Si($vlPlatform=Windows)
       $vsPlatformOS:=""
       Si($vlSystem<0)
          $vsPlatformOS:="Version Windows trop ancienne"
       Sinon
          $winMajVers:=$vlSystem%256
          $winMinVers:=($vlSystem\256)%256
          Au cas ou
             :($winMajVers=4)
                $vsPlatformOS:="Windows™ NT"
             :($winMajVers=5)
                Au cas ou
                   :($winMinVers=0)
                      $vsPlatformOS:="Windows™ 2000"
                   :($winMinVers=1)
                      $vsPlatformOS:="Windows™ XP"
                   :($winMinVers=2)
                      $vsPlatformOS:="Windows™ 2003"
                   Sinon
                      $vsPlatformOS:="Windows (version indéterminée)"
                Fin de cas
             :($winMajVers=6)
                Au cas ou
                   :($winMinVers=0)
                      $vsPlatformOS:="Windows™ Vista"
                   :($winMinVers=1)
                      $vsPlatformOS:="Windows™ Seven"
                   :($winMinVers=3)
                      $vsPlatformOS:="Windows™ 8.1"
                   Sinon
                      $vsPlatformOS:="Windows (version indéterminée)"
                Fin de cas
             :($winMajVers=10) //$vlSystem=10 également
                $vsPlatformOS:="Windows™ 10"
          Fin de cas
       Fin de si
       $vsPlatformOS:=$vsPlatformOS+" version "+Chaine($winMajVers)+"."+Chaine($winMinVers)
    Sinon
       $vsPlatformOS:="OS X version "
       Si(($vlSystem\256)=16)
          $vsPlatformOS:=$vsPlatformOS+"10"
       Sinon
          $vsPlatformOS:=$vsPlatformOS+Chaine($vlSystem\256)
       Fin de si
       $vsPlatformOS:=$vsPlatformOS+"."+Chaine(($vlSystem\16)%16)+(("."+Chaine($vlSystem%16))*Num(($vlSystem%16)#0))
    Fin de si
 Fin de si
 ALERTE($vsPlatformOS)

Sous Windows, vous obtenez une boîte de dialogue semblable à celle-ci :

Sous Mac OS, vous obtenez une boîte de dialogue semblable à celle-ci :



Voir aussi  

Opérateurs sur les bits

 
PROPRIÉTÉS 

Produit : 4D
Thème : Environnement système
Numéro : 365
Nom intl. : PLATFORM PROPERTIES

Commande(s) éligible(s) à l'exécution dans un process préemptifComportement spécifique sous Mac OSComportement spécifique sous Windows

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)