Delphi7 - 如何从JvComputerInfoEx1组件中提取有关SSE的信息?

时间:2016-03-14 15:13:51

标签: delphi delphi-7 sse jvcl

form1.JvComputerInfoEx1.CPU.SSE中的信息存储为TSSESupports。 我的问题是数据如何实际存储在TSSESupports中以及如何转换为纯字符串?

wiki page在这件事上并没有多大帮助。

1 个答案:

答案 0 :(得分:1)

查看JCL来源。

type 
  TSSESupport = (sse, sse2, sse3, ssse3, sse4A, sse4B, sse5); 
  TSSESupports = set of TSSESupport;

所以,TSSESupports是一套。集合中的值按位存储。 你可以测试一个值是否由"在"中设置。运营商。

var
  Value: TSSESupports;
begin
  if sse in Value then
    ShowMessage('Supports SSE');
end;

但是将一个集合转换为字符串的最简单方法是使用RTTI函数" SetToString"

uses System.TypInfo, JclSysinfo;

var
  Value: TSSESupports;
  pTI: PTypeInfo;
  S: string;
begin
  pTI := TypeInfo(TSSESupports);
  S := SetToString(pTI, Word(Value));
  ShowMessage(S);
end;