.ini檔案處理幫助類
阿新 • • 發佈:2021-11-29
目錄
技術的發展日新月異,隨著時間推移,無法保證本部落格所有內容的正確性。如有誤導,請大家見諒,歡迎評論區指正!
個人開原始碼連結:
GitHub Gitee GitLab
開發學習交流群:
一、定義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
技術的發展日新月異,隨著時間推移,無法保證本部落格所有內容的正確性。如有誤導,請大家見諒,歡迎評論區指正!
個人開原始碼連結:
GitHub Gitee GitLab
開發學習交流群: