我有以下内容:
TDirection = (dirNorth, dirEast, dirSouth, dirWest);
TDirections = set of TDirection;
在一个单独的类中,我将它声明为一个属性:
property Directions: TDirections read FDirections write FDirections;
我想要的是能够将它们视为布尔值,例如,如果dirNorth
是 True 那么它将是1
,如果是 False 它将是0
。
我试图把它想象成(1,0,0,0)
我想检查一个方向是否为真,我可以使用:
var
IsTrue: Boolean;
begin
IsTrue := (DirNorth in Directions);
不确定上述是否正确,但我的另一个问题是如何将其中一个方向更改为True
or False
?
我现在已经达到了我的困惑状态之一:(
这是我尝试设置值的最后一件事,但我得到了非法表达(在 Lazarus 中)。
Directions(TDirection(DirNorth)) := True;