国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用C++在WIN.INI中保存信息

2019-11-17 05:12:20
字體:
來源:轉載
供稿:網友

  現在許多軟件把程序中需要的數據保存在注冊表中,這樣當用戶裝的軟件越來越多時,致使注冊表越來越龐大,輕易使系統出錯。當然,微軟也建議在注冊表中保存數據,但當我們需要保存的數據不多時完全可以把數據保存在WIN.INI中,這樣可以很方便地維護,實現方法相對來說比較簡單。
下面我以Borland C++ Builder為例來說說如何實現。

  原理其實很簡單,只需調用API的 WritePRofileString和GetProfileInt函數就可以了。這兩個函數的原型是:BOOL WriteProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString );

  UINT GetProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault);

  其中lpAppName指在WIN.INI中段的名字,即用[]括起來的字符串,lpKeyName指在這個段中每一個項目的名字,lpString指這個項目的值,即“=”后的數, nDefault為當GetProfileInt沒有找到lpAppName和lpKeyName時返回的值,即缺省值,前者返回為布爾值(true 或 false),后者返回為無符號整形值。當在WriteProfileString函數中 lpKeyName 為空(NULL)時,則清除這個段的全部內容,lpString 為空時,則清除這一項目的內容,即這一行將清除掉。

  下面舉一例子來說明這兩個函數的用法。新建一個應用程序,在Form1上放兩個Edit和三個Button,其中Edit的Text為空,三個Button的Caption分別為“添加”、“查看”、“清除”。雙擊“添加”按鈕加入下面代碼:

  WriteProfileString(“例子程序”,“項目”,Edit1→Text.c_str());

  雙擊“查看”按鈕加入如下代碼:

  unsigned int Temp;

  Temp=GetProfileInt(“例子程序”,“項目”,100);

  Edit2→Text=IntToStr(Temp);

  雙擊“清除”按鈕加入如下代碼:

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

  然后按F9鍵運行程序。

  下來可以檢驗一下程序的正確性。在Edit1中輸入數字,如“3265”,按“添加”按鈕,這時運行“sysedit”來查看“WIN.INI”文件的最后面,可以看到加入了如下內容:

  [例子程序]

  項目=3265

  其中“[]”和“=”是函數自動加上的。按下“查看”按鈕,在Edit2中出現“3265”,當按下“清除”按鈕可清除添加的部分。經過查看可知程序已達到預期的目的。

  喜愛編程的朋友可以把上述方法應用到自己的程序中去,來達到保存數據信息的作用。當確實要把信息保存到注冊表中,可以在C++ Builder中定義一個TRegistry類的對象來進行相關的操作,或者直接調用Windows的API函數。 更多文章 更多內容請看C/C++技術專題專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新宁县| 游戏| 师宗县| 鞍山市| 绥中县| 嘉荫县| 漾濞| 梓潼县| 信宜市| 哈密市| 隆安县| 化州市| 诸城市| 临桂县| 涿州市| 吉林市| 扎兰屯市| 柳河县| 重庆市| 扬中市| 万源市| 翼城县| 桂平市| 广灵县| 罗江县| 常山县| 仁寿县| 疏勒县| 忻城县| 桐庐县| 抚松县| 佛坪县| 钦州市| 北票市| 桐梓县| 邵东县| 缙云县| 定南县| 秦安县| 北碚区| 开鲁县|