我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Proe教程

Proe插件如何讀取配置文件

時間:2011-08-19 09:01:18 來源:未知

用Proe二次開發包開發出來的應用軟件有時候需要保存一些變量的值,不然每次重新啟動Proe后都需要重新設置一邊效率很低。但是如何實現呢?

我先利用Pro/toolkit API函數可定無法實現,必須要讀取磁盤文件來實現。其實有很多中法式來實現磁盤文件的讀取與寫入。

1)利用C語言提供的,但是自己需要編寫太多的代碼,而起很復雜。

2)利用C++的文件類來實現,也很復雜而且需要對C++很熟悉。

3)利用Windows API函數來說實現,這個就是利用Windows本身的資源來實現。Windows中配置文件后綴為.ini,文件格式對我們來說無所謂,只要

能實現功能就行。

下面介紹兩個讀取和寫入.ini配置文件的函數。

一.將信息寫入.INI文件中.

1.所用的WINAPI函數原型為:

BOOL WritePrivateProfileString(
   LPCTSTR lpAppName,
   LPCTSTR lpKeyName,
   LPCTSTR lpString,
   LPCTSTR lpFileName
   );
其中各參數的意義:

LPCTSTR lpAppName 是INI文件中的一個字段名.

LPCTSTR lpKeyName 是lpAppName下的一個鍵名,通俗講就是變量名.

LPCTSTR lpString 是鍵值,也就是變量的值,不過必須為LPCTSTR型或CString型的.

LPCTSTR lpFileName 是完整的INI文件名.

2.具體使用方法

設現有一名學生,需把他的姓名和年齡寫入 c:studstudent.ini 文件中.

CString strName,strTemp;
int nAge;
strName=”張三”;
nAge=12;
::WritePrivateProfileString(“StudentInfo”,”Name”,strName,”c:\stud\student.ini”);

此時c:studstudent.ini文件中的內容如下:

[StudentInfo]
Name=張三

要將學生的年齡保存下來,只需將整型的值變為字符型即可:

strTemp.format(“%d”,nAge);

::WritePrivateProfileString(“StudentInfo”,”Age”,strTemp,”c:\stud\student.ini”);

二.將信息從INI文件中讀入程序中的變量.

1.所用的WINAPI函數原型為:

DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  LPCTSTR lpDefault,
  LPTSTR lpReturnedString,
  DWORD nSize,
  LPCTSTR lpFileName
  );
其中各參數的意義:

前二個參數與 WritePrivateProfileString中的意義一樣.

lpDefault : 如果INI文件中沒有前兩個參數指定的字段名或鍵名,則將此值賦給變量.

lpReturnedString : 接收INI文件中的值的CString對象,即目的緩存器.

nSize : 目的緩存器的大小.

lpFileName : 是完整的INI文件名.

2.具體使用方法:

現要將上一步中寫入的學生的信息讀入程序中.

CString strStudName;
int nStudAge;
GetPrivateProfileString(“StudentInfo”,”Name”,”默認姓名”,strStudName.GetBuffer(MAX_PATH),MAX_PATH,”c:\stud\student.ini”);

執行后 strStudName 的值為:”張三”,若前兩個參數有誤,其值為:”默認姓名”.

在啟動插件的時候讀取.ini文件中參數并付給全局變量就行了,同樣還可實現又好的設置界面。