System.SysUtils.TOSVersion

From RAD Studio API Documentation
Jump to: navigation, search

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:
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils

Description

Describes the current operating system: platform and version.

Use TOSVersion to get information about the current operating system, such as:

  • Platform (Windows, MAC OS X, iOS, Android, or Linux)
  • Version

Other information:

  • Architecture (Intel x86, Intel x64, ARM 32, or ARM 64)
  • Installed service pack

Example:

Writeln(TOSVersion.ToString);

Possible output:

Windows XP Service Pack 3 (Version 5.1, Build 2600, 32-bit Edition)

or

Windows 11 (Version 21H2, OS Build 22000.318, 64-bit Edition)

You cannot create TOSVersion variables. TOSVersion represents static (global) data initialized at application start-up.

TOSVersion provides methods to check the version of the operating system. See the overloads of Check.

Note:

On the Linux platform, the output is the Kernel version, not the version of the operating system.

For macOS 11 and later, if the application is built with 10.15 or previous SDK version, the macOS returns 10.16 as a "compatible version number".

See Also