C#操作ini文件

INI文件格式如下: 
[Database] 
server=wlq 
database=mydatabase 
uid=sa 
pwd=123456

说明:(有4个key) 
Section为:Database 
Key为:server database uid pwd

 

 

c#申明ini文件的写操作函数writeprivateprofilestring:     
    
  [   dllimport   (   "kernel32"   )   ]   
  private   static   extern   long   writeprivateprofilestring   (   string     
  section   ,   
  string   key   ,   string   val   ,   string   filepath   )   ;       
  参数说明:section:ini文件中的段落;key:ini文件中的关键字;val:ini文件中关键字的数值;filepath:ini文件的完整的路径和名称。     
    
  c#申明ini文件的读操作函数getprivateprofilestring:     
    
  [   dllimport   (   "kernel32"   )   ]   
  private   static   extern   int   getprivateprofilestring   (   string   section   ,   
  string   key   ,   string   def   ,   stringbuilder   retval   ,   
  int   size   ,   string   filepath   )   ;    
 参数说明:section:ini文件中的段落名称;key:ini文件中的关键字;def:无法读取时候时候的缺省数值;retval:读取数值;size:数值的大小;filepath:ini文件的完整路径和名称。

 

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
using System.Text;


namespace iniprocess
{
 
 public class Form1 : System.Windows.Forms.Form
 {
  private System.Windows.Forms.TextBox textBox1;
  private System.Windows.Forms.Button button2;
  private System.Windows.Forms.Button button1;
  
  [DllImport("kernel32")]
  private static extern long WritePrivateProfileString(string section,
   string key,string val,string filePath);
  [DllImport("kernel32")]
  private static extern int GetPrivateProfileString(string section,
   string key,string def, StringBuilder retVal,
   int size,string filePath);

  public void IniWriteValue(string Section,string Key,string Value,string filepath)//对ini文件进行写操作的函数
  {
   WritePrivateProfileString(Section,Key,Value,filepath);
  }
        
  public string IniReadValue(string Section,string Key,string filepath)//对ini文件进行读操作的函数
  {
   StringBuilder temp = new StringBuilder(255);
   int i = GetPrivateProfileString(Section,Key,"",temp, 
    255, filepath);
   return temp.ToString();

  }


  

  private void button1_Click(object sender, System.EventArgs e)
  {
   
   this.textBox1 .Text= IniReadValue("ODBC 32 bit Data Sources","MS Access Database","e:\\temp\\ODBC.INI");
  
  }

  private void button2_Click(object sender, System.EventArgs e)
  {
   
   IniWriteValue ("ODBC 32 bit Data Sources","MS Access Database",this.textBox1 .Text,"e:\\temp\\ODBC.INI");
  }
 }
}

posted @ 2011-05-26 00:29  錯咗  阅读(255)  评论(0编辑  收藏  举报