Symbian中ini檔案的使用
原文地址:http://www.goodod.com/html/68/bencandy_9415.htm
如果程式中需要配置檔案(如儲存進度,聲音等)那可以使用ini檔案來處理,同MFC一樣也有專門處理配置檔案的API,這就是OpenIniFileLC(RFs& aFs)。
首要的一條,你的程度要支援ini檔案,那就要過載這個CEikApplication的成員函式,否則程式執行起來會報錯,而過載時只要如下語句即可:
CDictionaryStore* CMyApp::OpenIniFileLC(RFs& aFs) const
{
return CEikApplication::OpenIniFileLC(aFs);
}
這樣的話,程式可以在你啟動時自動的建立一個ini——如果檢測到沒有的情況下。而這個ini一般是建立在C:/System/App/MyApp目錄下的,注意即使使用者選擇安裝在E盤,那還是會把ini安裝在系統盤上,SDK說明這個預設碟符是放在KIniFileDrive裡,但我還沒有找到辦法如何去修改它,如果你知道了告訴我一聲哦:)
一般配製檔案要供全域性使用,可能要跨越多個view,因此我們把它的操作及資料定義在UI級別,在MyAppUi的ConstructL()函式中有如下語句:
//處理基本的資料
delete iMyConfig;
iMyConfig = CMyConfigData::NewL();
CDictionaryStore* store = Application()->OpenIniFileLC(iCoeEnv->FsSession());
if (store->IsPresentL(KUidKey))
{
LoadIniFile(store);
}
else
{
iMyConfig->SetDefault();
SaveIniFile(store);
}
CleanupStack::PopAndDestroy();
//--結束處理
void CMyAppUi::SaveIniFile(CDictionaryStore* aStore)
{
RDictionaryWriteStream out;
out.AssignLC(*aStore, KUidKey);
out << *iMyConfig;
out.CommitL();
CleanupStack::PopAndDestroy();
aStore->CommitL();
}
void CAknExSettingListAppUi::LoadIniFile(CDictionaryStore* aStore)
{
RDictionaryReadStream in;
in.OpenLC(*aStore, KUidKey);
in >> *iMyConfig;
CleanupStack::PopAndDestroy();
}
當然具體的CMyConfigData裡還要有一些相應的匯入匯出處理,這樣才完美:)
有時候我們還需要在程式中處理一下配置的儲存,那我們可以使用如下程式碼(在view中):
CDictionaryStore *IniFile = AppUi()->Application()->OpenIniFileLC(CCoeEnv::Static()->FsSession());
RDictionaryWriteStream WriteStream;
WriteStream.AssignLC( *IniFile, KUidKey );
WriteStream << *iData;
WriteStream.CommitL();
CleanupStack::PopAndDestroy();
IniFile->CommitL();
CleanupStack::PopAndDestroy();
把它放在一個函式中即可:)
最後要說明的是,如果不在pkg裡有明確說明,那儲存在系統盤上的ini在程式被刪除後是不會丟失的,這就造成了垃圾檔案,我們只需要在pkg中加入下面一句就可以徹底刪除這些:
; Remove INI file when uninstalling the app.
""-"C:/system/apps/MyApp/MyApp.ini",FN
FN表明這個檔案在程式執行時才生成,現在為空。前面用的是“”。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1449655
相關文章
- Symbian中操作ini檔案
- 使用C#讀寫ini檔案C#
- C# winform中讀寫ini檔案C#ORM
- C#中讀寫INI配置檔案C#
- java操作ini檔案Java
- php.ini檔案中的include_path設定PHP
- NPM酷庫047:ini,解析INI配置檔案NPM
- 使用IniEditor讀寫INI型別配置檔案型別
- 神祕的.user.ini檔案
- MySql5.7配置檔案my.ini 設定 my.ini檔案路徑MySql
- php修改php.ini配置檔案中disable_functionsPHPFunction
- MySQL的my.ini檔案查詢MySql
- 淺析Mysql的my.ini檔案MySql
- php.ini 檔案在哪裡?PHP
- java 讀寫 ini 配置檔案Java
- Mysql 配置檔案 my.iniMySql
- IIS不能下載ini檔案
- 建立與讀取.ini檔案
- c#讀寫ini檔案C#
- VB讀寫ini檔案 (轉)
- winform c#寫ini檔案ORMC#
- delphi讀取ini檔案 (轉)
- Python進階,ConfigParser:Python中對於ini格式的配置檔案的使用Python
- Python 使用ConfigParser操作ini配置檔案教程。Python
- Symbian OS上的檔案操作和UNICODE轉換Unicode
- 修復boot.ini檔案非法的方法boot
- 關於PHP.ini檔案的設定PHP
- MySQL配置檔案my.ini在哪MySql
- ini檔案解析c庫(iniparser)【轉】
- python ini 配置檔案處理Python
- mysql--my.ini配置檔案配置MySql
- VB.NET 讀寫ini檔案
- C#讀取ini配置檔案C#
- Symbian 資原始檔解析
- 在VB應用程式中使用INI檔案的一點體會 (轉)
- 【PHP】修改PHP配置檔案php.ini 上傳檔案的大小限制PHP
- .user.ini檔案構成的PHP後門PHP
- Boot.ini 檔案的可用開關選項boot