日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#操作ini文件的幫助類_C#教程

作者:農碼一生 ? 更新時間: 2022-06-22 編程語言

.ini 文件是Initialization File的縮寫,即初始化文件,是windows的系統配置文件所采用的存儲格式,統管windows的各項配置,一般用戶就用windows提供的各項圖形化管理界面就可實現相同的配置了。但在某些情況,還是要直接編輯ini才方便,一般只有很熟悉windows才能去直接編輯。

一、定義Class

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace IniDemo
{
	public class IniFile
	{
		private string m_FileName;

		public string FileName
		{
			get
			{
				return this.m_FileName;
			}
			set
			{
				this.m_FileName = value;
			}
		}

		[DllImport("kernel32.dll")]
		private static extern int GetPrivateProfileInt(string lpAppName, string lpKeyName, int nDefault, string lpFileName);

		[DllImport("kernel32.dll")]
		private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

		[DllImport("kernel32.dll")]
		private static extern int WritePrivateProfileString(string lpAppName, string lpKeyName, string lpString, string lpFileName);

		public IniFile(string aFileName)
		{
			this.m_FileName = aFileName;
		}

		public IniFile()
		{
		}

		public int ReadInt(string section, string name, int def)
		{
			return IniFile.GetPrivateProfileInt(section, name, def, this.m_FileName);
		}

		public string ReadString(string section, string name, string def)
		{
			StringBuilder stringBuilder = new StringBuilder(2048);
			IniFile.GetPrivateProfileString(section, name, def, stringBuilder, 2048, this.m_FileName);
			return stringBuilder.ToString();
		}

		public void WriteInt(string section, string name, int Ival)
		{
			IniFile.WritePrivateProfileString(section, name, Ival.ToString(), this.m_FileName);
		}

		public void WriteString(string section, string name, string strVal)
		{
			IniFile.WritePrivateProfileString(section, name, strVal, this.m_FileName);
		}

		public void DeleteSection(string section)
		{
			IniFile.WritePrivateProfileString(section, null, null, this.m_FileName);
		}

		public void DeleteAllSection()
		{
			IniFile.WritePrivateProfileString(null, null, null, this.m_FileName);
		}

		public string IniReadValue(string section, string name)
		{
			StringBuilder stringBuilder = new StringBuilder(256);
			IniFile.GetPrivateProfileString(section, name, "", stringBuilder, 256, this.m_FileName);
			return stringBuilder.ToString();
		}

		public void IniWriteValue(string section, string name, string value)
		{
			IniFile.WritePrivateProfileString(section, name, value, this.m_FileName);
		}
	}
}

二、調用方法

IniFile iniFile = new IniFile(Environment.CurrentDirectory + "\\LocalInf.ini");
//讀取Local節點下M的值,默認為空值
string m  = iniFile.ReadString("Local", "M", "");
//Local節點下寫F=f
iniFile.WriteString("Local", "F", "f");
//讀取Local節點下IsSleep的字符串值,并轉為bool類型值,給出默認值為False
 bool f = bool.Parse(iniFile.ReadString("Local", "IsSleep", "False"));
//讀取Local節點下的C的字符串值,并轉為double類型值,給出默認值0
 bool f = double.Parse(iniFile.ReadString("Local", "C", "0"));

原文鏈接:https://www.cnblogs.com/wml-it/p/15618356.html

欄目分類
最近更新