以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://m.scb-ycwb.com/bbs/index.asp)
--  Symbian開發(fā)  (http://m.scb-ycwb.com/bbs/list.asp?boardid=46)
----  Symbian文檔類讀寫文件和讀寫Ini文件  (http://m.scb-ycwb.com/bbs/dispbbs.asp?boardid=46&id=2044)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-3 13:23:35
--  Symbian文檔類讀寫文件和讀寫Ini文件
一、文檔類讀寫文件 在Symbian的GUI應(yīng)用程序中,如果需要永久保存應(yīng)用程序數(shù)據(jù),框架可以自動(dòng)啟動(dòng)該進(jìn)程來保存數(shù)據(jù)。 文檔類包含兩個(gè)可以重寫的重要函數(shù):StroeL()和RestoreL()。在應(yīng)用程序啟動(dòng)時(shí),框架自動(dòng)調(diào)用RestoreL()。然后,該函數(shù)負(fù)責(zé)加載應(yīng)用程序數(shù)據(jù)。當(dāng)應(yīng)用程序退出時(shí),為了保存應(yīng)用程序數(shù)據(jù),框架調(diào)用StoreL()函數(shù)—需要包括對(duì)SaveL()的調(diào)用,用于指示框架進(jìn)行調(diào)用。 Series 60與其它的Symbian OS平臺(tái)區(qū)別是:文檔類的默認(rèn)行為不是使用文件存儲(chǔ)永久保存數(shù)據(jù)。因此,Series 60并不會(huì)在應(yīng)用程序啟動(dòng)時(shí)自動(dòng)打開用于文檔保存的文件。CAknDocument::OpenFile()的實(shí)現(xiàn)為空。 不過,通過重寫文檔類中的OpenFile()函數(shù),并調(diào)用基類實(shí)現(xiàn),可以完成這種行為: CFileStore*CDocumentExampleDocument::OpenFileL(TBool aDoOpen,const TDesC& aFilename,RFs& aFs) { return CEikDocument::OpenFileL(aDoOpen, aFilename, aFs); } 在完成StroeL()和RestoreL()后,可以調(diào)用CAknDocument::SaveL()來實(shí)現(xiàn)數(shù)據(jù)的寫入。

CDocumentExampleDocument* aDocument =

static_cast< CDocumentExampleDocument* > (AppUi()->Document() ); aDocument->SaveL(); 本部分參照《Series 60應(yīng)用程序框架》一書。 二、ini文件讀寫 Series 60中并沒有默認(rèn)提供對(duì)Symbian OS .ini文件的支持。為了允許應(yīng)用程序使用.INI文件,必須重寫應(yīng)用程序類的OpenIniFileLC()函數(shù),使其調(diào)用EikApplication:: OpenIniFileLC()。例如: CDictionaryStore* CDocumentExampleApplication::OpenIniFileLC(RFs& aFs) const { return CEikApplication::OpenIniFileLC(aFs); } 此時(shí),運(yùn)行應(yīng)用程序,即會(huì)發(fā)現(xiàn)有ini文件產(chǎn)生。 CDocumentExampleAppUi里寫兩個(gè)函數(shù)WriteIniFileReadIniFile,通過這兩個(gè)函數(shù)可以讀寫ini文件。 void CDocumentExampleAppUi::WriteIniFile(TUid iInfo, TDes& aWrite) { RFs fs; fs.Connect(); CleanupClosePushL(fs); RDictionaryWriteStream rdsIniFile; CDictionaryStore *cdIniFile = Application()->OpenIniFileLC(fs);//如果不存在就創(chuàng)建 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文件》一文。 總結(jié),本文介紹了如何利用文檔類讀寫數(shù)據(jù)文件以及如何讀寫ini文件,這兩個(gè)文件的保存的地址為:C:\\S60\\devices\\S60_3rd_FP2_SDK_v1.1\\epoc32\\winscw\\c\\private\\eeddfaa4,其中eeddfaa4為應(yīng)用程序的UID,C:\\S60\\devices\\S60_3rd_FP2_SDK_v1.1為模擬器安裝地址。源碼下載地址
主站蜘蛛池模板: 欧美巨大xxxx做受高清| 黄色成人在线网站| 特级做a爰片毛片免费看无码| 很污很黄的网站| 北条麻妃一区二区三区av高清| 中文字幕欧美日韩一| 色噜噜视频影院| 搞av.com| 嘿咻视频免费网站| 两个人看的日本高清电影| 美女大量吞精在线观看456| 成人韩免费网站| 动漫精品专区一区二区三区不卡| 一级做a爰片久久毛片唾| 精品无人区麻豆乱码1区2区| 成人免费无码大片A毛片抽搐 | 久久中文精品无码中文字幕| 进进出出稚嫩娇小狭窄| 日本成人在线视频网站| 国产一级淫片免费播放电影| 中文字幕无线码中文字幕免费| 色婷婷激情综合| 成人性生交大片免费看| 午夜亚洲国产精品福利| www.色天使| 毛片让我看一下毛片| 国产资源在线视频| 亚洲国产日韩欧美综合久久| 人人洗澡人人洗澡人人| 日韩免费无砖专区2020狼| 国产亚洲精品欧洲在线观看| 中文字幕第一页亚洲| 精品国产一区二区三区香蕉| 夜夜夜精品视频免费| 亚洲欧洲日产国码二区首页| 日本免费a视频| 日本欧美大码aⅴ在线播放| 又大又硬又爽又深免费看 | 非常h很黄的变身文| 成人激情免费视频| 伊人久久综合谁合综合久久|