4D v16.3

PLATFORM PROPERTIES

Home

 
4D v16.3
PLATFORM PROPERTIES

PLATFORM PROPERTIES 


 

PLATFORM PROPERTIES ( Plattform {; System {; Prozessor {; Sprache}}} )  
Parameter Typ   Beschreibung
Plattform  Lange Ganzzahl in 2 = Mac OS, 3 = Windows
System  Lange Ganzzahl in Je nach eingesetzter Version
Prozessor  Lange Ganzzahl in Prozessorfamilie
Sprache  Lange Ganzzahl in Je nach eingesetztem System

Der Befehl PLATFORM PROPERTIES gibt Information über das eingesetzten Betriebssystem, seine Version und Systemsprache sowie den Prozessor Ihres Rechners zurück.

PLATFORM PROPERTIES gibt Informationen zur Umgebung in den Parametern Plattform, System, Prozessor und Sprache zurück. Plattform gibt das verwendete Betriebssystem an. Dieser Parameter gibt eine der vordefinierten Konstanten zurück:

Konstante Typ Wert
Mac OS Lange Ganzzahl 2
Windows Lange Ganzzahl 3

Die in System zurückgegebene Information hängt von der eingesetzten 4D Version ab.

Läuft eine Mac OS Version von 4D, gibt der Parameter System einen 32-bit Wert (Lange Ganzzahl) zurück, dessen höherwertiger Teil unbenutzt ist. Der niederwertige Teil ist folgendermaßen aufgebaut:

  • Das höherwertige Bit enthält die Hauptversionsnummer
  • Das niederwertige Bit besteht aus zwei "nibbles" (je 4 Bits). Das hohe "nibble" ist die Versionsnummer des Mayor-Update, das niedere "nibble" ist die Versionsnummer des Minor-Update. Beispiel: System 9.0.4 ist codiert als $0904, das ergibt den Dezimalwert 2308.

Hinweis: In 4D können Sie diese Werte mit den Numerische Operatoren % (Restwert oder Modulo) und \ (Ganzzahlige Division) oder den Bit Operatoren entnehmen.

Mit folgender Formel erfahren Sie die Versionsnummer von Mac OS:

 PLATFORM PROPERTIES($vlPlatform;$vlSystem)
 $vlResult:=$vlSystem\256
  //Ist $vlResult = 16 --> Sie arbeiten mit Mac OS 10.x
  //Ist $vlResult # 16 --> Sie arbeiten mit einer anderen Mac OS Version

Läuft eine Windows Version von 4D, gibt der Parameter System einen 32-bit Wert (Lange Ganzzahl) zurück, dessen Bits und Bytes folgendermaßen aufgebaut sind:

Hat das höherwertige Bit den Wert 0, läuft Windows NT, Windows 2000, Windows XP oder Windows Vista. Hat es den Wert 1, läuft eine zu alte Version von Windows.

Hinweis: Das höherwertige Bit legt das Vorzeichen für den Wert vom Typ Lange Ganzzahl fest. So müssen Sie in 4D lediglich den von System zurückgegebenen Wert prüfen; ist er negativ, verwenden Sie eine veraltete Version von Windows. Sie können auch die Bit Operatoren verwenden.

Das niederwertige Bit gibt die höhere Windows Versionsnummer an.

  • Bei 4 läuft Windows NT 4. Bei 5 läuft Windows 2000, Windows Server 2003 oder Windows XP (Sie erkennen am Vorzeichen, ob NT/2000 läuft).
  • Bei 6 läuft Windows Vista, Windows 7 oder Windows 8.1.
  • Bei 10 läuft Windows 10. Beachten Sie, dass in diesem Fall der Parameter System ebenfalls 10 ist.

Das nächstniedere Bit gibt die niedere Windows Versionsnummer an.

Hinweis: In 4D können Sie diese Werte mit den Numerische Operatoren % (Restwert oder Modulo) und \ (Ganzzahlige Division) oder den Bit Operatoren entnehmen.

Der Parameter Prozessor gibt die Familie des Mikroprozessors des Rechners zurück. Es gibt zwei Werte, die als Konstanten verfügbar sind:

Konstante Typ Wert
Intel compatible Lange Ganzzahl 586
Power PC Lange Ganzzahl 406

Durch Kombinieren dieser beiden Parameter können Sie z.B. genau herausfinden, ob der verwendete Rechner von Typ “MacIntel” ist (Plattform=Mac OS und Prozessor=Intel Compatible).

Der Parameter Sprache gibt die aktuelle Sprache des Systems an, auf welchem die Datenbank läuft. Hier die Liste mit den Codes und den zugeordneten Sprachen:

CodeSprache
1Arabisch
2Bulgarisch
3Catalan
4Chinesisch
5Tschechisch
6Dänisch
7Deutsch
8Griechisch
9Englisch
10Spanisch
11Finnisch
12Französisch
13Hebräisch
14Ungarisch
15Isländisch
16Italienisch
17Japanisch
18Koreanisch
19Holländisch
20Norwegisch
21Polnisch
22Portugiesisch
24Rumänisch
25Russisch
26Kroatisch
26Serbisch
27Slovakisch
28Albanisch
29Schwedisch
30Thailändisch
31Türkisch
33Indonesisch
34Ukrainisch
35Weißrussisch
36Slowenisch
37Estländisch
38Lettisch
39Lithauisch
41Farsi (Persisch)
42Vietnamesisch
45Baskisch
54Afrikaans
56Färöisch

Hinweis: Kann der Befehl die Systemsprache nicht identifizieren, wird Wert 9 (Englisch) zurückgegeben.

Nachfolgende Projektmethode zeigt in einer Meldung, welches Betriebssystem und welche Version verwendet wird:

  //Projektmethode 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 ist zu alt"
       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 (unbestimmte Version)"
                End case
             :($winMajVers=6)
                Case of
                   :($winMinVers=0)
                      $vsPlatformOS:="Windows™ Vista"
                   :($winMinVers=1)
                      $vsPlatformOS:="Windows™ Seven"
                   :($winMinVers=2)
                      $vsPlatformOS:="Windows™ 8.1"
                   Else
                      $vsPlatformOS:="Windows (unbestimmte Version)"
                End case
             :($winMajVers=10) //$vlSystem=ebenfalls 10
                $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)

Unter Windows kann die Meldung folgendermaßen aussehen:

Auf Macintosh kann die Meldung folgendermaßen aussehen:



Siehe auch 

Bit Operatoren

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Systemumgebung
Nummer: 365

This command can be run in preemptive processesspezifisches Verhalten auf Mac OS spezifisches Verhalten unter Windows

 
GESCHICHTE 

Geändert: 4D v11 SQL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)