WEB开发网
开发学院手机开发Symbian 开发 Symbian开发中描述符的使用 阅读

Symbian开发中描述符的使用

 2010-05-31 20:05:00 来源:WEB开发网   
核心提示:>模板参数的值,HbufCHBufC通常在以下几种情况下使用:在运行时从资源文件中加载字符串从用户界面中接收用户输入的字符串从应用程序引擎中接收字符串,Symbian开发中描述符的使用(2),如contacts database中的名字对HBufC中的内容进行修改:_LIT(KHello, "Hello
>模板参数的值。

HbufC

HBufC通常在以下几种情况下使用:

在运行时从资源文件中加载字符串

从用户界面中接收用户输入的字符串

从应用程序引擎中接收字符串,如contacts database中的名字

对HBufC中的内容进行修改:

_LIT(KHello, "Hello!");

_LIT(KWorld, "World!");

HBufC* heapBuf = HBufC::NewL(KHello().Length());

*heapBuf = KHello; //buf holds "Hello!"

//第二种方式是采用Alloc(),AllocL()或AllcLC()来处理,

//不过这是已经存在的数据的管理方式。新的Heap Descriptor

//可以自动的根据这个内容来构造。

_LIT (KText , "Test Text");

TBufC< 10 > CBuf = KText;

HBufC * Buf1 = CBuf.AllocL();

CleanupStack::PushL(Buf1);

// 通过可修改指针来改变数据的方式

TPtr Pointer = Buf1- >Des();

//添加数据

LIT ( KNew, "New:");

Pointer.Append(KNew);

//删除数据

Pointer.Delete(Pointer.Length() - 2, 2);

heapBuf = heapBuf- >ReAllocL(KHello().Length() + KWorld().Length());

CleanupStack::PushL(heapBuf);

在使用HbufC时,要记住两种情况:

·如果你需要把HbufC传递给一个用TDesC&作为参数的函数,你只须简单地取消对HBufC指针的参照即可。

·可以通过使用ReAlloc函数来改变堆描述符缓冲区的大小,就象对于TBufC< N >的情况一样.

//创建一个堆描述符,有两种方法

//第一种方法使用New(),NewL()或NewLC()之一

//让我们看一个例子.这里将构建一个HbufC:所用数据空间为15,但是当前大小是0

HBufC * Buf = HBufC::NewL(15);

// 第二种方法使用

// 现有描述符的Alloc(), AllocL(), 或AllocLC()方法。这个新的堆描述符用描述符的内容自动初始化

_LIT (KText , "Test Text");

TBufC< 10 > CBuf = KText;

HBufC * Buf1 = CBuf.AllocL()

TInt BufSize = Buf- >Size();

TInt BufLength = Buf- >Length();

上一页  1 2 3 4 5  下一页

Tags:Symbian 开发 描述

编辑录入:coldstar [复制链接] [打 印]
赞助商链接