|
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911如有疑问,请加入官方群询问
您需要 登录 才可以下载或查看,没有帐号?关闭注册
x
玄机论坛 C#读写ini
[mw_shl_code=csharp,true]using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace helper
{
/// <summary>
/// ini文件读与写
/// </summary>
public class ClsIniFile
{
//文件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 ClsIniFile(string inipath){ Path = inipath; }
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">配置节</param>
/// <param name="Key">键名</param>
/// <param name="Value">键值</param>
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.Path);
}
/// <summary>
/// 读取制定INI文件键值
/// </summary>
/// <param name="Section">配置节</param>
/// <param name="Key">键名</param>
/// <returns></returns>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.Path);
return temp.ToString();
}
}
}[/mw_shl_code]
[mw_shl_code=csharp,true]using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using SetRouter.RouterModel;
namespace helper
{
class StringUtility
{
/// <summary>
/// 写ini
/// </summary>
/// <param name="iniPath">配置文件路径</param>
/// <param name="rd">实体对象模型</param>
public static void wirtini(string iniPath, Rmod rd)
{
try
{
ClsIniFile cl = new ClsIniFile(iniPath);
//第一个参数为节点,第二个为字段,第三个为值
cl.IniWriteValue("RouterConfig", "LoginUser", rd.LoginUser);
cl.IniWriteValue("RouterConfig", "LoginPwd", rd.LoginPwd);
cl.IniWriteValue("RouterConfig", "LoginIp", rd.LoginIp);
cl.IniWriteValue("RouterConfig", "WirelessSSID", rd.WirelessSSID);
cl.IniWriteValue("RouterConfig", "WirelessPwd", rd.WirelessPwd);
cl.IniWriteValue("RouterConfig", "PppoeName", rd.PppoeName);
cl.IniWriteValue("RouterConfig", "PppoePwd", rd.PppoePwd);
MessageBox.Show("配置文件写入成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("写入配置文件失败.!" + "\n" + ex.Message);
return;
}
}
/// <summary>
/// 读ini
/// </summary>
/// <param name="iniPath">配置文件路径</param>
/// <returns>返回实体对象</returns>
public static Rmod Readini(string iniPath)
{
try
{
Rmod rd = new Rmod();
ClsIniFile ini = new ClsIniFile(iniPath);
rd.LoginUser = ini.IniReadValue("RouterConfig", "LoginUser").Trim();
rd.LoginPwd = ini.IniReadValue("RouterConfig", "LoginPwd").Trim();
rd.LoginIp = ini.IniReadValue("RouterConfig", "LoginIp").Trim();
rd.WirelessSSID = ini.IniReadValue("RouterConfig", "WirelessSSID").Trim();
rd.WirelessPwd = ini.IniReadValue("RouterConfig", "WirelessPwd").Trim();
rd.PppoeName = ini.IniReadValue("RouterConfig", "PppoeName").Trim();
rd.PppoePwd = ini.IniReadValue("RouterConfig", "PppoePwd").Trim();
return rd;
}
catch (Exception ex)
{
MessageBox.Show("读取配置文件内容失败.!" + "\n" + ex.Message);
return null;
}
}
}
}
[/mw_shl_code]
ini配置如下
|
|