<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  Symbian開發  (http://www.hufushizhe.com/bbs/list.asp?boardid=46)
    ----  Symbian文檔類讀寫文件和讀寫Ini文件  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=46&id=2044)

    --  作者:wangxinxin
    --  發布時間:2010-12-3 13:23:35
    --  Symbian文檔類讀寫文件和讀寫Ini文件
    一、文檔類讀寫文件 在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為模擬器安裝地址。源碼下載地址
    主站蜘蛛池模板: 国产一级免费片| 男人把j桶进女的屁股的动态| 日本一本二本免费播放视频| 午夜时刻免费实验区观看| 黑人巨大精品大战白人美女| 无码精品人妻一区二区三区中| 亚洲欧美日韩国产精品专区| 白医生的控制欲| 国产另类在线观看| 91精品国产入口| 天天视频一区二区三区| 久久国产精久久精产国| 激性欧美激情在线播放16页| 国产免费资源高清小视频在线观看| 一级毛片直接看| 欧日韩不卡在线视频| 国产一区二区久久精品| 99国产精品久久久久久久成人热| 性无码专区无码| 亚洲成a人片77777老司机| 狠狠色伊人亚洲综合网站色| 国产欧美日本亚洲精品一4区| juliecasha大肥臀hd| 性欧美video视频另类| 亚洲成av人片在线观看www| 男女一边摸一边脱视频网站| 国产一区二区三区视频| 青草影院内射中出高潮| 成人精品免费视频在线观看| 亚洲av永久综合在线观看尤物| 精品一区二区三区色花堂| 国产在线精品一区二区夜色| 一本大道无码人妻精品专区| 日b视频在线观看| 亚洲色图欧美在线| 看看镜子里我是怎么c哭你的| 国产亚洲一区二区在线观看| 黄A无码片内射无码视频| 国产精品欧美一区二区三区不卡| 中文字幕无码无码专区| 日本熟妇色一本在线观看|