4D v16.3PLATFORM PROPERTIES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
PLATFORM PROPERTIES
|
PLATFORM PROPERTIES ( platform {; system {; processor {; language}}} ) | ||||||||
引数 | 型 | 説明 | ||||||
platform | 倍長整数 |
![]() |
2 = Mac OS、3 = Windows | |||||
system | 倍長整数 |
![]() |
起動しているバージョンによって異なる | |||||
processor | 倍長整数 |
![]() |
プロセッサファミリー | |||||
language | 倍長整数 |
![]() |
使用しているシステムによって異なる | |||||
PLATFORM PROPERTIESコマンドは、起動しているオペレーティングシステムのタイプ、バージョンやオペレーティングシステムの言語、マシンにインストールされているプロセッサに関する情報を返します。
PLATFORM PROPERTIESは、環境情報を引数platform、system、processorおよびlanguage引数に渡します。
platformは使用されているオペレーティングシステムを示します。この引数は、以下の既定の定数の一つを返します:
定数 | 型 | 値 |
Mac OS | 倍長整数 | 2 |
Windows | 倍長整数 | 3 |
4DのMac OSバージョンが起動している場合、引数systemは32ビット(倍長整数) 値を返します。高レベルのワードは使用されません。低レベルのワードの構成は次のとおりです。
- 高バイトは主要なバージョン番号を含みます。
- 低バイトは2ニブル(各4ビット) で構成されます。高ニブルはメジャーアップデートバージョン番号です。低ニブルはマイナーアップデートバージョンです。その例として、システム9.0.4 は$0904のようにコード化され 、少数値2308を受け取ります。
Note: % (モジュロ) と \ (整数除算) 数値演算子 またはビットワイズ演算子を使用して、これらの値を抽出できます。
次のフォーミュラを使用して、Mac OSの主なバージョン番号を調べます。
PLATFORM PROPERTIES($vlPlatform;$vlSystem)
$vlResult:=$vlSystem\256
//If $vlResult = 16 --> Mac OS 10.x 環境下を使用中
//If $vlResult # 16 --> 別のMac OS バージョンを使用中
4DのWindowsバージョンが起動している場合、引数systemは32ビット(倍長整数) 値を返します。ビットとバイトは次のように構成されます。
高レベルのバイトに0が代入された場合、Windows NT、Windows 2000、Windows XPまたはWindows Vistaが起動していることを意味します。バイトに1が代入された場合、お使いのWindowsのバージョンが古すぎる事を意味します。
Note: 高レベルのバイトは、倍長整数値の記号を決定します。そのため、4Dでは、system引数に返された値をチェックするだけで十分です。返された値が負の値であった場合、お使いのWindowsのバージョンは廃止予定であることを意味しています。また、ビットワイズ演算子を使用する事も可能です。
低バイトはWindowsのメジャーなバージョン番号を表します:
次の低バイトはWindowsのマイナーバージョン番号を表します。Windows 10が起動していると、 3が返されます。
Note: % (モジュロ) と \ (整数除算) 数値演算子またはビットワイズ演算子を使用して、これらの値を抽出できます。
引数processorは、マシンのマイクロプロセッサファミリを示します。2つの値が返されます。これらは定数のフォームで利用可能です。定数 | 型 | 値 |
Intel compatible | 倍長整数 | 586 |
Power PC | 倍長整数 | 406 |
引数platformとprocessorを組み合わせることによって、使用しているマシンが、“MacIntel” タイプであるかどうかを確実に知ることができます(platform=Mac OSとprocessor=Intel Compatible) 。
引数languageを使用して、データベースを実行しているシステムの現在の言語を調べます。以下は、コードとそれに対応する言語を表したリストです。これらのコードは引数に返されます。Code | Language |
1 | Arabic |
2 | Bulgarian |
3 | Catalan |
4 | Chinese |
5 | Czech |
6 | Danish |
7 | German |
8 | Greek |
9 | English |
10 | Spanish |
11 | Finnish |
12 | French |
13 | Hebrew |
14 | Hungarian |
15 | Icelandic |
16 | Italian |
17 | Japanese |
18 | Korean |
19 | Dutch |
20 | Norwegian |
21 | Polish |
22 | Portuguese |
24 | Romanian |
25 | Russian |
26 | Croatian |
26 | Serbian |
27 | Slovak |
28 | Albanian |
29 | Swedish |
30 | Thai |
31 | Turkish |
33 | Indonesian |
34 | Ukrainian |
35 | Belarusian |
36 | Slovenian |
37 | Estonian |
38 | Latvian |
39 | Lithuanian |
41 | Farsi |
42 | Vietnamese |
45 | Basque |
54 | Afrikaans |
56 | Faeroese |
Note: コマンドがシステムの言語を識別できない場合、値9(English) が返されます。
次のプロジェクトメソッドは、使用しているOSソフトウェアを示すアラートボックスを表示します。
//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=3)
$vsPlatformOS:="Windows™ 8.1"
Else
$vsPlatformOS:="Windows (undetermined version)"
End case
:($winMajVers=10) //$vlSystemもまた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)
Windowsでは以下のような警告ボックスが表示されます:
Mac OSでは以下のような警告ボックスが表示されます:
プロダクト: 4D
テーマ: システム環境
番号:
365
変更: 4D v11 SQL
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)