⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tbufandtbufc.cpp

📁 symbian 小程序
💻 CPP
字号:
// TBufAndTBufC.cpp
//
// Copyright (c) 2005 CCNIIT.  All rights reserved.

// author: hewei
// copyright 1.0
// Date: 2005-10-14

// Example shows attempt to use TBuf and TBufC
// NOTE: the structure of this example is different to standard E32 examples


#include <e32cons.h>

  // All messages written to this
LOCAL_D CConsoleBase* console;
const TInt KMAXLENGTH=20;
// Function prototypes
 void callExampleL();
 void doExampleL();
 void useTBuf();
 void useTBufC();
//////////////////////////////////////////////////////////////////////////////
//
//use TBuf in useTBuf function
//
//////////////////////////////////////////////////////////////////////////////
void useTBuf()
{
	_LIT(KNEWLINE,"\n");
	_LIT(KFIRST,"hello");
    _LIT(KSECOND," world!");
	_LIT(KHEWEI,"hewei!");

	TBuf<KMAXLENGTH> buf(KFIRST);//object of TBuf;
    
    // print TBuf
    console->Printf(buf);
	console->Printf(KNEWLINE);
    //Append another string to buf
	buf.Append(KSECOND);
    console->Printf(buf);
    console->Printf(KNEWLINE);
	//Insert a string to buf
	buf.Insert(0,KHEWEI);
	console->Printf(buf);
    console->Printf(KNEWLINE);
	//print length and size of buf
	_LIT(KINFO,"length=%d,size=%d\n");
	console->Printf(KINFO,buf.Length(),buf.Size());
	//left right mid
    _LIT(KLEFT,"left=");
	console->Printf(KLEFT);
	console->Printf(buf.Left(3));
    console->Printf(KNEWLINE);
	_LIT(KRIGHT,"right=");
	console->Printf(KRIGHT);
    console->Printf(buf.Right(3));
    console->Printf(KNEWLINE);
	_LIT(KMID,"mid=");
	console->Printf(KMID);
	console->Printf(buf.Mid(4));
	console->Printf(KNEWLINE);
	//delete
	buf.Delete(0,5);
	console->Printf(buf);
    console->Printf(KNEWLINE);
}
void useTBufC()
{
    _LIT(KNEWLINE,"\n");
	_LIT(KFIRST,"hello");
    _LIT(KSECOND," world!");
	_LIT(KHEWEI,"hewei!");

	TBufC<KMAXLENGTH> bufc(KFIRST);//object of TBufC;
    
    // print TBufC
    console->Printf(bufc);
	console->Printf(KNEWLINE);
	//get the modifiable description;
	TPtr ptr=bufc.Des();
    //Append another string to buf
	ptr.Append(KSECOND);
    console->Printf(bufc);
    console->Printf(KNEWLINE);
	//Insert a string to buf
	ptr.Insert(0,KHEWEI);
	console->Printf(bufc);
    console->Printf(KNEWLINE);
	//print length and size of buf
	_LIT(KINFO,"length=%d,size=%d\n");
	console->Printf(KINFO,bufc.Length(),bufc.Size());
	
	//delete
	ptr.Delete(0,5);
	console->Printf(bufc);
    console->Printf(KNEWLINE);
}
//////////////////////////////////////////////////////////////////////////////
//
// Main function called by E32
//
//////////////////////////////////////////////////////////////////////////////
GLDEF_C TInt E32Main()
    {
	  // Get cleanup stack
	CTrapCleanup* cleanup=CTrapCleanup::New();

	 // Some more initialization, then do the example
    TRAPD(error,doExampleL());
	
	  
	  // callExampleL() should never leave.
	_LIT(KMsgPanicEpoc32ex,"EPOC32EX");
	__ASSERT_ALWAYS(!error,User::Panic(KMsgPanicEpoc32ex,error));

  // destroy the cleanup stack
	delete cleanup;
	
	  // return
	return 0;
    }


//////////////////////////////////////////////////////////////////////////////
//
//
//
//////////////////////////////////////////////////////////////////////////////
void doExampleL()
{
  	//Get Console;
	_LIT(KMsgExampleCode,"Symbian OS Example Code");
	console = Console::NewL(KMsgExampleCode,TSize(KConsFullScreen,KConsFullScreen));
		// Put console onto the cleanup stack.
	CleanupStack::PushL(console);

	int error;
	TRAP(error,callExampleL());
	//TRAPD(error,callExampleL());
    if(error)
	{
		_LIT(KERROR,"error occured!\n");
		console->Printf(KERROR);
	
	}
	else{
      _LIT(KNOLEAVE,"No Leave!\n");
		console->Printf(KNOLEAVE);
	}
	console->Getch();
		// Remove the console object from the cleanupstack
	  // and destroy it. 	
	CleanupStack::PopAndDestroy();
}

void callExampleL() 
    {
    useTBuf();
	console->Getch();
    useTBufC();
   }


//////////////////////////////////////////////////////////////////////////////
//
// Do the example
//
//////////////////////////////////////////////////////////////////////////////









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -