ini文件的读写

Posted on 2007-12-29 15:36  leeson  阅读(346)  评论(0)    收藏  举报
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;

namespace PrintReceipts
{
    /// <summary>
    /// IniFile 
    /// </summary>
    /// 

    public class IniFile
    {
        //文件INI名称
        public string Path;

        ////声明读写INI文件的API函数
        [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);


        //类的构造函数,传递INI文件名
        public IniFile(string inipath)
        {
            //
            // TODO: Add constructor logic here
            //
            Path = inipath;
        }

        //写INI文件
        public void IniWriteValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.Path);
        }

        //读取INI文件指定
        public string IniReadValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.Path);
            return temp.ToString();

        }

    }
}


使用
IniFile inif = new IniFile(sConfigIniFile);

            //inif.IniWriteValue("单据类型", "ReceiptType", "生产套料发放");
            //inif.IniWriteValue("单据类型", "SelectSql", "生产套料发放SelectSQL.sql");
            //inif.IniWriteValue("单据类型", "MainSql", "生产套料发放MainSql.sql");
            //inif.IniWriteValue("模板数", "Length", "2");
            //inif.IniWriteValue("模板", "TemplateName1", "生产套料发放");
            //inif.IniWriteValue("模板", "TemplateName2", "东风生产套料发放");
            //inif.IniWriteValue("配置文件", "生产套料发放", "生产套料发放");
            //inif.IniWriteValue("配置文件", "东风生产套料发放", "东风生产套料发放");
红细胞软件组织
RedCell Soft Organise.