⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lc_bcb_03.html

📁 C++Builder教学大全
💻 HTML
字号:
<html>



<head>



<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>用C++Bulider在WIN.INI中保存信息</title>

</head>



<body>

<div align="center"><center>



<table border="0" cellpadding="0" cellspacing="0" width="755">

  <tr>

    <td width="755"><p align="center"><big><big><strong><font color="#000000">用C++Bulider在WIN.INI中保存信息</font></strong></big></big></p>

    <p align="center"><big><big><strong><font color="#000000">(西安 崔战兵)</font></strong></big></big></p>

    <p>  <big>现在许多软件把程序中需要的数据保存在注册表中,这样当用户装的软件越来越多时,致使注册表越来越庞大,容易使系统出错。当然,微软也建议在注册表中保存数据,但当我们需要保存的数据不多时完全可以把数据保存在WIN.INI中,这样可以很方便地维护,实现方法相对来说比较简单。下面我以Borland  

    C++ Builder为例来说说如何实现。<br> 

      原理其实很简单,只需调用API的 WriteProfileString和GetProfileInt函数就可以了。这两个函数的原型是:BOOL  

    WriteProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString );<br> 

      UINT GetProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault);<br> 

      其中lpAppName指在WIN.INI中段的名字,即用[]括起来的字符串,lpKeyName指在这个段中每一个项目的名字,lpString指这个项目的值,即“=”后的数,  

    nDefault为当GetProfileInt没有找到lpAppName和lpKeyName时返回的值,即缺省值,前者返回为布尔值(true  

    或 false),后者返回为无符号整形值。当在WriteProfileString函数中  

    lpKeyName 为空(NULL)时,则清除这个段的全部内容,lpString  

    为空时,则清除这一项目的内容,即这一行将清除掉。<br> 

      下面举一例子来说明这两个函数的用法。新建一个应用程序,在Form1上放两个Edit和三个Button,其中Edit的Text为空,三个Button的Caption分别为“添加”、“查看”、“清除”。双击“添加”按钮加入下面代码:<br>

      WriteProfileString(“例子程序”,“项目”,Edit1→Text.c_str());<br>

      双击“查看”按钮加入如下代码:<br>

      unsigned int Temp;<br> 

      Temp=GetProfileInt(“例子程序”,“项目”,100);<br>

      Edit2→Text=IntToStr(Temp);<br>

      双击“清除”按钮加入如下代码:<br>

      WriteProfileString(“例子程序”,NULL,NULL);<br>

      然后按F9键运行程序。<br>

      下来可以检验一下程序的正确性。在Edit1中输入数字,如“3265”,按“添加”按钮,这时运行“sysedit”来查看“WIN.INI”文件的最后面,可以看到加入了如下内容:<br>

      [例子程序]<br>

      项目=3265<br>

      其中“[]”和“=”是函数自动加上的。按下“查看”按钮,在Edit2中出现“3265”,当按下“清除”按钮可清除添加的部分。经过查看可知程序已达到预期的目的。<br>

      喜爱编程的朋友可以把上述方法应用到自己的程序中去,来达到保存数据信息的作用。当确实要把信息保存到注册表中,可以在C++  

    Builder中定义一个TRegistry类的对象来进行相关的操作,或者直接调用Windows的API函数,具体如何编程大家可以参阅相关资料或者同我联系,我的E-mail:  

    xiansn@263.net。以上程序在C++ Builder 1.0和3.0下调试通过。<br> 

    </big></p> 

    <p> </p> 

    </td> 

  </tr> 

</table> 

</center></div> 

</body> 

</html> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -