Delphi XE TOSVersion - 获取有关当前操作系统的信息(平台、版本)

{该文首发于博客园 滔Roy,无须授权即可转发,请自觉保留头部申明}

Delphi XE TOSVersion - 获取有关当前操作系统的信息(平台、版本)

原型:

type
  TOSVersion = record
  public type
    TArchitecture = (arIntelX86, arIntelX64, arARM32, arARM64);
    TPlatform = (pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux);
  public const
    AllArchitectures = [arIntelX86, arIntelX64, arARM32, arARM64];
    AllPlatforms = [pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux];
  private
    class var FArchitecture: TArchitecture;
    class var FBuild: Integer;
    class var FMajor: Integer;
    class var FMinor: Integer;
    class var FName: string;
    class var FPlatform: TPlatform;
    class var FServicePackMajor: Integer;
    class var FServicePackMinor: Integer;
{$IFDEF LINUX}
    class var FPrettyName: string;
    class var FLibCVersionMajor: Integer;
    class var FLibCVersionMinor: Integer;
{$ENDIF LINUX}
    class constructor Create;
  public
    class function Check(AMajor: Integer): Boolean; overload; static; inline;   //返回当前操作系统的版本是否高于或等于特定值。
    class function Check(AMajor, AMinor: Integer): Boolean; overload; static; inline;
    class function Check(AMajor, AMinor, AServicePackMajor: Integer): Boolean; overload; static; inline;   //用于将当前操作系统的版本和为当前操作系统安装的service pack的主版本号与特定值进行比较。
    class function ToString: string; static;   //返回版本的字符串表示形式。以字符串形式获取操作系统信息。
    class property Architecture: TArchitecture read FArchitecture;   //表示当前处理器体系结构。例如:Intel x86   或 Intel x64
    class property Build: Integer read FBuild;     //表示当前操作系统的内部版本号。
    class property Major: Integer read FMajor;   //表示当前操作系统的主要版本号。例如,Windows 7的主要版本号为6。
    class property Minor: Integer read FMinor;   //表示当前操作系统的次要版本号.
    class property Name: string read FName;
    class property Platform: TPlatform read FPlatform;   //表示当前平台(Windows、Mac OS)
    class property ServicePackMajor: Integer read FServicePackMajor;   //表示当前操作系统的主要service pack版本号。
    class property ServicePackMinor: Integer read FServicePackMinor;   //表示当前操作系统的次要service pack版本号
{$IFDEF LINUX}
    class property PrettyName: string read FPrettyName;
    class property LibCVersionMajor: Integer read FLibCVersionMajor;
    class property LibCVersionMinor: Integer read FLibCVersionMinor;
{$ENDIF LINUX}
  end;  

描述:

使用TOSVersion获取有关当前操作系统的信息:

  • 平台 (Windows, MAC OS X, iOS, Android, or Linux) 
  • 版本

其他信息:

  • 体系结构(Intel x86, Intel x64, ARM 32, or ARM 64) 
  • 已安装的service pack

不能创建版本变量。TOSVersion表示在应用程序启动时初始化的静态(全局)数据。

TOSVersion提供了检查操作系统版本的方法。

注意:在Linux平台上,输出是内核版本,而不是操作系统的版本。

 

Delphi示例:

var
  OSVersion: TOSVersion;
begin
  Memo1.Clear;
  Memo1.Lines.Add(OSVersion.ToString);
  Memo1.Lines.Add(Format('Major=%d', [OSVersion.Major]));
  Memo1.Lines.Add(Format('Minor=%d', [OSVersion.Minor]));
  Memo1.Lines.Add(Format('Build=%d', [OSVersion.Build]));
  Memo1.Lines.Add(Format('Architecture=%d', [Ord(OSVersion.Architecture)]));
  Memo1.Lines.Add(Format('Name=%s', [OSVersion.Name]));
  Memo1.Lines.Add(Format('Platform=%d', [Ord(OSVersion.Platform)]));
  Memo1.Lines.Add(Format('ServicePackMajor=%d', [OSVersion.ServicePackMajor]));
  Memo1.Lines.Add(Format('ServicePackMinor=%d', [OSVersion.ServicePackMinor]));
end;

 

 

 

 

 

  

 

 

 

创建时间:2022.08.10  更新时间:

posted on 2022-08-10 16:08  滔Roy  阅读(556)  评论(0编辑  收藏  举报

导航