10

列挙型のセットとして定義された型がある場合、[] を使用して空のセットを作成するのは簡単ですが、完全なセットを作成するにはどうすればよいですか?

編集: ええ、明らかな解決策は for ループを使用することです。別の方法がある場合、それも本当に悪い解決策です。一定時間で機能する方法を知っている人はいますか?

4

2 に答える 2

15

Low()とHigh()は、コンパイル時に評価できる「コンパイラマジック」関数です。これにより、次のような定数宣言での使用が可能になります。

var
  MySet:TBorderIcons;
  MySet2:TBorderIcons;
const
  AllIcons:TBorderIcons = [Low(TBorderIcon).. High(TBorderIcon)];
始める
  MySet:= [Low(TBorderIcon).. High(TBorderIcon)];
  MySet2:= AllIcons;
終わり;
于 2008-11-03T04:02:32.323 に答える
7

バリーの提案によると:

FillChar(VarSet, SizeOf(VarSet), $FF);
于 2008-11-01T00:34:31.857 に答える