Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標(biāo)題:Symbian文檔類讀寫文件和讀寫Ini文件

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

CDocumentExampleDocument* aDocument =

static_cast< CDocumentExampleDocument* > (AppUi()->Document() ); aDocument->SaveL(); 本部分參照《Series 60應(yīng)用程序框架》一書。 二、ini文件讀寫 Series 60中并沒有默認(rèn)提供對Symbian OS .ini文件的支持。為了允許應(yīng)用程序使用.INI文件,必須重寫應(yīng)用程序類的OpenIniFileLC()函數(shù),使其調(diào)用EikApplication:: OpenIniFileLC()。例如: CDictionaryStore* CDocumentExampleApplication::OpenIniFileLC(RFs& aFs) const { return CEikApplication::OpenIniFileLC(aFs); } 此時,運(yùn)行應(yīng)用程序,即會發(fā)現(xiàn)有ini文件產(chǎn)生。 CDocumentExampleAppUi里寫兩個函數(shù)WriteIniFileReadIniFile,通過這兩個函數(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文件,這兩個文件的保存的地址為: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為模擬器安裝地址。源碼下載地址
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 成人免费福利视频| 男人的天堂黄色| 日日碰狠狠添天天爽五月婷| 国产成人精品久久亚洲高清不卡| 亚洲www视频| 亚洲香蕉久久一区二区三区四区| AV羞羞漫画在线观看| 粉色视频免费试看| 女人18毛片a级毛片| 国产成人免费在线观看| 五月天婷婷综合网| 麻豆国产高清在线播放| 日韩中文字幕免费| 国产做床爱无遮挡免费视频| 久久天天躁狠狠躁夜夜网站| 99热精品久久只有精品| 波多野结衣一道本| 国产精品污WWW一区二区三区| 亚洲同性男gay网站在线观看| 中文字幕5566| 日韩在线视频观看| 国产一区二区三区内射高清| 中文字幕第三页| 精品久久久久久久中文字幕| 天天射天天干天天色| 亚洲欧美清纯丝袜另类| 香蕉视频网站在线观看| 日韩色日韩视频亚洲网站| 国产在线h视频| 中文字幕一二三四区2021| 第九色区AV天堂| 国产高清www免费视频| 亚洲av无码专区在线观看成人| 黄色一级一毛片| 欧洲多毛裸体xxxxx| 国产婷婷成人久久av免费高清| 久久久久人妻一区精品色| 精品无人区麻豆乱码1区2区| 在线观看国产小视频| 亚洲中久无码永久在线观看同| 高清一级淫片a级中文字幕|