ini配置文件
来源:互联网 发布:公孙乌龙 知乎 编辑:程序博客网 时间:2024/05/25 20:00
首先,ini文件就是一文本文件,可当成普通文本文件来操作。
其次,每个Symbian程序都可以有自己的ini配置文件,里面有程序的初始化信息。对于ini配置文件,Symbian提供了自己的一套方式来处理。
a. 程序要支持ini文件,那就要重载CEikApplication的成员函数,否则程序执行起来会报错,而重载时只要如下语句即可:
CDictionaryStore* CMyApplication::OpenIniFileLC(RFs& aFs) const
{
return CEikApplication::OpenIniFileLC(aFs);
}
这样的话,程序可以在启动时自动的创建一个ini——如果检测到没有的情况下。而这个ini一般是创建在C:/System/App/MyApp目录下的。
b. 一般配置文件要供全局使用,可能要跨越多个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表明这个文件在程序运行时才生成,现在为空。前面用的是“”。
- ini配置文件
- INI配置文件
- INI配置文件
- ini配置文件
- .ini 配置文件
- UrlScan.ini配置文件
- java设置ini配置文件
- PHP.INI配置文件漫游
- php.ini中文版配置文件
- VC读取配置文件(.ini)
- INI配置文件类
- .ini配置文件的存取
- ini配置文件读写
- 读写配置文件 ini
- C#读写INI配置文件
- eclipse.ini配置文件
- C#读取ini配置文件
- PHP.ini中文配置文件
- ORACLE数据库简介
- Web Service安全控制之——访问IP限制
- js权限树的级联操作
- 关于 队列(C语言) ——(参考算法导论)
- poj 1068 Parencodings
- ini配置文件
- 关于文本文件的格式------回车换行符(CR/LF)
- 我的FoxPro情结
- 《算法之美》---插入排序
- 如何搭建自己的自动化测试框架
- TBuf8向TBufC的转换
- Web Service安全控制之——SoapHeader
- 通过服务器调试目标机Vxworks程序的设置方法
- C#(winfrom)下 利用上下键 控制焦点切换