私は次のものを持っています:
TDirection = (dirNorth, dirEast, dirSouth, dirWest);
TDirections = set of TDirection;
別のクラスでは、プロパティとして宣言しています。
property Directions: TDirections read FDirections write FDirections;
私が望むのは、それらをブール値であるかのように扱うことができるようにすることです。たとえば、dirNorthTrue の場合は1、False の場合は になります0。
私はそれを想像しようとしています(1,0,0,0)
方向がTrueかどうかを確認するには、次を使用できると思います:
var
  IsTrue: Boolean;
begin
  IsTrue := (DirNorth in Directions);
上記が正しいかどうかはわかりませんが、私の他の問題は、方向の1つをTrueまたはに変更する方法Falseです?
私は今、私の混乱状態の1つに達しました:(
これは私が値を設定しようとした最後のことですが、(Lazarus で) Illegal Expression を取得しています。
Directions(TDirection(DirNorth)) := True;