From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
SimpleUtil/DIOController/IniFileHelper.cs | 94 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 94 insertions(+), 0 deletions(-)
diff --git a/SimpleUtil/DIOController/IniFileHelper.cs b/SimpleUtil/DIOController/IniFileHelper.cs
new file mode 100644
index 0000000..0c7fc99
--- /dev/null
+++ b/SimpleUtil/DIOController/IniFileHelper.cs
@@ -0,0 +1,94 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace DIOController
+{
+ public class IniFileHelper
+ {
+ static List<string> sections = new List<string>();
+ static List<string> keys = new List<string>();
+ #region API鍑芥暟澹版槑
+
+ [DllImport("kernel32")]
+ private static extern long WritePrivateProfileString(string section, string key,
+ string val, string filePath);
+
+ //闇�瑕佽皟鐢℅etPrivateProfileString鐨勯噸杞�
+ [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")]
+ private static extern long GetPrivateProfileString(string section, string key,
+ string def, StringBuilder retVal, int size, string filePath);
+
+ [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")]
+ private static extern uint GetPrivateProfileStringA(string section, string key,
+ string def, Byte[] retVal, int size, string filePath);
+
+ #endregion
+
+ public static List<string> ReadSections(string iniFilename)
+ {
+ List<string> result = new List<string>();
+ Byte[] buf = new Byte[65536];
+ uint len = GetPrivateProfileStringA(null, null, null, buf, buf.Length, iniFilename);
+ int j = 0;
+ for (int i = 0; i < len; i++)
+ if (buf[i] == 0)
+ {
+ result.Add(Encoding.Default.GetString(buf, j, i - j));
+ j = i + 1;
+ }
+ return result;
+ }
+
+ public static List<string> ReadKeys(string SectionName, string iniFilename)
+ {
+ List<string> result = new List<string>();
+ Byte[] buf = new Byte[65536];
+ uint len = GetPrivateProfileStringA(SectionName, null, null, buf, buf.Length, iniFilename);
+ int j = 0;
+ for (int i = 0; i < len; i++)
+ if (buf[i] == 0)
+ {
+ result.Add(Encoding.Default.GetString(buf, j, i - j));
+ j = i + 1;
+ }
+ return result;
+ }
+
+ #region 璇籌ni鏂囦欢
+
+ public static 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);
+ return temp.ToString();
+ }
+ else
+ return String.Empty;
+ }
+
+ #endregion
+
+ #region 鍐橧ni鏂囦欢
+
+
+ public static bool WriteIniData(string Section, string Key, string Value, string iniFilePath)
+ {
+ if (File.Exists(iniFilePath) == false)
+
+ {
+ FileStream FS = new FileStream(iniFilePath, FileMode.CreateNew);
+ }
+ long OpStation = WritePrivateProfileString(Section, Key, Value, iniFilePath);
+ if (OpStation == 0)
+ return false;
+ else
+ return true;
+ }
+ #endregion
+ }
+}
--
Gitblit v1.9.1