System.SysUtils.TOSVersion
Delphi
TOSVersion = record
C++
struct DECLSPEC_DRECORD TOSVersion
{
public:
    enum DECLSPEC_DENUM TArchitecture : unsigned char { arIntelX86, arIntelX64, arARM32, arARM64 };
    enum DECLSPEC_DENUM TPlatform : unsigned char { pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux };
public:
    #define TOSVersion_AllArchitectures (System::Set<TArchitecture, TArchitecture::arIntelX86, TArchitecture::arARM64>() << TArchitecture::arIntelX86 << TArchitecture::arIntelX64 << TArchitecture::arARM32 << TArchitecture::arARM64 )
    #define TOSVersion_AllPlatforms (System::Set<TPlatform, TPlatform::pfWindows, TPlatform::pfLinux>() << TPlatform::pfWindows << TPlatform::pfMacOS << TPlatform::pfiOS << TPlatform::pfAndroid << TPlatform::pfWinRT << TPlatform::pfLinux )
private:
    static TArchitecture FArchitecture;
    static int FBuild;
    static int FMajor;
    static int FMinor;
    static System::UnicodeString FName;
    static TPlatform FPlatform;
    static int FServicePackMajor;
    static int FServicePackMinor;
private:
public:
    static bool __fastcall Check(int AMajor)/* overload */;
    static bool __fastcall Check(int AMajor, int AMinor)/* overload */;
    static bool __fastcall Check(int AMajor, int AMinor, int AServicePackMajor)/* overload */;
    static System::UnicodeString __fastcall ToString();
    /* static */ __property TArchitecture Architecture = {read=FArchitecture};
    /* static */ __property int Build = {read=FBuild};
    /* static */ __property int Major = {read=FMajor};
    /* static */ __property int Minor = {read=FMinor};
    /* static */ __property System::UnicodeString Name = {read=FName};
    /* static */ __property TPlatform Platform = {read=FPlatform};
    /* static */ __property int ServicePackMajor = {read=FServicePackMajor};
    /* static */ __property int ServicePackMinor = {read=FServicePackMinor};
private:
};
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 | 
|---|---|---|---|---|
| record struct | public | System.SysUtils.pas System.SysUtils.hpp | System.SysUtils | System.SysUtils | 
説明
現在のオペレーティング システム(プラットフォームとバージョン)を記述します。
TOSVersion を使用すると、次のような現在のオペレーティング システムについての情報を取得することができます:
- プラットフォーム(Windows、MAC OS X、iOS、Android、Linux)
- バージョン
その他の情報:
- アーキテクチャ(Intel x86、Intel x64、ARM 32、ARM 64)
- インストール済みサービス パック
例:
Writeln(TOSVersion.ToString);
可能な出力:
Windows XP Service Pack 3 (Version 5.1, Build 2600, 32-bit Edition)
または
Windows 11 (Version 21H2, OS Build 22000.318, 64-bit Edition)
TOSVersion の変数を作成することはできません。TOSVersion は、アプリケーションの起動時に初期化される静的な(グローバル)データを表します。
TOSVersion では、オペレーティング システムのバージョンを確認するためのメソッド群を提供しています。Check のオーバーロードを参照してください。
メモ: 
Linux プラットフォームでは、出力は Kernel のバージョンで、オペレーティング システムのバージョンではありません。macOS 11 以降、アプリケーションが 10.15 またはそれ以前の SDK のバージョンでビルドされている場合、macOS は 「互換性のあるバージョン番号」として 10.16 を返します。