C# 创建ini文件

    class SetupSystemParam
    {
        public static int i_Com;  //串口号   
        public static int i_BaudRate; //波特率
        public static string str_Parity; //校验位
        public static int i_DataBits; //数据位
        public static int i_StopBits; //停止位

        public SetupSystemParam()
        {
            if (!System.IO.File.Exists("SystemParam.ini"))
            {
                CreateDefaultIniFile();
            }
            else
            {
                try
                {
                    i_Com = Convert.ToInt32(ReadIniString("系统参数", "串口号"));
                    i_BaudRate = Convert.ToInt32(ReadIniString("系统参数", "波特率"));
                    str_Parity = ReadIniString("系统参数", "校验位");
                    i_DataBits = Convert.ToInt32(ReadIniString("系统参数", "数据位"));
                    i_StopBits = Convert.ToInt32(ReadIniString("系统参数", "停止位"));
                }
                catch
                {
                    //MessageBox.Show("配置文件的参数有错误,请检查", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void CreateDefaultIniFile()
        {
            WriteIniString("系统参数", "串口号", "1");
            WriteIniString("系统参数", "波特率", "2400");
            WriteIniString("系统参数", "校验位", "Even");
            WriteIniString("系统参数", "数据位", "8");
            WriteIniString("系统参数", "停止位", "1");
            //
            i_Com = 1;
            i_BaudRate = 2400;
            str_Parity = "Even";
            i_DataBits = 8;
            i_StopBits = 1;
        }

        public static void SaveIniFile()
        {
            WriteIniString("系统参数", "串口号", i_Com.ToString());
            WriteIniString("系统参数", "波特率", i_BaudRate.ToString());
            WriteIniString("系统参数", "校验位", str_Parity);
            WriteIniString("系统参数", "数据位", i_DataBits.ToString());
            WriteIniString("系统参数", "停止位", i_StopBits.ToString());
        }

        #region 引用WINDOWS API函数
        //声明INI文件的写操作函数 WritePrivateProfileString()
        [DllImport("kernel32")]
        private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath);
        //声明INI文件的读操作函数 GetPrivateProfileString()
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath);

        #endregion
        #region Ini文件操作

        public static string ReadIniString(string section, string key)
        {
            int buffer = 6000;
            StringBuilder temp = new StringBuilder(buffer);
            GetPrivateProfileString(section, key, "", temp, buffer, Application.StartupPath + "\\SystemParam.ini");
            return temp.ToString();
        }

        public static void WriteIniString(string section, string key, string val)
        {
            WritePrivateProfileString(section, key, val, Application.StartupPath + "\\SystemParam.ini");
        }
        #endregion
    }

切记:必须创建对象否则读取始终为0或null。

static void Main()
{
     SetupSystemParam SS = new SetupSystemParam();

     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new FormComm());
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值