zoukankan      html  css  js  c++  java
  • C# 处理INI文个类 INIManager

    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    using System.Text;

    namespace MeiDuShaV1.Business
    {
     
        public class INIManager
        {

            /*原型
             * BOOL WritePrivateProfileString(
                        LPCTSTR lpAppName, //是INI文件中的一个字段名.
                        LPCTSTR lpKeyName,  //是lpAppName下的一个键名,通俗讲就是变量名.
                        LPCTSTR lpString,   //是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
                        LPCTSTR lpFileName  //文件路径
             * );

             */
            [DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

            /* DWORD GetPrivateProfileString(
                         LPCTSTR lpAppName,
                         LPCTSTR lpKeyName,
                         LPCTSTR lpDefault, //如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
                         LPTSTR lpReturnedString,
                         DWORD nSize,
                         LPCTSTR lpFileName
             * ); */

            [DllImport("kernel32")]
            private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

            private string filePath;

            public INIManager(string filePath)
            {
                this.filePath = filePath;
            }

            public void Write(string section ,string key,string value)
            {
                try
                {
                    WritePrivateProfileString(section, key, value, filePath);
                }
                catch(Exception ex)
                {
                    throw new Exception(ex.ToString());
                }
            }

            public string Read(string section ,string key)
            {
                try
                {
                    StringBuilder temp = new StringBuilder(255);
                    int i = GetPrivateProfileString(section, key, string.Empty, temp, 255, filePath);
                    return temp.ToString();
                }
                catch(Exception ex)
                {
                   
                    throw new Exception(ex.ToString());
                }
            }
        }

     


    }

    Code
  • 相关阅读:
    Find all Windows Phone Application Bar Icon
    DELL PowerConnect 5548[初步]配置
    删除SD的分区
    Import/Export a database into Oracle
    索爱U100i排线更换笔记
    forrtl: severe (174): SIGSEGV, segmentation fault occurred
    下载功能和上传功能的实现
    自我小结:手动给GridView添加数据源
    删除指定目录内的文件
    GridView数据源中没有数据的时候显示表头
  • 原文地址:https://www.cnblogs.com/wubiyu/p/1015208.html
Copyright © 2011-2022 走看看