📄 index.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>MD Profile</title>
<style>
<!--
code { font-family: Fixedsys; font-size: 12pt }
body { font-family: Fixedsys; font-size: 12pt }
-->
</style>
</head>
<body>
<p align="center">MD Profile (MDEngine文件系统组件)</p>
<p align="left">版本:2.0.1</p>
<p align="left">支持平台:Microsoft Windows system VC++6</p>
<p align="left">简介:</p>
<p align="left">MDProile是一款使用方便、易于扩展的配置文件操作库,其扩展性体现如下:<br>
1.MDProile支持的配置文件的种类可扩展。默认的,MDProile只能打开后缀为.ini的文件格式,通过dll插件的扩展,可以支持xml等格式,只要有相应的插件库(FileProvider)就可以了。</p>
<p align="left">MDProfile支持的格式:<br>
1.不通过扩展可支持标准Windows的ini文件,Windows注册表的读写。<br>
2.通过外部扩展(Profile Provider),可以支持任意一种格式。</p>
<p align="left">特点:</p>
<ul>
<li>
<p align="left">使用简单</li>
<li>
<p align="left">可扩展,通过epf方式扩展</li>
<li>
<p align="left">支持Windows注册表的操作</li>
</ul>
<p align="left"> </p>
<p align="left">约定、术语:</p>
<ul>
<li>
<p align="left">epf : Extended Profile 扩展的配置文件</li>
<li>
<p align="left">FileProvider : 一个dll文件,通过它可以使MDFile支持各种文件包格式,如xml等</li>
</ul>
<p> </p>
<p>函数接口: </p>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#C0C0C0" width="100%" id="AutoNumber2">
<tr>
<td width="28%">CMD_Profile()</td>
<td width="72%">初始化一个CMD_Profile的实例。</td>
</tr>
<tr>
<td width="28%">CMD_Profile(char *,char *)</td>
<td width="72%">初始化一个CMD_Profile的实例,同时挂接到一个外部FileProvider。</td>
</tr>
</table>
<p> </p>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#C0C0C0" width="754" id="AutoNumber1" height="160">
<tr>
<td width="65" align="center" height="16">void</td>
<td width="375" height="16"><a href="#EnableShowErrorMSG">EnableErrMSG</a>(bool)</td>
<td width="306" height="16">允许或者禁止弹出错误信息窗口</td>
</tr>
<tr>
<td width="65" align="center" height="16">bool</td>
<td width="375" height="16"><a href="#GetErrorCode">GetErrCode</a>()</td>
<td width="306" height="16">得到最近一次错误代码</td>
</tr>
<tr>
<td align="center" height="16" width="65">bool</td>
<td height="16" width="375"><a href="#ConnectFileProvider"> ConnectProvider</a>(char *)</td>
<td height="16" width="306">联接到外部FileProvider</td>
</tr>
<tr>
<td align="center" height="16" width="65">void</td>
<td height="16" width="375"><a href="#FreeProvider">FreeProvider</a>()</td>
<td height="16" width="306">释放已经联接到的外部FileProvider</td>
</tr>
<tr>
<td width="65" align="center" height="16">void</td>
<td width="375" height="16"><a href="#Open">Open</a>(char *)</td>
<td width="306" height="16">从磁盘打开一个配置文件</td>
</tr>
<tr>
<td width="65" align="center" height="16">bool</td>
<td width="375" height="16"><a href="#Open2">Open</a>(LPBYTE,DWORD)</td>
<td width="306" height="16">从内存载入一个配置信息</td>
</tr>
<tr>
<td width="65" align="center" height="16">void</td>
<td width="375" height="16"><a href="#Close">Close</a>()</td>
<td width="306" height="16">关闭已经打开的文件,释放资源</td>
</tr>
<tr>
<td width="65" align="center" height="8">bool</td>
<td width="375" height="8"><a href="#Save">Save</a>(char *,char *)</td>
<td width="306" height="8">将配置信息保存到一个文件</td>
</tr>
<tr>
<td width="65" align="center" height="8">long</td>
<td width="375" height="8"><a href="#ReadInt">ReadInt</a>(char *, char *,
long)</td>
<td width="306" height="8">读取指定索引指定项目的整型值</td>
</tr>
<tr>
<td width="65" align="center" height="14">long</td>
<td width="375" height="14"><a href="#WriteFloat">ReadInt</a>(char *, int, long)</td>
<td width="306" height="14">读取指定索引指定项目序号的整型值</td>
</tr>
<tr>
<td width="65" align="center" height="4">double</td>
<td width="375" height="4"><a href="#ReadText">ReadFloat</a>(char *, char *, double)</td>
<td width="306" height="4">读取指定索引指定项目的浮点数值</td>
</tr>
<tr>
<td width="65" align="center" height="4">double</td>
<td width="375" height="4"><a href="#WriteFloat">ReadFloat</a>(char *, int, double)</td>
<td width="306" height="4">读取指定索引指定项目序号的浮点数值</td>
</tr>
<tr>
<td width="65" align="center" height="4">char *</td>
<td width="375" height="4"><a href="#ReadText">ReadText</a>(char *, char *, char
*)</td>
<td width="306" height="4">读取指定索引指定项目的字符串值</td>
</tr>
<tr>
<td width="65" align="center" height="2">char *</td>
<td width="375" height="2"><a href="#WriteFloat">ReadText</a>(char *, int , char
*)</td>
<td width="306" height="2">读取指定索引指定项目序号的字符串值</td>
</tr>
<tr>
<td width="65" align="center" height="7">void</td>
<td width="375" height="7"><a href="#WriteInt">WriteInt</a>(char *, char *, long
)</td>
<td width="306" height="7">写入一个整型值到指定索引指定项目下</td>
</tr>
<tr>
<td width="65" align="center" height="3">void</td>
<td width="375" height="3"><a href="#WriteFloat">WriteFloat</a>(char *, char
*, double )</td>
<td width="306" height="3">写入一个浮点数值到指定索引指定项目下</td>
</tr>
<tr>
<td width="65" align="center" height="6">void</td>
<td width="375" height="6"><a href="#WriteTextRegKey">WriteText</a>(char *, char
*, char *)</td>
<td width="306" height="6">写入一个字符串值到指定索引指定项目下</td>
</tr>
<tr>
<td width="65" align="center" height="5">int</td>
<td width="375" height="5"><a href="#ReadIntRegKey">ReadIntRegKey</a>(HKEY , char
*, char *, int )</td>
<td width="306" height="5">从注册表中读取一个整型值</td>
</tr>
<tr>
<td width="65" align="center" height="8">char *</td>
<td width="375" height="8"><a href="#ReadTextRegKey">ReadTextRegKey</a>(HKEY
, char *, char *, char *)</td>
<td width="306" height="8">从注册表中读取一个字符串值</td>
</tr>
<tr>
<td width="65" align="center" height="6">BYTE *</td>
<td width="375" height="6"><a href="#ReadBinRegKey">ReadBinRegKey</a>(HKEY , char
*, char *, BYTE *)</td>
<td width="306" height="6">从注册表中读取一个二进制值</td>
</tr>
<tr>
<td width="65" align="center" height="9">bool</td>
<td width="375" height="9"><a href="#WriteIntRegKey">WriteIntRegKey</a>(HKEY
, char *, char *, int )</td>
<td width="306" height="9">写入一个整型值到注册表指定项目下</td>
</tr>
<tr>
<td width="65" align="center" height="5">bool</td>
<td width="375" height="5"><a href="#WriteTextRegKey">WriteTextRegKey</a>(HKEY,
char *, char *, char *)</td>
<td width="306" height="5">写入一个浮点数值到注册表指定项目下</td>
</tr>
<tr>
<td width="65" align="center" height="9">bool</td>
<td width="375" height="9"><a href="#WriteBinRegKey">WriteBinRegKey</a>(HKEY,char
*,char *,BYTE *, int)</td>
<td width="306" height="9">写入一个二进制到注册表指定项目下</td>
</tr>
</table>
<p> </p>
<hr>
<p>void <a name="EnableShowErrorMSG"></a>EnableErrMSG(bool bshowerr)</p>
<p>入口参数:bool bshowerror(true|false)<br>
true : 弹出错误警告窗口<br>
false : 不要弹出错误警告窗口</p>
<p>函数返回:无</p>
<p>函数说明:<br>
当你进行一个CMD_File的操作的时候(比如:执行一个ConnectProvider("xml.dll")),可能产生一个错误(例如xml.dll不存在),这时CMD_File会记录一个错误信息,如果此时EnableErrMSG设置成true,系统就会弹出一个警告窗口,告诉你出错了。如果此时EnableErrMSG是false,系统不会弹出一个警告窗口,这时你可以使用GetErrorCode来检索这个错误代码。</p>
<p> </p>
<p>DWORD <a name="GetErrorCode"></a>GetErrCode(void)</p>
<p>入口参数:无</p>
<p>函数返回:错误代码</p>
<p>函数说明:<br>
当你进行一个CMD_File的操作的时候(比如:执行一个ConnectProvider("xml.dll")),可能产生一个错误(例如xml.dll不存在),这时CMD_File会记录一个错误信息,用这个函数可以得到这个错误代码(8)</p>
<p> </p>
<p>bool <a name="ConnectFileProvider"></a>ConnectProvider(char *ProviderName)</p>
<p>入口参数:char *ProviderName (ProfileProvider的文件名)</p>
<p>函数返回:连接到指定的ProfileProvider是否成功<br>
成功 : true<br>
失败 : false</p>
<p>函数说明:<br>
系统本身仅支持ini格式,需要依靠外部的ProfileProvider来支持额外的压缩包格式,下面的例子是利用xml.dll这个ProfileProvider来读取的XML格式的压缩包:<br>
CMD_Profile file;<br>
file.ConnectProvider("xml.dll");<br>
file.Open("test.xml");<br>
char* result = file.ReadText("Main","Sub",NULL);<br>
注意:<br>
CMD_File file;<br>
file.ConnectProvider("xml.dll");<br>
file.Open("test.xml"); <br>
这三段可以写成一段:CMD_File file("test.xml","xml.dll")</p>
<p> </p>
<p>void <a name="FreeProvider"></a>FreeProvider(void)</p>
<p>入口参数:无</p>
<p>函数返回:无</p>
<p>函数说明:<br>
使用这个函数可以释放使用ConnectProvider后连接的资源<br>
注意:在绝大多数情况下你完全可以不使用这个函数,我们的系统会在合适的时候为你释放相关的资源</p>
<p> </p>
<p>bool <a name="Open"></a>Open(char* FileName)</p>
<p>入口参数:<br>
FileName : 你要打开的配置文件名</p>
<p>函数返回:是否成功打开了文件<br>
true : 打开成功<br>
false : 打开失败</p>
<p>函数说明:<br>
这个函数用来打开我们需要操作的文件<br>
CMD_File file;<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -