Delphi的set集合操作

Delphi的set集合操作

1.定义一个集合
  TMyFlag = (TMyFlagStart,TMyFlagStop);
  TMyFlags = set of TMyFlag;

提示 尽可能地用Include()和Exclude()来增删元素,尽可能地少用+、-运算符

操作

MyFlags=MyFlags+[TMyFlagStart,TMyFlagStop]

MyFlags=MyFlags-[TMyFlagStart,TMyFlagStop]

操作2

    include(MyFlags, TMyFlagStart); .添加一个集合元素
   Exclude(MyFlags, TMyFlagStart);删除一个集合元素

交集

  用*运算符来计算两个集合的交集

  IF A*B=[TMyFlagStop] THEN //两个集合内都包括了TMyFlagStop

  if A*B=[] then//没有任何相同元素 

检测元素是否属于集合
if TMyFlagStop in MyFlags then
  Exclude(MyFlags, TMyFlagStop);

 指定元素具体来源: 如在XE内  Data.DB单元内 TFieldAttribute = (faHiddenCol, faReadonly, faRequired, faLink, faUnNamed, faFixed);

TFieldAttributes = set of TFieldAttribute;

与System.IOUtils单元内 TFileAttribute = (faReadOnly,..)

  TFileAttributes = set of TFileAttribute platform;
  使用元素 faReadonly,如果引用了Data.DB,System.IOUtils单元,必须指定元素faReadonly来源,否则编译通过不了

if (TFileAttribute.faReadOnly in FileAttributes) then




posted @ 2013-04-08 01:29  Wishmeluck  阅读(655)  评论(0编辑  收藏  举报