找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 481|回复: 0

[ARX函数]:ARX16-AcDbSymbolTableIterator类

[复制链接]
发表于 2003-11-3 10:00:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
AcDbSymbolTableIterator类



此类是用于遍历AcDbSymbolTable对象中的记录的遍历器类的基类。



继承自





包含文件

dbsymtb.h



参见

AcDbSymbolTable



成员

AcDbSymbolTableIterator建构器和析构器

AcDbSymbolTableIterator::~AcDbSymbolTableIterator 函数

virtual

~AcDbSymbolTableIterator();

析构器。



AcDbSymbolTableIterator::AcDbSymbolTableIterator 函数

AcDbSymbolTableIterator();

默认建构器。此建构器被保护。此类的对象不能被创建。




AcDbSymbolTableIterator函数

AcDbSymbolTableIterator::done 函数

bool

done() const;

如果遍历器已定位在符号表的两端之外,则此函数返回true,否则返回false。



AcDbSymbolTableIterator::getRecord 函数

Acad::ErrorStatus

getRecord(

AcDbSymbolTableRecord*& pRecord,

AcDb::OpenMode openMode,

bool openErasedRec = false) const;

pRecord
输出遍历器当前定位的记录的指针

openMode
输入打开记录的模式,可能的模式有:
AcDb::kForRead
AcDb::kForWrite
AcDb::kForNotify

openErasedRec
输入布尔值,表示是否打开已删除的记录


此函数打开(以openMode模式)遍历器定位的记录,设置pRecord指向打开的记录。如果openErasedRec为true则此函数可以打开已删除的记录。

可能返回的ErrorStatus值为:Acad::eOk, Acad::ePermanentlyErased, Acad::eAtMaxReaders, Acad::eWasOpenForNotify, Acad::eWasNotifying, Acad::eWasOpenForUndo, Acad::eWasOpenForWrite, Acad::eWasOpenForRead。



AcDbSymbolTableIterator::getRecordId 函数

Acad::ErrorStatus

getRecordId(

AcDbObjectId& id) const;

id
输出遍历器当前定位的记录的对象ID


此函数在id中返回遍历器定位的对象的AcDbObjectId。

如果成功返回Acad::eOk。



AcDbSymbolTableIterator::seek 函数

Acad::ErrorStatus

seek(

const AcDbSymbolTableRecord* pRecord);

pRecord
输入定位遍历器的记录的指针


此函数在pRecord指定的记录处定位遍历器。

可能的返回ErrorStatus值为:Acad::eOk和Acad::eRecordNotInTable。


--------------------------------------------------------------------------------

Acad::ErrorStatus

seek(

AcDbObjectId id);

id
输入定位遍历器的记录的对象ID


此函数在对象ID为id的记录处定位遍历器。

可能的返回ErrorStatus值为:Acad::eOk和Acad::eRecordNotInTable。



AcDbSymbolTableIterator::start 函数

void

start(

bool atBeginning = true,

bool skipDeleted = true);

atBeginning
输入布尔值,表示从表中的每一条记录或最后一条记录开始

skipDeleted
输入布尔值,表示是否可定位在一个已删除记录(如果它是第一个或最后一个记录)上,或定位在第一个或最后一个未删除的记录


此函数初始化一个遍历器,使其定位于表的开始或结束。如果atBeginning为true,则遍历器定位在表的开始处,否则位置在表的结束处。如果skipDeleted为true,则遍历器定位在每一个或最后一个未删除的记录上,否则它位置在第一个或最后一个记录中,而无论它是否被删除。



AcDbSymbolTableIterator::step 函数

void

step(

bool forward = true,

bool skipDeleted = true);

forward
输入布尔值,表示向前推进或向后

skipDeleted
输入布尔值,表示是否忽略已删除的记录


此函数使遍历器在表中移至下一个(或前一个)记录中。如果forward为true,则遍历器向表的结束方向推进,否则向表的开始的方向推进。如果skipDeleted为true,则忽略已被删除的记录,否则任何已删除的记录都可能被扫描。




成员函数

void * mpImp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 08:02 , Processed in 0.252099 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表