Delphi XE6 - 我有一套.我想要一个简单的方法来关闭所有元素.即,而不是排除,像ExcludeALL之类的东西.我试图遍历所有元素,但我收到一个错误.
码
type
TSearchParametersType =
(smDUNSAvailable = 1,
smDUNSHit,
smDUNSMiss,
smDUNSAbsent,
smRegistryAvailable,
smRegistryHit,
smRegistryAbsent,
smRegistryMiss,
smNameAvailable,
smNameHitExact,
smNameHitWords,
smNameMiss
);
// Now create a set type, where we can have a variable that has all the values of TSearchParametersType
type
TSearchParametersSet = set of TSearchParametersType;
...
var
i : Integer;
sSearchStatus: TSearchParametersSet;
begin
for i := smDUNSAvailable to smNameMiss do
Exclude(sSearchStatus, i);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"不兼容的类型:'整数'和TSearchParametersType."
除了MANUALLY通过每个元素之外,有没有一种简单的方法可以排除ALL?
谢谢
从文档:
每个集合类型都可以保存空集,用[]表示.
因此,您可以将空集分配给变量,如下所示:
sSearchStatus := [];
Run Code Online (Sandbox Code Playgroud)
FWIW,您的代码失败,因为smDUNSAvailable它smNameMiss是类型的TSearchParametersType,因此与i类型的变量不兼容Integer.为了使代码工作,您需要将循环变量更改为类型TSearchParametersType.
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |