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/HMI.Simple.Util/ProductUtil.cs | 105 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 91 insertions(+), 14 deletions(-)
diff --git a/SimpleUtil/HMI.Simple.Util/ProductUtil.cs b/SimpleUtil/HMI.Simple.Util/ProductUtil.cs
index aab00f6..fe8c631 100644
--- a/SimpleUtil/HMI.Simple.Util/ProductUtil.cs
+++ b/SimpleUtil/HMI.Simple.Util/ProductUtil.cs
@@ -10,31 +10,101 @@
private static void WriteParameterData(object instance, ParameterData data)
{
SequenceContext context = (SequenceContext)instance;
- if (data.Type == "Bool")
+ string name = $"DUTSetting.{data.Name}";
+
+ if (data.IsArray)
{
- context.FileGlobals.SetValBoolean($"DUTSetting.{data.Name}", 1, bool.Parse(data.Value));
- }
- else if (data.Type == "Int")
- {
- context.FileGlobals.SetValInteger64($"DUTSetting.{data.Name}", 1, int.Parse(data.Value));
- }
- else if (data.Type == "Double")
- {
- context.FileGlobals.SetValNumber($"DUTSetting.{data.Name}", 1, double.Parse(data.Value));
+ PropertyValueTypes type;
+ if (data.Type == "Bool")
+ {
+ type = PropertyValueTypes.PropValType_Boolean;
+ }
+ else if (data.Type == "Int")
+ {
+ type = PropertyValueTypes.PropValType_Number;
+ }
+ else if (data.Type == "Double")
+ {
+ type = PropertyValueTypes.PropValType_Number;
+ }
+ else
+ {
+ type = PropertyValueTypes.PropValType_String;
+ }
+ string[] arr = data.Value?.Split(',') ?? new string[0];
+ if (arr.Length > 0)
+ {
+ context.FileGlobals.DeleteSubProperty(name, 2);
+
+ context.FileGlobals.NewSubProperty(name, type, true, null, 1);
+ context.FileGlobals.GetPropertyObject(name, 0).SetNumElements(arr.Length);
+ for (int i = 0; i < arr.Length; i++)
+ {
+ if (type == PropertyValueTypes.PropValType_String)
+ {
+ context.FileGlobals.SetValString($"{name}[{i}]", 0, arr[i]);
+ }
+ if (data.Type == "Int")
+ {
+ context.FileGlobals.SetValNumber($"{name}[{i}]", 0, int.Parse(arr[i]));
+ }
+ if (data.Type == "Double")
+ {
+ context.FileGlobals.SetValNumber($"{name}[{i}]", 0, double.Parse(arr[i]));
+ }
+ if (data.Type == "Bool")
+ {
+ context.FileGlobals.SetValBoolean($"{name}[{i}]", 0, bool.Parse(arr[i]));
+ }
+ }
+ }
}
else
{
- context.FileGlobals.SetValString($"DUTSetting.{data.Name}", 1, data.Value);
+ if (data.Type == "Bool")
+ {
+ context.FileGlobals.SetValBoolean(name, 1, bool.Parse(data.Value));
+ }
+ else if (data.Type == "Int")
+ {
+ context.FileGlobals.SetValNumber(name, 1, int.Parse(data.Value));
+ }
+ else if (data.Type == "Double")
+ {
+ context.FileGlobals.SetValNumber(name, 1, double.Parse(data.Value));
+ }
+ else
+ {
+ context.FileGlobals.SetValString(name, 1, data.Value);
+ }
}
+
+
}
+ private static string GetDataFilePath()
+ {
+ string path = ParameterUtil.GetCommonParameterValue("ShareConfig", out _);
+ if (path == null)
+ {
+ path = Path.Combine(RegUtil.GetLocaltion(), "Config");
+ }
+ return path;
+ }
+
+ /// <summary>
+ /// 鏍规嵁浜у搧鍨嬪彿鍐欓厤缃�
+ /// </summary>
+ /// <param name="model">浜у搧鍨嬪彿</param>
+ /// <param name="instance">TestStand涓婁笅鏂�</param>
+ /// <param name="errMsg">寮傚父淇℃伅</param>
+ /// <returns>鏄惁鎴愬姛</returns>
public static bool WriteConfigToContextByModel(string model, object instance, out string errMsg)
{
errMsg = string.Empty;
try
{
- string dir = RegUtil.GetLocaltion();
- string path = Path.Combine(dir, "Config", "Product","Parameter", $"Parameter_{model}.data");
+ string path = Path.Combine(GetDataFilePath(), "Product", "Parameter", $"Parameter_{model}.data");
return WriteConfigToContextByPath(path, instance, out errMsg);
}
catch (Exception ex)
@@ -44,6 +114,13 @@
}
}
+ /// <summary>
+ /// 鏍规嵁璺緞鍐欓厤缃�
+ /// </summary>
+ /// <param name="path">缁濆璺緞</param>
+ /// <param name="instance">TestStand涓婁笅鏂�</param>
+ /// <param name="errMsg">寮傚父淇℃伅</param>
+ /// <returns>鏄惁鎴愬姛</returns>
public static bool WriteConfigToContextByPath(string path, object instance, out string errMsg)
{
errMsg = string.Empty;
@@ -51,7 +128,7 @@
{
if (!File.Exists(path))
{
- throw new Exception("鏈壘鍒拌閰嶇疆锛岃妫�鏌�");
+ throw new Exception($"鏈壘鍒拌閰嶇疆[{path}]锛岃妫�鏌�");
}
List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
foreach (var data in datas)
--
Gitblit v1.9.1