C#读取与写入配置文件
来源:互联网 发布:mac上打开flac 编辑:程序博客网 时间:2024/05/18 20:35
1、视觉系统应用中,经常需要保存很多参数,包括相机配置参数,视觉算法调试参数,一般我们在初始化时都会对这些参数赋予初值,然后在调试过程中,会不断的改变这些参数,虽然系统在运行的过程中会保持这些参数,但是系统一旦重新编译,或者重启都会失去这些参数,那么就需要对这些参数进行相应的保存。一般可以写入.ini文件中,也可以写入.xml中。下面我们将介绍如何对这些参数进行读取和写入。
2、首先要添加一个类,这个类就是实现.ini文件的读写功能。操作如下:
添加OK后,将类的名称改为iniOperate;
3、前期准备,首先需要添加引用,C#中一定要注意这一点,需要使用到哪个类中的方法,就首先必须要引用命名空间,
添加using System.IO;//操作文件时需要用到
using System.Runtime.InteropServices;//添加dll时需要用到
4、添加如下代码到类IniOperate中,
#region API函数申明
[DllImport("kernel32")]
public static extern long WritePrivateProfileString(string section,
string key, string val, string filePath);
[DllImport("kernel32")]
private static extern long GetPrivateProfileString(string section,
string key, string def, StringBuilder retval, int size, string filepath);
#endregion
#region 读INI文件
public string ReadIniData(string Section, string Key, string NoText, string iniFIlePath)//注意不要用静态的方法。
{
if (File.Exists(iniFIlePath))
{
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(Section, Key, NoText, temp, 1024, iniFIlePath);//NoText为当找不到关键字时作为代替数据
return temp.ToString();
}
else
{
return String.Empty;
}
}
#endregion
#region 写INI文件
public bool WriteIniData(string Section, string Key, string Value, string iniFilePath)//注意不要用静态的方法。
{
if (File.Exists(iniFilePath))
{
long opStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
if (opStation == 0)
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
#endregion
5、添加完了类,下面就需要对这个类进行调用。在主应用程序中,实例化一个对象,IniOperate IniOperate=new IniOperate();
在窗口进行加载的时候,对参数进行读取,
grab_timeout = Convert.ToInt32(IniOperate1.ReadIniData("grab_timeout", "value", "ERROR", "D:/0WGH/CSHARP/HalconProject/Data.ini"));
brightness = Convert.ToInt32(IniOperate1.ReadIniData("brightness", "value", "ERROR", "D:/0WGH/CSHARP/HalconProject/Data.ini"));
contrast = Convert.ToInt32(IniOperate1.ReadIniData("contrast", "value", "ERROR", "D:/0WGH/CSHARP/HalconProject/Data.ini"));
对参数进行写入:
IniOperate1.WriteIniData("grab_timeout", "value", "3005", "D:/0WGH/CSHARP/HalconProject/Data.ini");
6、注意配置文件.ini的格式:
[grab_timeout]
value=3005
[brightness]
value=10002
[contrast]
value=103
如果格式出现问题的话,调试也会出现问题。
7、在读配置文件进行读写的时候,记得每次使用参数之前都应该先刷新一次数据。
- C#读取与写入配置文件
- C#读取和写入配置文件
- c#配置文件INI的创建、写入与读取
- c# 使用WINAPI 进行读取写入配置文件
- C# 使用WINAPI 进行读取写入配置文件
- C#读取写入配置文件Cinfig.ini方法
- C#读取及写入配置文件教程
- java Properties配置文件写入与读取
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- C# 配置文件读取与修改
- 《win32多线程程序设计》学习笔记四
- 关于verilog中if与case语句不完整产生锁存器的问题
- Windows网络编程(基础篇2)
- 转载
- MySQL分区表
- C#读取与写入配置文件
- ArrayList总结
- vue基础
- 避免创建不必要的对象
- hdu4347 kd-tree询问k近点
- Android Studio升到2.3 关于gradle的问题
- web service简介
- Android开发手机信息界面
- L2-001. 紧急救援(多级最短路 spfa)