form1 中的信息。JvComputerInfoEx1.CPU.SSE 存储为 TSSESupports。我的问题是数据实际上如何存储在 TSSESupports 中以及如何转换为纯字符串?
维基页面在这件事上不是很有帮助。
查看 JCL 源代码。
type
TSSESupport = (sse, sse2, sse3, ssse3, sse4A, sse4B, sse5);
TSSESupports = set of TSSESupport;
所以,TSSESupports是一个集合。集中的值按位存储。您可以测试值是否由"in"运算符设置。
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;