- 浏览: 284040 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
/*********************************************************************** * Copyright(c) 2011 FK * CLR 版本: 2.0.50727.3615 * 文 件 名:RWIniFile.cs * 创 建 人:FK * 创建日期:2011-04-08 17:39:40 * 修 改 人: * 修改日期: * 备注描述:操作配置文件 ************************************************************************/ using System; using System.IO; using System.Runtime.InteropServices; using System.Text; namespace Kingsense.eMenu.Common { /// <summary> /// 配置文件(*.int)操作类 /// </summary> public class RWIniFile { #region 声明读写配置文件的API函数 /// <summary> /// 写配置文件 /// </summary> /// <param name="section">节(如果该节不存在,则创建它)</param> /// <param name="key">键(该键不存在于指定的部分,它被创建。 如果这个参数为NULL,则整节被删除)</param> /// <param name="val">值(如果这个参数为NULL,则删除该键)</param> /// <param name="filePath">文件路径</param> /// <returns>写入成功,则返回非零值。如果函数失败或者只是刷新最近访问的缓冲区版本,返回值为零</returns> [DllImport("kernel32")] private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath); /// <summary> /// 读配置文件 /// </summary> /// <param name="section">节(当值为NULL时,读取全部节)</param> /// <param name="key">键(当值为NULL时,读取全部键)</param> /// <param name="defaultVal">默认值(键不存在时,返回该值。当值为NULL时,则往缓冲区中写入空字符串"",避免该值为"")</param> /// <param name="returnVal">缓冲区,它接收检索到的字符串的指针</param> /// <param name="size">缓冲区的大小</param> /// <param name="filePath">文件的路径</param> /// <returns>复制到缓冲区,不包括终止空字符的字符数</returns> [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defaultVal, StringBuilder returnVal, int size, string filePath); #endregion #region 成员变量 private string fileName; //INI文件名 #endregion #region 属性 /// <summary> /// INI文件名 /// </summary> public string FileName { set { fileName = string.IsNullOrEmpty(value) ? "my.ini" : value; // 判断文件是否存在 FileInfo fileInfo = new FileInfo(fileName); if ((!fileInfo.Exists)) { //文件不存在,建立文件 StreamWriter sw = new StreamWriter(fileName, false, Encoding.Default); try { sw.Close(); } catch (Exception) { throw (new ApplicationException("Ini文件不存在")); } } //必须是完全路径,不能是相对路径 fileName = fileInfo.FullName; } } #endregion #region 构造函数 private RWIniFile() { fileName = string.Empty; } #endregion #region 限制只能有一个对象 private static readonly RWIniFile instance = new RWIniFile();//菜单操作对象 public static RWIniFile Instance { get { return instance; } } #endregion #region 写字符串 /// <summary> /// 写写字符串 /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> /// <param name="value">值</param> public void WriteString(string section, string key, string value) { try { WritePrivateProfileString(section, key, value, fileName); } catch (Exception) { throw (new Exception("写入Ini文件出错")); } } #endregion #region 读字符串 /// <summary> /// 读字符串(最大可以读500个字符) /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> /// <param name="defaultVal">值</param> /// <returns>返回指定节指定键的值</returns> public string ReadString(string section, string key, string defaultVal) { StringBuilder temp = new StringBuilder(500); try { GetPrivateProfileString(section, key, defaultVal, temp, 500, fileName); } catch (Exception) { throw (new Exception("读取Ini文件出错")); } return temp.ToString(); } #endregion #region 读整数 /// <summary> /// 读整数 /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> /// <param name="defaultVal">默认值</param> /// <returns>返回指定节指定键的值</returns> public int ReadInteger(string section, string key, int defaultVal) { string result = ReadString(section, key, Convert.ToString(defaultVal)); try { return Convert.ToInt32(result); } catch (Exception) { throw (new Exception("该键的值不是整数!")); } } #endregion #region 写整数 /// <summary> /// 写整数 /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> /// <param name="value">值</param> public void WriteInteger(string section, string key, int value) { WriteString(section, key, value.ToString()); } #endregion #region 读布尔 /// <summary> /// 读布尔 /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> /// <param name="defaultVal">默认值</param> /// <returns></returns> public bool ReadBool(string section, string key, bool defaultVal) { string result = ReadString(section, key, Convert.ToString(defaultVal)); try { return Convert.ToBoolean(result); } catch (Exception) { throw (new Exception("该键的值不是布尔值!")); } } #endregion #region 写Bool /// <summary> /// 写Bool /// </summary> /// <param name="section"></param> /// <param name="key"></param> /// <param name="value"></param> public void WriteBool(string section, string key, bool value) { WriteString(section, key, Convert.ToString(value)); } #endregion #region 删除节 /// <summary> /// 删除节 /// </summary>k /// <param name="section">节</param> public void DeleteSection(string section) { try { WritePrivateProfileString(section, null, null, fileName); } catch (Exception) { throw (new Exception("无法清除Ini文件中的节")); } } #endregion #region 删除节下的键 /// <summary> /// 删除节下的键 /// </summary> /// <param name="section">节</param> /// <param name="key">键</param> public void DeleteKey(string section, string key) { WritePrivateProfileString(section, key, null, fileName); } #endregion #region 更新缓冲区 /// <summary> /// 更新缓冲区(1、对于Win9X,来说需要实现UpdateFile方法将缓冲中的数据写入文件2、在Win NT, 2000和XP上,都是直接写文件,没有缓冲,所以,无须实现UpdateFile3、执行完对Ini文件的修改之后,应该调用本方法更新缓冲区。) /// </summary> public void UpdateFile() { WritePrivateProfileString(null, null, null, fileName); } #endregion #region 析构函数 /// <summary> /// 更新缓冲区 /// </summary> ~RWIniFile() { UpdateFile(); } #endregion } }
发表评论
-
C#获取本地IP
2012-06-06 14:39 957/// <summary> ... -
只能启动单个程序
2012-05-04 12:51 824bool ret; System. ... -
.Net控件命名规范
2012-04-25 14:45 821<!--------------A----------- ... -
DataGridView绑定数据时,时间格式显示不全的问题
2012-04-25 13:54 1048DataGridView绑定数据时,时间格式显示问题 今天做 ... -
把Dgv的颜色改回默认颜色
2012-04-25 13:35 973dgv.Rows[i].DefaultCellStyle.Ba ... -
Winform 去掉 最大化 最小化 关闭按钮 保留左侧图片
2012-04-23 17:02 1207using System; using System.Col ... -
禁用窗体的关闭按钮
2012-04-23 16:58 889[DllImport("USER32 ... -
c#中用声音提示报警
2012-03-14 09:51 1781using System; using System.Ru ... -
WinForm 查看控制台输出
2012-02-15 10:39 1319/// <summary> ... -
C# 启动外部程序的几种方法
2011-10-17 19:15 7551. 启动外部程序,不等待其退出。2. 启动外部程序,等待其退 ... -
解决VS2005不能调试线程问题
2011-08-12 12:33 2407昨天突然VS2005不能调试线程,网上找了很多方法都不行,后来 ... -
通过域名获取IP的两种方法
2011-07-16 15:09 1867//每次都去Dns服务器上 ... -
执行命名行命令
2011-07-16 14:41 717/// <summary> / ... -
获取指定目录下所有文件
2011-07-01 20:48 1487命名空间 using System.Collections; ... -
C#控制Excel的打印格式
2011-06-22 20:54 3733Excel.Application appExcel=n ... -
C#操作Excel
2011-06-22 14:28 1634using System; using System. ... -
C# 操作Excel的类
2011-06-22 14:20 1371using System; using Micro ... -
DataGridView刷新数据的问题
2011-06-21 11:39 42361、操作:UI线程修改数据后重新绑定dgv,一个后台线程定时刷 ... -
VS2005水晶报表注册码
2011-06-18 13:40 7266707437608 -
按Enter键时,焦点移到下一个控件
2011-06-18 10:06 1246#region 按Enter键时,焦点移 ...
相关推荐
读写ini文件 免费赠送 有需要的下载
VC++ 读写INI文件类 以及示例程序 VC++操作INI文件的一个类以及示例程序,将左边列表框的学生姓名写入ini文件,然后从该ini文件读出放到右边的列表框中,也就是读写INI文件,这是操作INI文件最基础的技能,我们编写...
简单读写INI文件类,每次开发项目都需要读写INI,这个类简单实用,INI文件不存在可以自动创建,可以写初始值。
C#编写的读写ini文件类和发送邮件类(vs.net2003C#), 有好多的程序习惯把配置写到ini文件中,此代码包括 ini操作类和邮件发送类.只要把cs放到到自己的项目中就可以读写ini和发送邮件了.在Main函数中列举了类的使用....
总结来说,自建C#读写INI文件类是一个基础但实用的技能,它能帮助开发者在不依赖外部库的情况下管理应用程序的配置数据。通过理解INI文件的结构和使用正则表达式处理文本,我们可以创建一个简单的类来实现读取、写入...
一般应用程序都会写配置文件(设置启动的一些参数),而配置文件大多都采用ini文件格式,在MFC下ini文件有自己的封装的类,比较容易...对于需要读写ini文件,而又不想花时间去写的话,还不错哦!程序中有用法示例...~~
VC 读写INI文件类以及示例程序,功能主要是将左边列表框的学生姓名写入ini文件,然后从该ini文件读出放到右边的列表框中。属于比较典型且基础的VC 读写INI文件的例子,INI文件一般是作为配置文件,在程序运行的过程...
可以便捷读写ini文件,直接调用传参即可。
本文将详细讲解如何使用VB在内存中读写INI文件,并且介绍一种安全措施,即对INI信息进行加密存储,以防止敏感信息的泄露。 一、INI文件简介 INI文件是一种简单的文本格式,用于存储程序的配置信息,通常包含键值对...
VC++通过Windows API提供了读写INI文件的功能,通过封装这些API,可以创建易于使用的INI文件类。理解这些基础知识对于Windows应用程序开发是至关重要的,特别是在处理应用程序配置和用户设置时。通过使用自定义的INI...
在linux系统下完成类似windows读写ini文件的功能,封装了类似WritePrivateProfileString、GetPrivateProfileString、SetPrivateProfileInt、GetPrivateProfileInt等功能接口。
使用libconfig可以简化读写ini文件的过程: ```cpp #include #include void readConfig(const char* filePath, libconfig::Config& config) { config.readFile(filePath); // 从config对象中获取数据... } ...
下面我们将详细探讨这两个文件以及如何使用它们来读写Ini文件。 首先,`MyIni` 类可能包含以下核心成员: 1. **构造函数**:初始化对象,可能用于打开或创建指定的Ini文件。 2. **析构函数**:在对象销毁时,可能...
本篇文章将详细探讨如何在VC++环境下读写INI文件。 首先,我们需要了解INI文件的基本结构。INI文件通常由三个主要部分组成:[Section]、Key=Value对和注释。Section代表不同的类别,Key是设置的名称,Value则是对应...
以下是一个C#实现读写INI文件类的实例,它封装了读取、写入和删除INI文件中的数据的方法。 首先,类名为`INIFile`,它有两个关键的属性:`path`用于存储INI文件的路径,以及一个构造函数接收INI文件路径并赋值给`...
总结,Qt的`QSettings`类为`.ini`文件的读写提供了便利。通过正确处理编码问题,我们可以安全地在`.ini`文件中存储和读取中文字符串,实现跨平台的配置管理。在实际项目中,可以根据需求灵活运用这些功能,以实现...
在Windows应用程序开发中,我们经常需要与配置...总的来说,C# WinForm读写INI文件虽然没有内建支持,但通过标准的IO类库可以轻松实现。理解这些基本概念和步骤后,你就可以在自己的应用程序中灵活地管理配置文件了。
本文将深入探讨如何使用C++来读写INI文件,以及一个封装好的类`CParseIniFile`的实现。 INI文件通常包含键值对,组织在不同的节(section)中。每节以方括号`[]`括起,键值对则由等号`=`分隔。例如: ``` [Section...