用C#操作INI文件

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

//////////////////////////////////////////////////////////////

using System;

using System.IO;

using System.Runtime.InteropServices;

using System.Text;

 

namespace EchonComponentLibrary

{

     /// <summary>

     /// IniFile 的摘要說明。

     /// </summary>

     public class IniFile

     {

         //寫INI文件

          [ DllImport ( "kernel32" ) ]

          private static extern bool WritePrivateProfileString ( string section ,string key , string val , string filePath ) ;

         //讀ini文件(字符

          [ DllImport ( "kernel32" ) ]

          private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal ,int size , string filePath ) ;

 

         //讀ini文件(數字

          [ DllImport ( "kernel32" ) ]

          private static extern int GetPrivateProfileInt ( string section ,string key , int def , string filePath ) ;

 

          private string FFileName;

 

          [DllImport("kernel32")]

          private static extern int GetPrivateProfileInt(

              string lpAppName,

              string lpKeyName,

              int nDefault,

              string lpFileName

              );

          [DllImport("kernel32")]

          private static extern int GetPrivateProfileString(

              string lpAppName,

              string lpKeyName,

              string lpDefault,

              StringBuilder lpReturnedString,

              int nSize,

              string lpFileName

              );

          [DllImport("kernel32")]

          private static extern bool WritePrivateProfileString(

              string lpAppName,

              string lpKeyName,

              string lpString,

              string lpFileName

              );

 

         public IniFile(string filename)

         {

              FFileName = filename;

         }

         public int ReadInt(string section,string key,int def)

         {

              return GetPrivateProfileInt(section,key,def,FFileName);

         }

         public string ReadString(string section,string key,string def)

         {

              StringBuilder temp = new StringBuilder(1024);

              GetPrivateProfileString(section,key,def,temp,1024,FFileName);

              return temp.ToString();

         }

         public void WriteInt(string section,string key,int iVal)

         {

              WritePrivateProfileString(section,key,iVal.ToString(),FFileName);

         }

         public void WriteString(string section,string key,string strVal)

         {

              WritePrivateProfileString(section,key,strVal,FFileName);

         }

         public void DelKey(string section,string key)

         {

              WritePrivateProfileString(section,key,null,FFileName);

         }

         public void DelSection(string section)

         {

              WritePrivateProfileString(section,null,null,FFileName);

         }

 

     }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章