zoukankan      html  css  js  c++  java
  • wpf中读写配置文档的方法

    WPF配置文件读取与写入:

    1、 在程序根目录下新建文本文档,将后缀名改成.ini文件;(将已存在的Param.dat的后缀改成。ini

    譬如:Param.ini

    1) 文档的写法:INI文件由节、键、值组成。

    参考链接:(https://www.cnblogs.com/renyuan/p/4111695.html)

     

    2、 VS项目中新建类:INIFile.cs

     

        class INIFile

        {

            private string filePath;

            [DllImport("kernel32")]

            private static extern long WritePrivateProfileString(string strSection, string strKey, string strVal, string strFilePath);

            

            [DllImport("kernel32")]

            private static extern int GetPrivateProfileString(string strSection, string strKey, string strDef, StringBuilder sbRetVal, int intSize, string strFilePath);

            

            public INIFile(string strFilePath)

            {

                this.filePath = strFilePath;

            }           

            

            public void Write(string strSection, string strKey, string strValue)

            {

                WritePrivateProfileString(strSection, strKey, strValue, this.filePath);

            }

            public string Read(string strSection, string strKey)

            {

                StringBuilder sb = new StringBuilder(255);

                int i = GetPrivateProfileString(strSection, strKey, "", sb, 255, this.filePath);

                return sb.ToString();

            }                   

            public string FilePath

            {

                get { return this.filePath; }

                set { this.filePath = value; }

            }

        }

    3、 调用类方法:

    //定义

    INIFile INI_Param = new INIFile(Environment.CurrentDirectory + @"Param.ini");

    //读取配置文档参数

    private bool ReadParam()

            {

                try

                {

                    float buff;

                    //ActionLog.WriteLog("Read Setting Information...");

                    buff = Convert.ToSingle(INI_Param.Read("SysParam", "Range"));

                    rangeTb.Text = buff.ToString();

                    buff = Convert.ToSingle(INI_Param.Read("SysParam", "Grade"));

                    comboBox.Text = buff.ToString();

                    buff = Convert.ToSingle(INI_Param.Read("SysParam", "MarginError"));

                    marginErrorTxt.Text = buff.ToString();                         

                    return true;

                }

                catch(Exception ex)

                {

                    ErrorLog.WriteLog("读取参数失败:" + ex.Message.ToString());

                    return false;

                }

            }

    //读取工位信息

    private List<string> readStation()

            {

                List<string> stationInfo = new List<string>();            

                stationInfo.Add(INI_Param.Read("StationInfo", "Station1"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station2"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station3"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station4"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station5"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station6"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station7"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station8"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station9"));

                stationInfo.Add(INI_Param.Read("StationInfo", "Station10"));

                return stationInfo;

            }

    //将数据更新到配置文档中

            private void UpdateParam()

            {

                try

                {

                    string buff;

                    buff = rangeTb.Text;

                    INI_Param.Write("SysParam", "Range", buff);

                    buff = comboBox.Text;

                    INI_Param.Write("SysParam", "Grade", buff);

                    buff = marginErrorTxt.Text;

                    INI_Param.Write("SysParam", "MarginError", buff);

                }

                catch(Exception ex)

                {

                    ErrorLog.WriteLog("写入参数失败:" + ex.Message.ToString());

                }

            }

  • 相关阅读:
    使用 libevent 和 libev 提高网络应用性能
    An existing connection was forcibly closed by the remote host
    各种浏览器的兼容css
    vs输出窗口,显示build的时间
    sass
    网站设置404错误页
    List of content management systems
    css footer not displaying at the bottom of the page
    强制刷新css
    sp_executesql invalid object name
  • 原文地址:https://www.cnblogs.com/xiehaha123/p/11713387.html
Copyright © 2011-2022 走看看