曙海教育集團論壇3G手機技術專區Symbian開發 → Symbian文檔類讀寫文件和讀寫Ini文件


  共有5912人關注過本帖樹形打印

主題:Symbian文檔類讀寫文件和讀寫Ini文件

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
Symbian文檔類讀寫文件和讀寫Ini文件  發帖心情 Post By:2010-12-3 13:23:35

一、文檔類讀寫文件 在Symbian的GUI應用程序中,如果需要永久保存應用程序數據,框架可以自動啟動該進程來保存數據。 文檔類包含兩個可以重寫的重要函數:StroeL()和RestoreL()。在應用程序啟動時,框架自動調用RestoreL()。然后,該函數負責加載應用程序數據。當應用程序退出時,為了保存應用程序數據,框架調用StoreL()函數—需要包括對SaveL()的調用,用于指示框架進行調用。 Series 60與其它的Symbian OS平臺區別是:文檔類的默認行為不是使用文件存儲永久保存數據。因此,Series 60并不會在應用程序啟動時自動打開用于文檔保存的文件。CAknDocument::OpenFile()的實現為空。 不過,通過重寫文檔類中的OpenFile()函數,并調用基類實現,可以完成這種行為: CFileStore*CDocumentExampleDocument::OpenFileL(TBool aDoOpen,const TDesC& aFilename,RFs& aFs) { return CEikDocument::OpenFileL(aDoOpen, aFilename, aFs); } 在完成StroeL()和RestoreL()后,可以調用CAknDocument::SaveL()來實現數據的寫入。

CDocumentExampleDocument* aDocument =

static_cast< CDocumentExampleDocument* > (AppUi()->Document() ); aDocument->SaveL(); 本部分參照《Series 60應用程序框架》一書。 二、ini文件讀寫 Series 60中并沒有默認提供對Symbian OS .ini文件的支持。為了允許應用程序使用.INI文件,必須重寫應用程序類的OpenIniFileLC()函數,使其調用EikApplication:: OpenIniFileLC()。例如: CDictionaryStore* CDocumentExampleApplication::OpenIniFileLC(RFs& aFs) const { return CEikApplication::OpenIniFileLC(aFs); } 此時,運行應用程序,即會發現有ini文件產生。 CDocumentExampleAppUi里寫兩個函數WriteIniFileReadIniFile,通過這兩個函數可以讀寫ini文件。 void CDocumentExampleAppUi::WriteIniFile(TUid iInfo, TDes& aWrite) { RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryWriteStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs);//如果不存在就創建 rdsIniFile.AssignLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.WriteL(buf)); rdsIniFile << aWrite; rdsIniFile.CommitL(); CleanupStack::PopAndDestroy(); cdIniFile->CommitL(); CleanupStack::PopAndDestroy(2); } TBool CDocumentExampleAppUi::ReadIniFile(TUid iInfo, TDes& aRead) { TBool result = EFalse; RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryReadStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs); if (cdIniFile->IsPresentL(iInfo)) { rdsIniFile.OpenLC(*cdIniFile, iInfo); // TPtr8 buf((TUint8*)ptr, size, size); // TRAP(r, rdsIniFile.ReadL(buf)); rdsIniFile >> aRead; CleanupStack::PopAndDestroy(); // rdsIniFile result = ETrue; } CleanupStack::PopAndDestroy( 2); // fs, cdIniFile return result; } 本部分參考了《Symbian中操作ini文件》一文。 總結,本文介紹了如何利用文檔類讀寫數據文件以及如何讀寫ini文件,這兩個文件的保存的地址為:C:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\private\eeddfaa4,其中eeddfaa4為應用程序的UID,C:\S60\devices\S60_3rd_FP2_SDK_v1.1為模擬器安裝地址。源碼下載地址

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

Symbian文檔類讀寫文件和讀寫Ini文件








簽名
主站蜘蛛池模板: 在线观看www日本免费网站| 人人爽人人爽人人片a免费 | 男女午夜免费视频| 日韩一区二区在线免费观看| 国产欧美另类久久精品蜜芽| 亚洲av综合色区无码一区爱av| 2021国内精品久久久久影院 | 99精品在线免费| 清纯秘书被总经理吸乳小说| 大学寝室沈樵无删减| 亚洲精品福利网站| 97久久久久人妻精品专区| 毛茸茸性XXXX毛茸茸毛茸茸| 在线a免费观看最新网站| 亚洲熟妇少妇任你躁在线观看无码| 91高清免费国产自产| 欧美激情校园春色| 国产精品三级在线观看无码| 亚洲一级毛片免费看| 992tv在线| 日本午夜小视频| 啊快点再快点好深视频免费| 国产精品人成在线播放新网站| 欧美国产综合欧美视频| 91精品国产肉丝高跟在线| 91成人在线播放| 欧美日韩在线视频一区| 国产精品午夜在线播放a| 乱了嗯祖宗啊用力| 蹂躏国际女刑警之屈服| 成人免费ā片在线观看| 伊人久久大香线蕉avapp下载| 97精品伊人久久久大香线蕉 | 国产三级精品三级在专区中文 | 日韩成人在线网站| 国产一级一片免费播放i| 一级黄色日b片| 求网址你懂你的2022| 国产真人无码作爱视频免费| 久久乐国产精品亚洲综合| 精品人妻VA出轨中文字幕|