?? file.cpp
字號:
#include "File.h"
#include "s32file.h"
#include <aknnotewrappers.h>
#include <aknviewappui.h>
#include <avkon.hrh>
#include "Message.h"
void CFileMessage::WriteUser(TDes& aname, TDes& apasw)
{
RFs iFession;
User::LeaveIfError(iFession.Connect());
iFession.Delete(_L("userinf.ini"));
RFileWriteStream writeStream;
User::LeaveIfError(writeStream.Create(iFession, _L("C:\\userinf.ini"), EFileWrite));
writeStream.PushL();
writeStream.WriteInt32L(aname.MaxLength());
writeStream << aname;
writeStream.WriteInt32L(apasw.MaxLength());
writeStream << apasw;
writeStream.CommitL();
writeStream.Pop();
writeStream.Release();
iFession.Close();
_LIT(message,"write ok !");
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(message);
}
void CFileMessage::ReadUser(TDes& aname, TDes& apasw)
{
RFs iFession;
User::LeaveIfError(iFession.Connect());
RFileReadStream readStream;
if( KErrNone != readStream.Open(iFession, _L("C:\\userinf.ini"), EFileRead))
{
iFession.Close();
return;
}
readStream.PushL();
TBuf<16> buf;
TInt nLen = 0;
nLen = readStream.ReadInt32L();
if(nLen > 0)
{
readStream >> aname;
}
nLen = readStream.ReadInt32L();
if(nLen > 0)
{
readStream >> apasw;
}
readStream.Pop();
readStream.Release();
iFession.Close();
}
CFileMessage::CFileMessage()
{
}
CFileMessage::~CFileMessage()
{
if(NULL != iFileInfo)
{
delete iFileInfo;
iFileInfo = NULL;
}
}
CFileMessage* CFileMessage::NewL()
{
CFileMessage* self = CFileMessage::NewLC();
CleanupStack::Pop(self);
return self;
}
CFileMessage* CFileMessage::NewLC()
{
CFileMessage* self = new(ELeave) CFileMessage;
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
void CFileMessage::ConstructL()
{
iFileInfo = new(ELeave) CArrayFixFlat<CMessage>(10);
}
void CFileMessage::LoadFileInfo(CArrayFixFlat<CMessage>* aInfo) // 加載文件信息
{
_LIT(KFileInfo, "C:\\EveryDay.data");
RFs& Fession = CEikonEnv::Static()->FsSession();
RFileReadStream ReadStream;
// User::LeaveIfError(ReadStream.Open(Fession, KFileInfo, EFileRead));
if(KErrNone != ReadStream.Open(Fession, KFileInfo, EFileRead))
{
return ;
}
ReadStream.PushL();
TInt32 Length=0;
CMessage* file=new(ELeave) CMessage;
TInt32 num=0;
num=ReadStream.ReadInt32L();
TBuf<32> mtitle;
TBuf<128> mcontent;
for (TInt32 i=0;i<num;i++)
{
Length=ReadStream.ReadInt32L();
if(Length>0)
{
ReadStream >> mtitle;
}
Length=ReadStream.ReadInt32L();
if (Length>0)
{
ReadStream >> mcontent;
}
file->SetTitleInfo(mtitle);
file->SetContInfo(mcontent);
aInfo->AppendL(*file);
}
ReadStream.Pop();
ReadStream.Release();
delete file;
}
void CFileMessage::SaveFileInfo(CArrayFixFlat<CMessage>* aInfo) // 保存文件信息
{
_LIT(KFileInfo, "C:\\EveryDay.data");
RFs& Fession = CEikonEnv::Static()->FsSession();
Fession.Delete(KFileInfo);
RFileWriteStream writeStream;
User::LeaveIfError(writeStream.Create(Fession, KFileInfo, EFileWrite));
/* writeStream.PushL();*/
TInt32 nLeng = aInfo->Count();
writeStream << nLeng;
TInt32 nsize = 0;
for(TInt32 i=0; i<nLeng; ++i)
{
nsize=aInfo->At(i).GetTitleInfo().Length();
writeStream.WriteInt32L(nsize);
if (nsize>0)
{
writeStream << aInfo->At(i).GetTitleInfo();
}
nsize=aInfo->At(i).GetContInfo().Length();
writeStream.WriteInt32L(nsize);
if (nsize>0)
{
writeStream << aInfo->At(i).GetContInfo();
}
}
writeStream.CommitL();
/* writeStream.Pop();*/
writeStream.Release();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -