亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? file.cpp

?? 一個學習Symbian很好的例子
?? CPP
字號:

//File.cpp

//Author:LiuLiPing
//version 1.0
//Date: 2006-2-14
//Example for showing you input words and if you want to exit press "Esc" 

#include <e32cons.h>
#include <s32strm.h>
#include <f32file.h>
#include <s32file.h>

LOCAL_D CConsoleBase* console;    // All messages written to this

// Function prototypes
 void callExampleL();
 void doExampleL();
 
//////////////////////////////////////////////////////////////////////////////
//
//       CWriteAndRead (definition)
//
// A class for Write and Read the word 
//
//////////////////////////////////////////////////////////////////////////////
 class CWriteAndRead:public CBase
 {
 public:
	 static CWriteAndRead* NewL(const TDesC& aFileName, const TDesC& aLetter);
	 static CWriteAndRead* NewLC(const TDesC& aFileName, const TDesC& aLetter);
 public:
	 void WriteToFile(RFs aFs);		//將輸入的字符寫入文件
	 void ReadFromFile(RFs aFs);	//從文件讀取寫入的字符
 private:
	void ExternalizeL(RWriteStream& aStream);  	//外化
	void InternalizeL(RReadStream&  aStream);	//內化
	void ConstructL(const TDesC& aFileName, const TDesC& aLetter);
	~CWriteAndRead();
 private:
	 HBufC* iLetter;		//用來保存當前字符
	 TFileName iFileName;	//文件名
 };

 
 //////////////////////////////////////////////////////////////////////////////
//
//       CWord (definition)
//
// A class for print and count the word number
//
//////////////////////////////////////////////////////////////////////////////

class CWord:public CBase
{
public:
	static CWord* NewL(TInt aMaxLength);
	static CWord* NewLC(TInt aMaxLength);
private:
	CWord(TInt aMaxLength);
	void ConstructL(TInt aMaxLength);
public:
	HBufC* GetWord();			//得到字符
	TInt WordL(TChar aChar);	//
	void HBufCToZero();			//將成員變量iHBufC清零,并且將iLength設置為零
	~CWord();
private:
	TInt iLength;
	TInt iMaxLength;
	HBufC* iHBufC;
};

//////////////////////////////////////////////////////////////////////////////
//
//       CAOExample (definition)
//
//////////////////////////////////////////////////////////////////////////////

class CAOExample:public CActive
{
public:
	static CAOExample* NewL(CConsoleBase* aConsole);
	static CAOExample* NewLC(CConsoleBase* aConsole);
private:
	CAOExample();
	void ConstructL(CConsoleBase* aConsole);
public:
	void Start();
	void Clear();					//調用CWord中的HBufCToZero()
	void KeyPressInput(TChar aChar);//接收當前輸入的字符,并進行一系列處理操作
	~CAOExample();
private:
	void RunL();
	void Cancel();
	void DoCancel();
private:
	CConsoleBase* iConsole;
	CWord* iCWord;

};
////////////////////////////////////////////////////////////////////////////////
//
//		CWriteAndRead implement
// 
////////////////////////////////////////////////////////////////////////////////
CWriteAndRead* CWriteAndRead::NewL(const TDesC& aFileName, const TDesC& aLetter)
{
	CWriteAndRead* self = NewLC(aFileName,aLetter);
	CleanupStack::Pop(self);
	return self;
}
CWriteAndRead* CWriteAndRead::NewLC(const TDesC& aFileName, const TDesC& aLetter)
{
	CWriteAndRead* self = new(ELeave) CWriteAndRead();
	CleanupStack::PushL(self);
	self->ConstructL(aFileName,aLetter);
	return self;
}
void CWriteAndRead::ConstructL(const TDesC& aFileName, const TDesC& aLetter)
{
	iLetter = aLetter.Alloc();	//分配空間且初始化成員變量iLetter
	iFileName = aFileName;
}
void CWriteAndRead::WriteToFile (RFs aFs)
{
	RFileWriteStream writeStream; 
	User::LeaveIfError(writeStream.Replace(aFs,iFileName,EFileWrite));	//打開文件
	writeStream.PushL();		//壓棧
    ExternalizeL(writeStream);	//內化
	writeStream.CommitL();		//提交
	writeStream.Pop();			//彈棧
	writeStream.Release();		//釋放資源
}
void CWriteAndRead::ReadFromFile (RFs aFs)
{
	RFileReadStream readStream;
	User::LeaveIfError(readStream.Open(aFs,iFileName,EFileRead));	//打開文件
	readStream.PushL();
	InternalizeL(readStream);	//外化
	readStream.Pop();
	readStream.Release();
}
void CWriteAndRead::ExternalizeL (RWriteStream& aStream)
{
	aStream<<*iLetter;	//將iLetter寫入文件
}
void CWriteAndRead::InternalizeL (RReadStream& aStream)
{
	TPtr ptr = iLetter->Des();
	ptr.Zero();
	delete iLetter;				
	iLetter = NULL;
	iLetter = HBufC::NewL(aStream,1);	//從文件中讀取當前字符
    console->Printf(*iLetter);			//打印當前字符
}

CWriteAndRead::~CWriteAndRead()
{
	delete iLetter;
	iLetter = NULL;
}
////////////////////////////////////////////////////////////////////////////////
//
//		CWord implement
// 
////////////////////////////////////////////////////////////////////////////////

CWord* CWord::NewL(TInt aMaxLength)
{
   CWord* self = NewLC(aMaxLength);
   CleanupStack::Pop(self);
   return self;
}
CWord* CWord::NewLC(TInt aMaxLength)
{
   CWord* self = new(ELeave) CWord(aMaxLength);
   CleanupStack::PushL(self);
   self->ConstructL(aMaxLength);
   return self;
}

void CWord::ConstructL(TInt aMaxLength)
{
   iHBufC = HBufC::NewL(aMaxLength);
}

CWord::CWord(TInt aMaxLength)
{
   iMaxLength = aMaxLength;
   iLength = 0;
}

TInt CWord::WordL(TChar aChar)
{
   TPtr ptr=iHBufC->Des();
   if(iLength<iMaxLength) 
   {
	  ptr.Append(aChar);		 
	  iLength++;
	  return 1;
   }
	else 
	  return 0;
}
HBufC* CWord::GetWord()
{
	return iHBufC;
}

void CWord::HBufCToZero()
{
   iHBufC->Des().Zero();			//Sets the length of the data to zero
   iLength = 0;
}

CWord::~CWord()
{
   delete iHBufC;
   iHBufC = NULL;
   iLength = 0;
   iMaxLength = 0;
}

////////////////////////////////////////////////////////////////////////////////
//
//		CAOExample implement
// 
////////////////////////////////////////////////////////////////////////////////

CAOExample* CAOExample::NewL(CConsoleBase* aConsole)
{
   CAOExample* self =  NewLC(aConsole);
   CleanupStack::Pop(self);
   return self;
}

CAOExample* CAOExample::NewLC(CConsoleBase* aConsole)
{
   CAOExample* self = new(ELeave) CAOExample();
   CleanupStack::PushL(self);
   self->ConstructL(aConsole);
   return self;
}

void CAOExample::ConstructL(CConsoleBase* aConsole)
{
   iConsole = aConsole;
   iCWord = CWord::NewL(1);
   CActiveScheduler::Add(this);
}

CAOExample::CAOExample():CActive(EPriorityStandard)
{
}
void CAOExample::Start()
{
   iConsole->Read(iStatus);
   SetActive();
}

void CAOExample::Clear()
{
	iCWord->HBufCToZero();
}

void CAOExample::KeyPressInput(TChar aChar)
{
	RFs iFs;
	User::LeaveIfError(iFs.Connect());		//建立文件連接
	_LIT(KFile,"c:\\myfile\\file.txt");		//定義文件名
	TBuf<20> filename(KFile);
	if(aChar == EKeyEscape)			//如果輸入Esc
	{
		Cancel();
		CActiveScheduler::Stop();
	}
	if(aChar == EKeyEnter)		//如果輸入Enter
	{
		_LIT(KEnter,"\n");
		TBuf<1> buf(KEnter);
    	CWriteAndRead* wr = CWriteAndRead::NewL(filename,buf);	//建立CWriteAndRead的指針wr
	   
		wr->WriteToFile(iFs);	//寫入文件
		wr->ReadFromFile(iFs);	//從文件讀取
		Clear();
	}
	else
	{
    	iCWord->WordL(aChar);
    	CWriteAndRead* wr = CWriteAndRead::NewL(filename,*(iCWord->GetWord()));	   
    	wr->WriteToFile(iFs);
    	wr->ReadFromFile(iFs);
	    Clear();
	}  
	iFs.Close();
    Start(); 
}

void CAOExample::RunL()
{
   KeyPressInput((TChar)iConsole->KeyCode());
}

void CAOExample::Cancel()
{
   DoCancel();
}

void CAOExample::DoCancel()
{
   iConsole->ReadCancel(); //Cancels any pending Read() operations
}

CAOExample::~CAOExample()
{
	delete iCWord;
	iCWord = NULL;
	iConsole = NULL;
}

GLDEF_C TInt E32Main()
{
	
   CTrapCleanup* cleanup=CTrapCleanup::New();	// Get cleanup stack
   TRAPD(error,doExampleL());					// callExampleL() should never leave.
   _LIT(KMsgPanicEpoc32ex,"EPOC32EX");
   __ASSERT_ALWAYS(!error,User::Panic(KMsgPanicEpoc32ex,error));
   delete cleanup;								// destroy the cleanup stack
   return 0;									// return
    }

////////////////////////////////////////////////////////////////////////////////
//
//		doExample() implement
// 
////////////////////////////////////////////////////////////////////////////////

void doExampleL()
{
	_LIT(KPressAnyKey,"[Press any key...OK]");
  	_LIT(KMsgExampleCode,"Symbian OS AOExample");
	console = Console::NewL(KMsgExampleCode,TSize(KConsFullScreen,KConsFullScreen));
	CleanupStack::PushL(console);		// Put console onto the cleanup stack.
	int error;
	TRAP(error,callExampleL());			//TRAPD(error,callExampleL());
	    if(error)
	{
		_LIT(KERROR,"error occured!\n");
		console->Printf(KERROR);
	}
	else{
      _LIT(KNOLEAVE,"\nNo Leave!\n");
		console->Printf(KNOLEAVE);
	}
	console->Printf(KPressAnyKey);
	console->Getch();
	CleanupStack::PopAndDestroy();		//Remove the cleanupstack and destroy
}

////////////////////////////////////////////////////////////////////////////////
//
//		callExample() implement
// 
////////////////////////////////////////////////////////////////////////////////

void callExampleL() 
    {
     CActiveScheduler* AS=new (ELeave)CActiveScheduler;	
	 CleanupStack::PushL(AS);
	 CActiveScheduler::Install(AS);	
	 CAOExample* activeObjectExample=CAOExample::NewL(console);			
	 activeObjectExample->Start();							
	 console->Printf(_L("If you want to exit please press\"Esc\"!\n"));
	 console->Printf(_L("Please input word!\n"));
	 CActiveScheduler::Start();		
	 CleanupStack::PopAndDestroy();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区久久久久| 欧美日韩免费一区二区三区 | 欧美一级久久久| 日韩一区二区三区视频| 91麻豆精品国产91久久久更新时间 | 中文字幕巨乱亚洲| 国产日本一区二区| 亚洲综合区在线| 一区二区三区国产精华| 亚洲成人激情综合网| 日日夜夜免费精品视频| 九九九久久久精品| 国产一区二区三区综合| 国产米奇在线777精品观看| 激情图区综合网| 色94色欧美sute亚洲13| 欧美日本一区二区| 日韩一区二区高清| 亚洲三级视频在线观看| 久久成人久久爱| 色综合天天综合在线视频| 精品久久久久久亚洲综合网| 亚洲午夜视频在线| 日本精品一级二级| 亚洲视频免费在线观看| 免费人成精品欧美精品| 欧美色区777第一页| 亚洲图片激情小说| 波多野结衣在线一区| 日韩欧美激情四射| 美女诱惑一区二区| 91麻豆精品国产91| 日本色综合中文字幕| 91精品91久久久中77777| 国产精品女主播av| www..com久久爱| 亚洲色图另类专区| 92精品国产成人观看免费| 日本一区二区三区免费乱视频| 狠狠色丁香久久婷婷综| 国产精品乱码一区二区三区软件| 亚洲成在线观看| 夜色激情一区二区| 国产一区二区三区久久悠悠色av| 色哟哟国产精品| 秋霞国产午夜精品免费视频| 日韩精品中文字幕一区二区三区| 91精品中文字幕一区二区三区| 成人精品国产一区二区4080| 色哟哟一区二区三区| 色综合久久久久久久久久久| 日本乱人伦一区| 欧美丝袜丝nylons| 国产精品乡下勾搭老头1| 国产精品久久久久久久久搜平片| 欧美日韩国产综合一区二区| 福利一区二区在线观看| 亚洲激情图片小说视频| 在线电影院国产精品| 欧美精品一区二区三区很污很色的 | 久久综合成人精品亚洲另类欧美| 欧美视频一区二区三区在线观看| k8久久久一区二区三区| 高清不卡在线观看av| 国产综合久久久久久鬼色| 免费在线观看成人| 日本成人在线网站| 日韩精品乱码av一区二区| 一区二区三区小说| 尤物视频一区二区| 亚洲黄色免费电影| 夜夜精品视频一区二区| 亚洲精品高清在线观看| 中文字幕亚洲一区二区av在线 | 亚洲色图一区二区三区| 亚洲图片你懂的| 亚洲免费av在线| 一区二区三区四区亚洲| 一区二区视频在线看| 樱花草国产18久久久久| 一区二区三国产精华液| 亚洲国产欧美另类丝袜| 亚洲高清中文字幕| 免费观看一级特黄欧美大片| 免费在线成人网| 九色综合狠狠综合久久| 粉嫩高潮美女一区二区三区 | 国产伦精品一区二区三区视频青涩 | 日韩成人午夜电影| 精品一区二区在线视频| 国产高清成人在线| 成人激情动漫在线观看| 91老师国产黑色丝袜在线| 欧洲日韩一区二区三区| 日韩区在线观看| 久久久国产精品麻豆| 国产精品理论在线观看| 一区二区三区欧美日| 日韩av电影天堂| 国产在线乱码一区二区三区| 国产精品综合久久| 91丨九色丨尤物| 91麻豆精品国产91久久久久久久久| 日韩精品一区二区在线| 亚洲国产精品成人综合| 一区二区在线观看视频| 青草国产精品久久久久久| 国产精品一区在线观看你懂的| av不卡免费电影| 91精品国产色综合久久| 国产欧美日韩在线| 午夜精品福利久久久| 国产精品69毛片高清亚洲| 欧美天天综合网| 久久久久久久久99精品| 亚洲制服丝袜av| 激情成人午夜视频| 日本道在线观看一区二区| 久久网站热最新地址| 一区二区三区在线免费视频 | 国产精品国产三级国产专播品爱网| 亚洲一线二线三线久久久| 国产麻豆成人精品| 欧美日韩一区二区三区免费看 | 精品无人区卡一卡二卡三乱码免费卡| 成人av在线网站| 91精品蜜臀在线一区尤物| 欧美激情在线一区二区三区| 五月综合激情日本mⅴ| av不卡免费在线观看| 久久众筹精品私拍模特| 五月激情综合色| 色一情一伦一子一伦一区| 国产欧美日韩视频在线观看| 日韩 欧美一区二区三区| 91丨porny丨首页| 国产欧美日韩三级| 精品一区中文字幕| 欧美精品1区2区3区| 亚洲男人都懂的| 国产91高潮流白浆在线麻豆| 欧美成人vr18sexvr| 亚洲超碰97人人做人人爱| 91视频在线观看| 国产精品人妖ts系列视频| 激情欧美日韩一区二区| 4hu四虎永久在线影院成人| 一区二区欧美在线观看| 97se亚洲国产综合自在线| 国产精品女上位| 国产成人精品网址| 久久久午夜精品| 久久国产夜色精品鲁鲁99| 这里是久久伊人| 日韩av午夜在线观看| 欧美日韩mp4| 三级在线观看一区二区 | 成人av电影免费在线播放| 久久综合999| 国产精品一二三在| 久久久久久电影| 国产精品亚洲第一| 久久久精品黄色| 成人综合在线网站| 欧美韩国日本一区| 成人av电影免费观看| 亚洲丝袜精品丝袜在线| 91在线国产观看| 一区二区在线看| 欧美三级欧美一级| 婷婷综合久久一区二区三区| 91精品国产综合久久久久久漫画| 婷婷综合五月天| 日韩美女一区二区三区四区| 久久99日本精品| 久久噜噜亚洲综合| 高清国产一区二区| 亚洲乱码国产乱码精品精小说 | 欧美xxxx老人做受| 国内精品不卡在线| 久久精品男人的天堂| 成人av网站在线| 一级日本不卡的影视| 欧美久久久久久久久久| 久久精品国产一区二区三| 久久精品一区蜜桃臀影院| 成人网页在线观看| 亚洲一区二区三区四区在线| 精品视频999| 精品综合免费视频观看| 中文字幕+乱码+中文字幕一区| 91一区在线观看| 石原莉奈在线亚洲二区| 久久精品一二三| 一本大道久久精品懂色aⅴ| 日本午夜一本久久久综合| 日本一区免费视频| 欧美性猛交xxxxxx富婆| 激情综合五月天| 亚洲欧美电影院|