文档介绍:Symbian 学 9 数组
数组是一个很基本的东西了,但是在Symbian中也做了比较人性化的封装,让我们可以省却不少代码,当然也让我们这些新手有点摸不着头脑。、三个类比较实用,需要掌握:TFixedArray、RArray和RPointerArray。
TFixedArray、它是最类似于我们平时使用的数组,从概念上或者从使用上都非常类似。
//声明
TFixedArray TGridCell,81 iGrid;
//使用
void CSuDoScAppView:InitGrid()
{
for(TInt i=0;i 81;i++)
{
if(iCurQs-data[i]==0)
{
iGrid[i].state=TGridCell:ECSTATE_EMPTY;
}
else
{
iGrid[i].state=TGridCell:ECSTATE_FIXED;
}
iGrid[i].value=iCurQs-data[i];
for(TInt j=0;j 9;j++)iGrid[i].tries[j]=0;
}
if(iHeart!=NULL){
iHeart-Cancel();
iTime=0;
iHeart-Start(ETwelveOClock,this);
}
}
把它当成普通的数组来用就OK了,一般也就是用它重载的运算符和Count(),不需new也不需要delete。
RArray从名字上看它以R开头,至少说明一点,在使用完后我们需要将它Close掉。在使用上也比较简单,类似于ArrayList吧。比如下面代码:
//声明
RArray TQuestion iList;
//使用
void CSuDoScAppCtrol:LoadQuestions()
{
RFile file;
TBuf8 4bufC4;
TBuf8 81 bufC81;
if(KErrNone==(iFs,KTiDataFile,EFileRead))
{
(bufC4,4);
TUint len=((TUint)bufC4[3]24)+((TUint)bufC4[2]16)+((TUint)bufC4[1]8)
+(TUint)bufC4[0];
for(int i=0;i len;i++){
TQuestion ti;
();
(bufC4,4);
=((TUint)bufC4[3]24)+((TUint)bufC4[2]16)+((TUint)bufC4[1]8)
+(TUint)bufC4[0];
();
(bufC4,4);
=0;
();
(bufC81,81);
for(TInt i=0;i 81;i++)[i]=bufC81[i];
(ti);
}
();
}
}
()以外,事先不需要做什么初始化工作,一个个的Append进去就可以了。它也重载了运