COblist使用中的问

yangzhb2003 2003-08-18 04:26:00
我在用COblist过程中遇到这样一个问题?
我在不同的地方使用同一个COblist,但我发现它只能读一遍但我的需要读N遍请各位大哥给点建议?不胜感激!!!
...全文
190 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzhb2003 2003-08-19
  • 打赏
  • 举报
回复
he_zhidan(何志丹:壮志在我心)
非常感谢!我己解决了。
  • 打赏
  • 举报
回复
如果不行的话
请给我发短消息
不要忘记帖子的id
  • 打赏
  • 举报
回复


二, 表使用心得

我以CStringList为例,谈一下使用表的心得.注意:查看MSDN,实际上看的是CObList,注意相应的类型改成CString类,当然还有一些小差别,具体看vc的提示,最好安装vc_assist6.下面这个例子几乎用到这个类所有的函数.



CStringList var(15);

POSITION position;

position = var.InsertAfter(NULL,"item1");

position = var.InsertAfter(position,"item3");

position = var.InsertBefore(position,"item2");



for( position = var.GetHeadPosition(); NULL != position ; )

AfxMessageBox(var.GetNext(position));



for( position = var.GetTailPosition(); NULL != position ;var.GetPrev(position))

{

CString str;

str = var.GetAt(position);



if("item3"==str)

{

var.RemoveAt(position);

}

else

{

str.MakeUpper();

var.SetAt(position,str);

}



}



var.RemoveHead();

var.RemoveTail();

var.RemoveAll();



var.AddHead("he");

var.AddTail("dan");



position = var.Find("he");

var.SetAt(position,"He");



position = var.FindIndex(1);

var.SetAt(position,"Dan");

//end

下面是该类函数的简介.

POSITION InsertBefore( POSITION position, CObject* newElement );

POSITION InsertAfter( POSITION position, CObject* newElement );

在一个位置前或后插入一个新元素.



POSITION GetHeadPosition( ) const;

POSITION GetTailPosition( ) const;

获得头位置和尾位置.

CObject*& GetNext( POSITION& rPosition );

CObject* GetNext( POSITION& rPosition ) const;

CObject*& GetPrev( POSITION& rPosition );

CObject* GetPrev( POSITION& rPosition ) const;

获得后一元素或前一元素,注意rPosition会变.

CObject*& GetAt( POSITION position );

CObject* GetAt( POSITION position ) const;

根据位置得到元素.

void SetAt( POSITION pos, CObject* newElement );

根据位置设置元素.

void RemoveAt( POSITION position );

根据位置删除元素.

CObject* RemoveHead( );删除并返回头元素

CObject* RemoveTail( ); 删除并返回尾元素

POSITION AddHead( CObject* newElement );增加头元素
void AddHead( CObList* pNewList );在前面加一个表
POSITION AddTail( CObject* newElement );增加尾元素
void AddTail( CObList* pNewList );在后面加一个表
POSITION Find( CObject* searchValue, POSITION startAfter = NULL ) const根据元素值找位置.
POSITION FindIndex( int nIndex ) const根据索引找位置.

=========================
只能读一遍???




16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧