• 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  更新时间:

  • 相关阅读:
    【20220511】起风了
    【力扣 083】154. 寻找旋转排序数组中的最小值 II
    【力扣 082】153. 寻找旋转排序数组中的最小值
    【力扣 084】240. 搜索二维矩阵 II
    【力扣 081】658. 找到 K 个最接近的元素
    xshell和xftp下载免费版本方法
    端到端的特征转换示例:使用三元组损失和 CNN 进行特征提取和转换
    GAN能进行股票预测吗?
    LSTM 又回来了! 新论文使用LSTM挑战长序列建模的 ViT
    3 个不常见但非常实用的Pandas 使用技巧
  • 原文地址:https://www.cnblogs.com/guorongtao/p/16572825.html
Copyright © 2020-2023  润新知