关于ini文件的使用 - Forum Nokia Wiki
来源:互联网 发布:4g网络车载大屏机 编辑:程序博客网 时间:2024/06/05 20:36
S60中ini文件的使用From Forum Nokia Wiki
如果程序中需要配置文件(如保存进度,声音等)那可以使用ini文件来处理,同MFC一样也有专门处理配置文件的API,这就是OpenIniFileLC(RFs& aFs)。
首要的一条,你的程度要支持ini文件,那就要重载这个CEikApplication的成员函数,否则程序执行起来会报错,而重载时只要如下语句即可:CDictionaryStore* CMyApp::OpenIniFileLC(RFs& aFs) const{ return CEikApplication::OpenIniFileLC(aFs);}
这样的话,程序可以在你启动时自动的创建一个ini——如果检测到没有的情况下。而这个ini一般是创建在C:SystemAppMyApp目录下的,注意即使用户选择安装在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:systemappsMyAppMyApp.ini", FN
FN表明这个文件在程序运行时才生成,现在为空。前面用的是""。
- 关于ini文件的使用 - Forum Nokia Wiki
- S60 phones - Forum Nokia Wiki
- 转:S60 phones - Forum Nokia Wiki
- 转:S60 Platform and device identification codes - Forum Nokia Wiki
- Constructing HTTP POST Url parameters(From Forum Nokia Wiki)
- Drawing skins in container From Forum Nokia Wiki
- Qt Symbian 开发环境安装From Forum Nokia Wiki
- 关于ini文件的使用
- 关于使用INI文件的问题
- forum.nokia是个好网站
- INI文件的使用
- BOOT.ini文件的使用
- NOTES.INI 文件的使用
- 关于C#操作INI文件的总结
- 关于C#操作INI文件的总结
- 关于C#操作INI文件的总结
- MFC 关于ini文件的操作
- 关于C#操作INI文件的总结
- Google Docs 新增绘图功能
- 谁能帮我看看这段代码怎么实现不了小数点功能????
- 大中型网站架构探秘
- Java与模式 观察者模式Observer Pattern
- XFN 1.1 relationships meta data profile学习笔记
- 关于ini文件的使用 - Forum Nokia Wiki
- 系统程序员成长计划-拥抱变化(下)
- Mcad学习笔记之委托再理解(delegate的构造器,MulticastDelegate,BeginInvoke,EndInvoke,Invoke4个方法的探讨)
- 大型网站架构演变和知识体系
- Struts + Spring +ibatis 整合开发步骤:
- linux内核的idle进程分析
- PHP 执行系统外部命令 system() exec() passthru()
- 程序员的习惯
- 我的日记-2009.3.26