diff --git a/Analysis/9.Analysis.csproj b/Analysis/9.Analysis.csproj
deleted file mode 100644
index 7fe680d..0000000
--- a/Analysis/9.Analysis.csproj
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {7C83975D-A071-48E0-8A12-DAFD20525B66}
- WinExe
- Properties
- NSAnalysis
- NSAnalysis
- v4.8
- 512
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- x64
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- x86
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- bin\x64\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- HexagonTransparent.ico
-
-
-
- False
- bin\x64\Debug\Covert.dll
-
-
- ..\DAL\bin\Debug\DAL.dll
-
-
- False
- bin\x64\Debug\HslCommunication.dll
-
-
- ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
-
-
- ..\packages\NLog.5.3.3\lib\net46\NLog.dll
-
-
- ..\PLCModule\PLCModule\bin\Debug\PLCModule.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.dll
- True
-
-
-
- ..\lib\RCWF\2018.3.1016.40\Telerik.WinControls.UI.dll
- True
-
-
- ..\lib\RCWF\2018.3.1016.40\TelerikCommon.dll
- True
-
-
-
-
- Form
-
-
- AboutSoftwareInfo.cs
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- FormMain.cs
-
-
- UserControl
-
-
- LabPictureControl.cs
-
-
-
-
-
-
-
- Form
-
-
- FAddTolerance.cs
-
-
- Form
-
-
- FEditTolerance.cs
-
-
- Form
-
-
- FSoftwareSetup.cs
-
-
- Form
-
-
- FToleranceSetup.cs
-
-
- Form
-
-
- ZSFDEMO.cs
-
-
- AboutSoftwareInfo.cs
-
-
- FormMain.cs
-
-
- LabPictureControl.cs
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- FAddTolerance.cs
-
-
- FEditTolerance.cs
-
-
- FSoftwareSetup.cs
-
-
- FToleranceSetup.cs
-
-
- ZSFDEMO.cs
-
-
- Always
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
- Microsoft .NET Framework 4.7 %28x86 和 x64%29
- true
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
-
-
-
\ No newline at end of file
diff --git a/Analysis/9.Analysis.csproj.user b/Analysis/9.Analysis.csproj.user
deleted file mode 100644
index 95a1d1a..0000000
--- a/Analysis/9.Analysis.csproj.user
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- publish\
-
-
-
-
-
- zh-CN
- false
-
-
\ No newline at end of file
diff --git a/Analysis/AboutSoftwareInfo.cs b/Analysis/AboutSoftwareInfo.cs
index e995120..cdeb76b 100644
--- a/Analysis/AboutSoftwareInfo.cs
+++ b/Analysis/AboutSoftwareInfo.cs
@@ -1,91 +1,87 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
+using BaseFunction;
+
+using System;
+using System.Diagnostics;
+
using System.Drawing;
+using System.IO;
+using System.Reflection;
using System.Text;
using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-using BaseFunction;
using Telerik.WinControls.UI;
-using System.Reflection;
-using System.Diagnostics;
namespace NSAnalysis
{
- public partial class AboutSoftwareInfo : Telerik.WinControls.UI.ShapedForm
- {
- public AboutSoftwareInfo()
- {
- InitializeComponent();
- }
+ public partial class AboutSoftwareInfo : Telerik.WinControls.UI.ShapedForm
+ {
+ public AboutSoftwareInfo()
+ {
+ InitializeComponent();
+ }
- private void AboutSoftwareInfo_Load(object sender, EventArgs e)
- {
- labelExpiryDateValue.Text = ConfigDfn.strExpiredTime;//ConfigDfn.strExpiredTime
- labVersion.Text = AssemblyFileVersion;
- //海克斯康制造智能技术(青岛)有限公司 / Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd.
- //Please send the request file to Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd.
- }
+ private void AboutSoftwareInfo_Load(object sender, EventArgs e)
+ {
+ labelExpiryDateValue.Text = ConfigDfn.strExpiredTime;//ConfigDfn.strExpiredTime
+ labVersion.Text = AssemblyFileVersion;
+ //海克斯康制造智能技术(青岛)有限公司 / Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd.
+ //Please send the request file to Hexagon Manufacturing Intelligence (Qingdao) Co., Ltd.
+ }
- public string AssemblyVersion
- {
- get
- {
- return Assembly.GetExecutingAssembly().GetName().Version.ToString();
- }
- }
+ public string AssemblyVersion
+ {
+ get
+ {
+ return Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ }
+ }
- public string AssemblyFileVersion
- {
- get { return FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).FileVersion; }
- }
+ public string AssemblyFileVersion
+ {
+ get { return FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).FileVersion; }
+ }
- private void rbtnCreateRequest_Click(object sender, EventArgs e)
- {
- try
- {
- SaveFileDialog fbd = new SaveFileDialog();
- fbd.DefaultExt = ".key";
- fbd.Filter = "KEY (*.key)|*.key";
- fbd.FileName = "Request.key";
+ private void rbtnCreateRequest_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ SaveFileDialog fbd = new SaveFileDialog();
+ fbd.DefaultExt = ".key";
+ fbd.Filter = "KEY (*.key)|*.key";
+ fbd.FileName = "Request.key";
- if (fbd.ShowDialog() == DialogResult.OK)
- {
- using (StreamWriter sw = new StreamWriter(fbd.FileName, false, Encoding.Default))
- {
- sw.WriteLine(Covert.GetSystemInfo.GetCode1() + Covert.GetSystemInfo.GetCode2());
- sw.Dispose();
+ if (fbd.ShowDialog() == DialogResult.OK)
+ {
+ using (StreamWriter sw = new StreamWriter(fbd.FileName, false, Encoding.Default))
+ {
+ sw.WriteLine(Covert.GetSystemInfo.GetCode1() + Covert.GetSystemInfo.GetCode2());
+ sw.Dispose();
- MessageBox.Show("授权请求文件,保存成功!");
- return;
- }
- }
- MyBase.TraceWriteLine("授权请求文件未生成——取消");
- }
- catch (Exception ex)
- {
- MessageBox.Show("授权请求文件生成出错:" + ex.ToString());
- }
- }
+ MessageBox.Show("授权请求文件,保存成功!");
+ return;
+ }
+ }
+ MyBase.TraceWriteLine("授权请求文件未生成——取消");
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("授权请求文件生成出错:" + ex.ToString());
+ }
+ }
- #region RadButton鼠标事件
+ #region RadButton鼠标事件
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
+ private void btn_MouseHover(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(0, 151, 186);
+ }
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
+ private void btn_MouseLeave(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(19, 46, 53);
+ }
- #endregion RadButton鼠标事件
- }
+ #endregion RadButton鼠标事件
+ }
}
\ No newline at end of file
diff --git a/Analysis/App.config b/Analysis/App.config
index fbec9da..72a3746 100644
--- a/Analysis/App.config
+++ b/Analysis/App.config
@@ -1,30 +1,30 @@
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
\ No newline at end of file
diff --git a/Analysis/BaseUnit/Base.cs b/Analysis/BaseUnit/Base.cs
index 2204fd9..19e12e6 100644
--- a/Analysis/BaseUnit/Base.cs
+++ b/Analysis/BaseUnit/Base.cs
@@ -1,3125 +1,3144 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
+using NLog;
+using System;
+using System.Collections;
+using System.Data;
+using System.Diagnostics;
+using System.Drawing;
using System.IO;
+using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
-using System.IO.Ports; //串口读写
-using System.Drawing;
-using System.Collections;
-using System.Diagnostics;
-using System.Data;
-using System.Threading;
+using System.Windows.Forms;
using Telerik.WinControls.UI;
-using NLog;
namespace BaseFunction
{
- //==========================================================================================
- //通用功能类
- public class NLogger
- {
- private static readonly Logger logger = LogManager.GetCurrentClassLogger();
- public static void Trace(string message) { logger.Trace(message); }
- public static void Debug(string message) { logger.Debug(message); }
- public static void Info(string message) { logger.Info(message); }
- public static void Warn(string message) { logger.Warn(message); }
- public static void Error(string message) { logger.Error(message); }
- public static void Fatal(string message) { logger.Fatal(message); }
- }
-
- public class MyBase
- {
- public static RadLabelElement rleMessage;
- #region 内存回收
-
- [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
- public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
-
- ///
- /// 释放内存
- ///
- public static void ClearMemory()
- {
- GC.Collect();
- GC.WaitForPendingFinalizers();
- if (Environment.OSVersion.Platform == PlatformID.Win32NT)
- {
- SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
- }
- }
-
- public static void ClearMemory_PCDMIS()
- {
- Process[] m_Process = Process.GetProcessesByName("PCDLRN");
- for (int i = 0; i < m_Process.Length; i++)
- {
- if (Environment.OSVersion.Platform == PlatformID.Win32NT)
- {
- SetProcessWorkingSetSize(m_Process[i].Handle, -1, -1);
- }
- }
- }
-
- #endregion 内存回收
-
- public static void KillSoftware(string strSoftwareName)
- {
- Process[] xc = Process.GetProcesses();
- try
- {
- foreach (Process xc1 in xc)
- {
- if (xc1.ProcessName.ToLower() == strSoftwareName.ToLower())
- {
- xc1.Kill();
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("Kill " + strSoftwareName + " Failed: " + ex.ToString());
- }
- }
-
- public static void DeleteAllFiles(string strPath)
- {
- try
- {
- DirectoryInfo dir = new DirectoryInfo(strPath);
- FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
- foreach (FileSystemInfo i in fileinfo)
- {
- if (i is DirectoryInfo) //判断是否文件夹
- {
- DirectoryInfo subdir = new DirectoryInfo(i.FullName);
- subdir.Delete(true); //删除子目录和文件
- }
- else
- {
- File.Delete(i.FullName); //删除指定文件
- }
- }
- MyBase.TraceWriteLine("首次启动软件,遍历删除路径:" + strPath + "下的文件全部删除");
- }
- catch (Exception e)
- {
- MyBase.TraceWriteLine("遍历删除路径:" + strPath + "下的文件失败:" + e.ToString());
- }
- }
-
- #region 界面控件操作
-
- ///
- /// 根据指定容器和控件名字,获得控件
- ///
- /// 容器
- /// 控件名字
- /// 控件
- public static object GetControlInstance(object obj, string strControlName, Form mainForm)
- {
- IEnumerator Controls = null;//所有控件
- Control c = null;//当前控件
- Object cResult = null;//查找结果
- if (obj.GetType() == mainForm.GetType())//窗体
- {
- Controls = mainForm.Controls.GetEnumerator();
- }
- else//控件
- {
- Controls = ((Control)obj).Controls.GetEnumerator();
- }
- while (Controls.MoveNext())//遍历操作
- {
- c = (Control)Controls.Current;//当前控件
- if (c.HasChildren)//当前控件是个容器
- {
- cResult = GetControlInstance(c, strControlName, mainForm);//递归查找
- if (cResult == null)//当前容器中没有,跳出,继续查找
- continue;
- else//找到控件,返回
- return cResult;
- }
- else if (c.Name == strControlName)//不是容器,同时找到控件,返回
- {
- return c;
- }
- }
- return null;//控件不存在
- }
-
- ///
- /// 获取主控件上的子控件的名称
- ///
- /// 主控件名称
- /// 子控件名称
- ///
- public static object GetChildControl(object obj, string strControlName)
- {
- Control m_Ctrl = null;//当前控件
- IEnumerator Controls = ((Control)obj).Controls.GetEnumerator();
-
- while (Controls.MoveNext())
- {
- m_Ctrl = (Control)Controls.Current;//当前控件
- if (m_Ctrl.Name == strControlName)
- {
- return m_Ctrl;
- }
- }
- return null;//控件不存在
- }
-
- public static void AddDebugText(TextBox tb, string str, int length = 200)
- {
- try
- {
- TraceWriteLine(str);
- string strTime = DateTime.Now.ToString("HH:mm:ss") + "--";
- tb.Text += (strTime + str);
- tb.Text += "\r\n";
- tb.Select(tb.TextLength, 0);
- tb.ScrollToCaret();
-
- if (tb.Lines.Length > length)
- {
- tb.Clear();
- }
- }
- finally { }
- }
-
- ///
- /// 向RichTextBox控件中添加文本信息
- ///
- /// RichTextBox控件类
- /// 要显示的文本信息内容
- /// 文本显示的颜色
- public static void AddDebugTextToRTB(RichTextBox RTB, string str, Color m_Color = new Color())
- {
- try
- {
- TraceWriteLine(str);//将文本信息同步到debug.txt文件中
- RTB.BeginInvoke((EventHandler)delegate
- {
- Color SetColor = Color.Black;
- if (m_Color == new Color())
- {
- if (str.ToUpper().Contains("ERROR") || str.ToUpper().Contains("错误") || str.ToUpper().Contains("出错") || str.ToUpper().Contains("EXCEPTION") || str.ToUpper().Contains("异常") || str.ToUpper().Contains("失败"))
- {
- SetColor = Color.Red;
- }
- else if (str.ToUpper().Contains("WARNING") || str.ToUpper().Contains("警告"))
- {
- SetColor = Color.DarkOrange;
- }
- }
- else
- {
- SetColor = m_Color;
- }
-
- string strText = str + Environment.NewLine; //DateTime.Now.ToString("HH:mm:ss.fff") + "--" +
- RTB.SelectionStart = RTB.TextLength;
- if (string.IsNullOrEmpty(str))
- RichTextUnit.SetText(RTB, " " + Environment.NewLine, SetColor, false, 14);
- else
- RichTextUnit.SetText(RTB, strText, SetColor, false, 14);
-
- if (RTB.Lines.Length > 2000)
- {
- RTB.Select(0, RTB.TextLength / 2);
- RTB.Cut();
- }
- RTB.ScrollToCaret();
- });
- }
- catch { }
- }
-
- ///
- /// 写debug文件,记录程序过程
- ///
- /// 要写入日志的内容
- public static void TraceWriteLine(string str)
- {
- try
- {
- if (rleMessage != null)
- {
- rleMessage.Text = str;
- }
- if (str.Contains("警告") || str.ToUpper().Contains("WARN"))
- {
-
- NLogger.Warn(str);
-
- }
- else if (str.Contains("错误") || str.ToUpper().Contains("ERROR")||str.Contains("失败"))
- {
- NLogger.Error(str);
- }
- else
- {
- NLogger.Info(str);
- }
- Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "--" + str);
- Trace.Unindent();
- Trace.Flush();
- }
- catch { }
- }
-
- public static string InputBox(string Caption, string Hint, string DefaultTxt, string btn1 = "OK", string btn2 = "Cancel", char Strstyle = '*', bool bShowData = false)
- {
- if (Strstyle == '\0')
- Strstyle = '*';
- Form InputForm = new Form();
- InputForm.MinimizeBox = false;
- InputForm.MaximizeBox = false;
- InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
- InputForm.StartPosition = FormStartPosition.CenterScreen;
- InputForm.Width = 300;
- InputForm.Height = 180;
- InputForm.Text = Caption;
- InputForm.Font = new System.Drawing.Font("Segoe UI", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
-
- Label lbl = new Label();
- lbl.Text = Hint;
- lbl.Left = 25;
- lbl.Top = 20;
- lbl.Parent = InputForm;
- lbl.AutoSize = true;
- TextBox tb = new TextBox();
- tb.Left = 30;
- tb.Top = 45;
- tb.Width = 230;
- tb.Parent = InputForm;
- tb.Text = DefaultTxt;
- if (bShowData == false)
- tb.PasswordChar = Strstyle;
- tb.SelectAll();
- Button btnok = new Button();
- btnok.Left = 90;
- btnok.Top = 90;
- btnok.Height = 30;
- btnok.Parent = InputForm;
- btnok.Text = btn1;
- InputForm.AcceptButton = btnok;//回车响应
- btnok.DialogResult = DialogResult.OK;
-
- Button btncancal = new Button();
- btncancal.Left = 185;
- btncancal.Top = 90;
- btncancal.Height = 30;
- btncancal.Parent = InputForm;
- btncancal.Text = btn2;
- btncancal.DialogResult = DialogResult.Cancel;
- try
- {
- if (InputForm.ShowDialog() == DialogResult.OK)
- {
- return tb.Text;
- }
- else
- {
- return "-999.999";
- }
- }
- finally
- {
- InputForm.Dispose();
- }
- }
-
- ///
- /// 操作提示框,0 = 取消; 1 = 第一个按钮; 2 = 第二个按钮
- ///
- /// 错误信息
- /// 标题
- /// 第一个按钮名字
- /// 第二个按钮名字
- /// 第三个按钮名字
- /// 背景颜色,默认无色,1=红色
- ///
- public static int MessageBox(string strError, string Caption, string btnName1 = "YES", string btnName2 = "NO", string btnName3 = "Cancel", int iColor = 0)
- {
- Form ErrorForm = new Form();
- ErrorForm.MinimizeBox = false;
- ErrorForm.MaximizeBox = false;
- ErrorForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
- ErrorForm.StartPosition = FormStartPosition.CenterScreen;
- ErrorForm.Width = 480;
- ErrorForm.Height = 300;
- ErrorForm.Text = Caption;
- ErrorForm.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
-
- TextBox tb = new TextBox();
- tb.Parent = ErrorForm;
- tb.Text = strError;
- tb.Multiline = true;
- tb.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- tb.Location = new System.Drawing.Point(20, 20);
- tb.Size = new System.Drawing.Size(440, 170);
- tb.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- tb.Font = new Font("宋体", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
- if (iColor == 1)
- tb.BackColor = Color.Red;
-
- Button btnYes = new Button();
- btnYes.Location = new System.Drawing.Point(30, 210);
- btnYes.Size = new System.Drawing.Size(100, 40);
- btnYes.Parent = ErrorForm;
- btnYes.Text = btnName1;
-
- btnYes.DialogResult = DialogResult.Yes;
- ErrorForm.AcceptButton = btnYes;//回车响应
-
- Button btnNO = new Button();
- btnNO.Location = new System.Drawing.Point(190, 210);
- btnNO.Size = new System.Drawing.Size(100, 40);
- btnNO.Parent = ErrorForm;
- btnNO.Text = btnName2;
- btnNO.DialogResult = DialogResult.No;
- ErrorForm.AcceptButton = btnNO;//回车响应
-
- Button btncancal = new Button();
- btncancal.Location = new System.Drawing.Point(350, 210);
- btncancal.Size = new System.Drawing.Size(100, 40);
- btncancal.Parent = ErrorForm;
- btncancal.Text = btnName3;
- btncancal.DialogResult = DialogResult.Cancel;
- ErrorForm.AcceptButton = btncancal;//回车响应
- try
- {
- btnYes.Select();
- switch (ErrorForm.ShowDialog())
- {
- case DialogResult.Yes: return 1;
- case DialogResult.No: return 2;
- default: return 0;
- }
- }
- finally
- {
- ErrorForm.Dispose();
- }
- }
-
- [DllImport("User32.dll")]
- private static extern bool SetCursorPos(int x, int y);
-
- public static void SetCursorPosXY(int dx, int dy)
- {
- SetCursorPos(dx, dy);
- }
-
- public static void SetCursorPosXY(Point point)
- {
- System.Windows.Forms.Cursor.Position = point;
- }
-
- #endregion 界面控件操作
-
- ///
- /// CopyFiles 函数
- ///
- /// 源路径文件夹路径
- /// 目标文件夹路径
- /// 文件夹名称
- ///
- public static int CopyFiles(string strSourceFilePath, string strDesFilePath, string strRemak)
- {
- try
- {
- if (!Directory.Exists(strDesFilePath))
- {
- Directory.CreateDirectory(strDesFilePath);
- }
- DirectoryInfo sDir = new DirectoryInfo(strSourceFilePath);
- FileInfo[] fileArray = sDir.GetFiles();
- foreach (FileInfo file in fileArray)
- {
- file.CopyTo(strDesFilePath + "\\" + file.Name, true);
- }
- System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的所有文件成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return 1;
- }
- catch (Exception ex)
- {
- System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的文件错误!原因: " + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return 0;
- }
- }
- }
-
- public class HardwareInfoBase
- {
- /// 获取指定驱动器的空间总大小(单位为B) ,只需输入代表驱动器的字母即可
- public static long GetHardDiskSpace(string str_HardDiskName)
- {
- long totalSize = new long();
- str_HardDiskName = str_HardDiskName + ":\\";
- System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
- foreach (System.IO.DriveInfo drive in drives)
- {
- if (drive.Name == str_HardDiskName)
- {
- totalSize = drive.TotalSize;
- break;
- }
- }
- return totalSize;
- }
-
- /// 获取指定驱动器的剩余空间总大小(单位为B) ,只需输入代表驱动器的字母即可
- public static long GetHardDiskFreeSpace(string str_HardDiskName)
- {
- long freeSpace = new long();
- str_HardDiskName = str_HardDiskName + ":\\";
- System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
- foreach (System.IO.DriveInfo drive in drives)
- {
- if (drive.Name == str_HardDiskName)
- {
- freeSpace = drive.TotalFreeSpace;
- break;
- }
- }
- return freeSpace;
- }
-
- /// 获取指定驱动器的剩余空间总大小(单位为K) ,只需输入代表驱动器的字母即可
- public static long GetHardDiskFreeSpace_K(string str_HardDiskName)
- {
- return GetHardDiskFreeSpace(str_HardDiskName) / 1024;
- }
-
- /// 获取指定驱动器的剩余空间总大小(单位为M) ,只需输入代表驱动器的字母即可
- public static long GetHardDiskFreeSpace_M(string str_HardDiskName)
- {
- return GetHardDiskFreeSpace_K(str_HardDiskName) / 1024;
- }
-
- /// 获取指定驱动器的剩余空间总大小(单位为G) ,只需输入代表驱动器的字母即可
- public static long GetHardDiskFreeSpace_G(string str_HardDiskName)
- {
- return GetHardDiskFreeSpace_M(str_HardDiskName) / 1024;
- }
- }
-
- //==================================================================================================FileIni
- //Ini 文件操作类
- public class FileIni
- {
- [DllImport("kernel32.dll")]
- public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
-
- [DllImport("kernel32.dll")]
- public static extern bool CloseHandle(IntPtr hObject);
-
- public const int OF_READWRITE = 2;
- public const int OF_SHARE_DENY_NONE = 0x40;
- public static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
-
- //判断文件是否被占用 占用=true 未占用 = false
- public static bool isFileOccupied(string path)
- {
- if (!File.Exists(path))
- return true;
- IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE);
- if (vHandle == HFILE_ERROR)
- return true;
- CloseHandle(vHandle);
- return false;
- }
-
- [DllImport("kernel32")]
- private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
-
- [DllImport("kernel32")]
- private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
-
- [DllImport("kernel32")]
- private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath);
-
- public static bool isFileExists(string path)
- {
- if (!(File.Exists(path)))
- {
- MessageBox.Show("文件:" + path + "不存在", "ini文件不存在");
- return false;
- }
- return true;
- }
-
- //=====================//=====================//=====================Write data
- #region 写INI参数
-
- ///
- /// 对ini文件进行写操作
- ///
- /// ini文件路径
- /// 配置节
- /// 键名
- /// 要写入的string字符串
- public static void WriteString(string path, string section, string key, string value)
- {
- // section=配置节,key=键名,value=键值,path=路径
- WritePrivateProfileString(section, key, value, path);
- }
-
- public static void WriteInt(string path, string section, string key, int value = 0)
- {
- string strRead = ReadString(path, section, key);
- string[] strArr = strRead.Split(new char[] { ';' });
- string strNote = ";";
- string strWrite;
- if (strArr.Length > 1)//保留原有注释
- {
- for (int i = 1; i < strArr.Length; i++)
- strNote += strArr[i];
- strWrite = value.ToString() + strNote;
- }
- else
- {
- strWrite = value.ToString();
- }
- WritePrivateProfileString(section, key, strWrite, path);
- }
-
- public static void WriteDouble(string path, string section, string key, double value = 0)
- {
- string strRead = ReadString(path, section, key);
- string[] strArr = strRead.Split(new char[] { ';' });
- string strNote = ";";
- string strWrite;
- if (strArr.Length > 1)//保留原有注释
- {
- for (int i = 1; i < strArr.Length; i++)
- strNote += strArr[i];
- strWrite = value.ToString() + strNote;
- }
- else
- {
- strWrite = value.ToString();
- }
- WritePrivateProfileString(section, key, strWrite, path);
- }
-
- public static void WriteBool(string path, string section, string key, bool value = false)
- {
- string strValue = (value ? "1" : "0");
- string strRead = ReadString(path, section, key);
- string[] strArr = strRead.Split(new char[] { ';' });
- string strNote = ";";
- string strWrite;
- if (strArr.Length > 1)//保留原有注释
- {
- for (int i = 1; i < strArr.Length; i++)
- strNote += strArr[i];
- strWrite = strValue + strNote;
- }
- else
- {
- strWrite = strValue;
- }
- WritePrivateProfileString(section, key, strWrite, path);
- }
-
- #endregion 写INI参数
-
- //=====================//=====================//=====================Read data
- #region 读INI参数
-
- ///
- /// 从ini配置文件中读取字符串
- ///
- /// ini文件路径
- /// 配置节名称
- /// 键名
- /// 要读取的string类型内容
- public static string ReadString(string path, string section, string key)
- {
- // 每次从ini中读取多少字节 // section=配置节,key=键名,temp=上面,path=路径
- System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
- GetPrivateProfileString(section, key, "", temp, 255, path);
- String str = temp.ToString();
- string[] strArr = str.Split(new char[] { ';' });
- string strRead = "";
- if (strArr.Length > 0)
- {
- strRead = strArr[0];
- }
- return strRead;
- }
-
- ///
- /// 从ini配置文件中读取Int类型
- ///
- /// ini文件路径
- /// 配置节名称
- /// 键名
- /// 读不到时默认返回值:0
- /// 要读取的Int类型数据
- public static int ReadInt(string path, string section, string key, int defValue = 0)
- {
- return GetPrivateProfileInt(section, key, defValue, path);
- }
-
- public static double ReadDouble(string path, string section, string key, double defValue = 0)
- {
- System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
- GetPrivateProfileString(section, key, defValue.ToString(), temp, 255, path);
- String str = temp.ToString();
- string[] strArr = str.Split(new char[] { ';' });
- double ReData;
- if (strArr.Length > 0)
- {
- ReData = Convert.ToDouble(strArr[0]);
- }
- else
- {
- ReData = defValue;
- }
- return ReData;
- }
-
- public static bool ReadBool(string path, string section, string key, int defValue = 0)
- {
- int val = GetPrivateProfileInt(section, key, defValue, path);
- if (val != 0)
- return true;
- else
- return false;
- }
-
- #endregion 读INI参数
- }
-
- //==================================================================================================SoundBase
- ///
- /// 声音播放类
- ///
- public class SoundBase
- {
- //public static WMPLib.WindowsMediaPlayer WMPlayer = new WMPLib.WindowsMediaPlayer();
- ////方法 1
- //public static void OpenWinMediaPlayer(string FileName)
- //{
- // if (!System.IO.File.Exists(FileName))
- // {
- // MessageBox.Show("File does not exist!");
- // return;
- // }
- // WMPlayer.URL = FileName;
- //}
-
- //public static void OpenWinMediaPlayer(WMPLib.WindowsMediaPlayer WinMediaPlayer, string FileName)
- //{
- // if (!System.IO.File.Exists(FileName))
- // {
- // MessageBox.Show("File does not exist!");
- // return;
- // }
- // WinMediaPlayer.URL = FileName;
- //}
-
- //public static void OpenWinMediaPlayerDialogFile()
- //{
- // OpenFileDialog FileDialog = new OpenFileDialog();
- // FileDialog.AddExtension = true;
- // FileDialog.CheckFileExists = true;
- // FileDialog.CheckPathExists = true;
- // //the next sentence must be in single line
- // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*";
- // FileDialog.DefaultExt = "*.mp3";
- // if (FileDialog.ShowDialog() == DialogResult.OK)
- // {
- // WMPlayer.URL = FileDialog.FileName;
- // }
- //}
-
- //public static void OpenWinMediaPlayerDialogFile(WMPLib.WindowsMediaPlayer WinMediaPlayer)
- //{
- // OpenFileDialog FileDialog = new OpenFileDialog();
- // FileDialog.AddExtension = true;
- // FileDialog.CheckFileExists = true;
- // FileDialog.CheckPathExists = true;
- // //the next sentence must be in single line
- // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*";
- // FileDialog.DefaultExt = "*.mp3";
- // if (FileDialog.ShowDialog() == DialogResult.OK)
- // {
- // WinMediaPlayer.URL = FileDialog.FileName;
- // }
- //}
-
- //方法 2
- public static void sndPlayerPlay(string FileName)
- {
- if (!System.IO.File.Exists(FileName))
- {
- MessageBox.Show("File does not exist!");
- return;
- }
- System.Media.SoundPlayer sndPlayer = new System.Media.SoundPlayer(FileName);
- sndPlayer.Load();
- sndPlayer.Play();
- }
-
- //方法 3
- public static void SpVoicePlay(string FileName)
- {
- //if (!System.IO.File.Exists(FileName))
- //{
- // MessageBox.Show("File does not exist!");
- // return;
- //}
- //SpeechLib.SpVoiceClass pp = new SpeechLib.SpVoiceClass();
- //SpeechLib.SpFileStreamClass spFs = new SpeechLib.SpFileStreamClass();
- //spFs.Open(FileName, SpeechLib.SpeechStreamFileMode.SSFMOpenForRead, true);
- //SpeechLib.ISpeechBaseStream Istream = spFs as SpeechLib.ISpeechBaseStream;
- //pp.SpeakStream(Istream, SpeechLib.SpeechVoiceSpeakFlags.SVSFIsFilename);
- //spFs.Close();
- }
-
- //方法 4 (蜂鸣器--控制台扬声器)
- public static void Beep(int frequency, int duration)
- {
- //振动的Hz频率; //持续的时间,单位“毫秒”。
- Console.Beep(frequency, duration);
- }
- }
-
- //==================================================================================================
- ///
- /// 数据格式化或校验检测
- ///
- internal class FormatCheckBase
- {
- ///
- /// 检测是否为十六进制字符串,长度不够在前面添加0
- ///
- /// 输入字符串
- /// 长度
- /// 输出字符串
- /// 检测结果
- public static void FormatChecking16(string strInput, int length, out string strOutput, out Boolean Valid)
- {
- strOutput = "";
- Valid = true;
- byte temp;
- if ((strInput.Length <= length) & (strInput.Length > 0))
- {
- for (int i = 0; i < strInput.Length; i++)
- {
- try
- {
- temp = Convert.ToByte(strInput[i].ToString(), 16);
- }
- catch
- {
- Valid = false;
- strOutput = "";
- break;
- }
- strOutput += strInput[i];
- }
- if (Valid & (strInput.Length < length))
- {
- for (int j = 0; j < length - strInput.Length; j++)
- {
- strOutput = "0" + strOutput;
- }
- }
- }
- else
- {
- Valid = false;
- strOutput = "";
- }
- }
-
- ///
- /// 检测是否为十进制字符串,长度不够在前面添加0
- ///
- /// 输入字符串
- /// 长度
- /// 输出字符串
- /// 检测结果
- public static bool FormatChecking10(string strInput, int length, out string strOutput)
- {
- strOutput = "";
- byte temp;
- try
- {
- if ((strInput.Length <= length) & (strInput.Length > 0))
- {
- for (int i = 0; i < strInput.Length; i++)
- {
- try
- {
- temp = Convert.ToByte(strInput[i].ToString(), 10);
- }
- catch
- {
- strOutput = "";
- return false;
- }
- strOutput += strInput[i];
- }
- if (strInput.Length < length)
- {
- for (int j = 0; j < length - strInput.Length; j++)
- {
- strOutput = "0" + strOutput;
- }
- }
- }
- else
- {
- strOutput = "";
- return false;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("格式转换错误:" + ex.Message);
- return false;
- }
- return true;
- }
-
- ///
- /// 每隔n个字符插入一个字符
- ///
- /// 从右边开始插入
- /// 源字符串
- /// 间隔字符数
- /// 待插入值
- /// 待补充值,最后不足间隔字符数时,用此字符补齐;Supplement=""时,不补任何字符。
- /// 返回新生成字符串
- public static string InsertFormat(bool isRight, string input, int interval, string value, string Supplement)
- {
- if (!isRight)//从左边开始插入
- {
- for (int i = interval; i < input.Length; i += interval + 1)
- {
- input = input.Insert(i, value);
- }
- if (Supplement != "")
- {
- do
- {
- if ((input.Length + 1) % (interval + 1) != 0) { input = input + Supplement; }
- } while ((input.Length + 1) % (interval + 1) != 0);
- }
- }
- else//从右边开始插入
- {
- for (int i = input.Length - interval; i > 0; i -= interval)
- {
- input = input.Insert(i, value);
- }
- if (Supplement != "")
- {
- do
- {
- if ((input.Length + 1) % (interval + 1) != 0) { input = Supplement + input; }
- } while ((input.Length + 1) % (interval + 1) != 0);
- }
- }
- return input;
- }
-
- ///
- /// BCC校验,返回校验后的字符串
- ///
- /// 待校验字符串
- /// 返回结果
- public static string GetBCC(string strCmd)
- {
- if (strCmd.Length >= 2)
- {
- byte[] Buffer = Encoding.Default.GetBytes(strCmd);
- byte byteBCC = Buffer[0];
- for (int i = 1; i < Buffer.Length; i++)
- byteBCC ^= Buffer[i];
- return Convert.ToChar(byteBCC).ToString();
- }
- else
- {
- return null;
- }
- }
-
- ///
- /// BCC校验,返回校验后的数组
- ///
- /// 待校验数组
- /// 返回结果
- public static byte[] GetBCC(byte[] byteData)
- {
- byte[] byteWrite = new byte[byteData.Length + 1];
- if (byteData.Length >= 2)
- {
- byteData.CopyTo(byteWrite, 0);
- byte byteBCC = byteData[0];
- for (int i = 1; i < byteData.Length; i++)
- byteBCC ^= byteData[i];
- byteWrite[byteWrite.Length - 1] = byteBCC;
- return byteWrite;
- }
- else
- {
- return null;
- }
- }
-
- ///
- /// CRC16校验函数
- ///
- public class CRC16Check
- {
- private const int CRC_LEN = 0;
-
- // Table of CRC values for high-order byte
- #region
-
- private static readonly byte[] _auchCRCHi = new byte[]
- {
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
- 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
- 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
- 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
- 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
- 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
- 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
- 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
- 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
- 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
- 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
- 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
- };
-
- #endregion
- // Table of CRC values for low-order byte
- #region
-
- private static readonly byte[] _auchCRCLo = new byte[]
- {
- 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,
- 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD,
- 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
- 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A,
- 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4,
- 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
- 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,
- 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,
- 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
- 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,
- 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED,
- 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
- 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,
- 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,
- 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
- 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68,
- 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E,
- 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
- 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,
- 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,
- 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
- 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B,
- 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,
- 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
- 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,
- 0x43, 0x83, 0x41, 0x81, 0x80, 0x40
- };
-
- #endregion
-
- ///
- /// 计算CRC16校验值 返回一个ushort类型的值,如果要返回Crc高字节和低字节,可重写CalculateCrc16函数为:
- ///
- /// 待校验数组
- /// 输出高字节
- /// 输出低字节
- /// 输出校验值
- public static ushort CalculateCrc16(byte[] buffer, out byte crcHi, out byte crcLo)
- {
- crcHi = 0xff; // high crc byte initialized
- crcLo = 0xff; // low crc byte initialized
-
- for (int i = 0; i < buffer.Length - CRC_LEN; i++)
- {
- int crcIndex = crcHi ^ buffer[i]; // calculate the crc lookup index
-
- crcHi = (byte)(crcLo ^ _auchCRCHi[crcIndex]);
- crcLo = _auchCRCLo[crcIndex];
- }
- return (ushort)(crcHi << 8 | crcLo);
- }
- }
- }
-
- //==================================================================================================ConvertBase
- ///
- /// 数据转换类
- ///
- internal class ConvertBase
- {
- #region 图像 <--> 数组
-
- ///
- /// 图像转换为Byte数组
- ///
- public static byte[] ImageToByteArray(Image ImageIn)
- {
- MemoryStream ms = new MemoryStream();
- ImageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
- return ms.ToArray();
- }
-
- ///
- /// Byte数组转换为图像
- ///
- public static Image byteArrayToImage(byte[] byteArrayIn)
- {
- MemoryStream ms = new MemoryStream(byteArrayIn);
- Image returnImage = Image.FromStream(ms);
- return returnImage;
- }
-
- #endregion
-
- #region 字符串 -> 字节数组
-
- ///
- /// 十六进制(hexadecimal)字符串转换为字节数组
- ///
- ///
- ///
- public static byte[] HexStringToBytes(string str)
- {
- str = str.Replace(" ", "");
- byte[] buffer = new byte[str.Length / 2];
- for (int i = 0; i < str.Length; i += 2)
- {
- buffer[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16);
- }
- return buffer;
- }
-
- ///
- /// 十进制(Decimalism)字符串转换为字节数组
- ///
- ///
- ///
- public static byte[] DecimalStringToBytes(string str)
- {
- str = str.Replace(" ", "");
- byte[] buffer = new byte[str.Length];
- for (int i = 0; i < str.Length; i++)
- {
- buffer[i] = (byte)Convert.ToByte(str.Substring(i, 1), 10);
- }
- return buffer;
- }
-
- #endregion
-
- #region DataGridView -> DataTable 和 DataSet
-
- public static DataTable GetDataTableFromDataGridView(DataGridView dv)
- {
- DataTable dt = new DataTable(); DataColumn dc;
- for (int i = 0; i < dv.Columns.Count; i++)
- {
- dc = new DataColumn();
- dc.ColumnName = dv.Columns[i].HeaderText.ToString();
- dt.Columns.Add(dc);
- }
- for (int j = 0; j < dv.Rows.Count - 1; j++)
- {
- DataRow dr = dt.NewRow();
- for (int x = 0; x < dv.Columns.Count; x++)
- {
- dr[x] = dv.Rows[j].Cells[x].Value;
- }
- dt.Rows.Add(dr);
- }
- return dt;
- }
-
- public static DataSet GetDataSetFromDataGridView(DataGridView ucgrd)
- {
- DataSet ds = new DataSet();
- DataTable dt = new DataTable();
- for (int j = 0; j < ucgrd.Columns.Count; j++)
- { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); }
- for (int j = 0; j < ucgrd.Rows.Count; j++)
- {
- DataRow dr = dt.NewRow();
- for (int i = 0; i < ucgrd.Columns.Count; i++)
- {
- if (ucgrd.Rows[j].Cells[i].Value != null)
- { dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString(); }
- else { dr[i] = ""; }
- }
- dt.Rows.Add(dr);
- }
- ds.Tables.Add(dt);
- return ds;
- }
-
- #endregion
-
- #region ListBox.Items, ComboBox.Items -> string[]
-
- public static string[] GetStringsFromListBox(ListBox mListBox)
- {
- string[] strings = new string[mListBox.Items.Count];
- for (int i = 0; i < mListBox.Items.Count; i++)
- {
- strings[i] = mListBox.Items[i].ToString();
- }
- return strings;
- }
-
- public static string[] GetStringsFromListBox(ComboBox mComboBox)
- {
- string[] strings = new string[mComboBox.Items.Count];
- for (int i = 0; i < mComboBox.Items.Count; i++)
- {
- strings[i] = mComboBox.Items[i].ToString();
- }
- return strings;
- }
-
- public static void AddStringsToListView(ListView m_ListView, string[] strings)
- {
- m_ListView.Items.Clear();
- for (int i = 0; i < strings.Length; i++)
- {
- m_ListView.Items.Add(strings[i]);
- }
- }
-
- #endregion
-
- ///
- /// 从SYGOLE获取的数据转换函数
- ///
- public class Tool
- {
- //将十六进制的字符串转化为ushort
- public static ushort HexString2Ushort(string s)
- {
- ushort value = 0;
-
- for (int i = 0; i < s.Length; i++)
- {
- if (s[i] != ' ')
- {
- value = (ushort)(value * 16 + HexStringToHex(s, i));
- }
- }
-
- return value;
- }
-
- //将字节数组形式的mac地址转化为对应的字符串
- public static string MacToString(byte[] mac)
- {
- string MacString = "";
-
- for (int i = 0; i < 6; i++)
- {
- MacString += ByteToHexString(mac[i]);
- if (i < 5)
- {
- MacString += ":";
- }
- }
-
- return MacString;
- }
-
- //将字符串形式的mac地址转化为对应的字节数组
- public static byte[] StringToMac(string str)
- {
- string temp = "";
-
- for (int i = 0; i < str.Length; i++)
- {
- if ((str[i] != ' ') && (str[i] != ':'))
- {
- temp += str[i];
- }
- }
-
- return HexStringToByte(temp, 0, 6);//6字节长度
- }
-
- //判断字符串是否是十六进制字符串
- public static bool ValidHexString(string str)
- {
- for (int i = 0; i < str.Length; i++)
- {
- if (!
- (((str[i] >= '0') && (str[i] <= '9')) ||
- ((str[i] >= 'a') && (str[i] <= 'f')) ||
- ((str[i] >= 'A') && (str[i] <= 'F')))
- )
- {
- return false;
- }
- }
-
- return true;
- }
-
- private static string GetStringWithoutSpace(string str, int pos)
- {
- string temp = "";
- for (int i = pos; i < str.Length; i++)
- {
- if ((str[i] != ' ') && (str[i] != ':'))
- {
- temp += str[i];
- }
- }
- return temp;
- }
-
- //将单个十六进制字符(4 bits)转化为byte
- private static byte HexStringToHex(string str, int pos)
- {
- byte value = 0;
-
- if ((str[pos] >= '0') && (str[pos] <= '9'))
- {
- value = (byte)(str[pos] - '0');
- }
- else if ((str[pos] >= 'a') && (str[pos] <= 'f'))
- {
- value = (byte)(str[pos] - 'a' + 10);
- }
- else if ((str[pos] >= 'A') && (str[pos] <= 'F'))
- {
- value = (byte)(str[pos] - 'A' + 10);
- }
-
- return value;
- }
-
- //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt
- public static byte[] HexStringToByte(string str, int pos, int cnt)
- {
- if ((!ValidHexString(str)) || ((str.Length - pos) >> 1 < cnt))
- {
- return null;
- }
-
- byte[] data = new byte[cnt];
-
- for (int i = 0; i < cnt; i++)
- {
- data[i] = (byte)(HexStringToHex(str, 2 * i + pos) * 16 + HexStringToHex(str, 2 * i + pos + 1));
- }
-
- return data;
- }
-
- public static string bytes2String(byte[] data, int offset, int len)
- {
- string outString = "";
-
- for (int i = offset; i < len + offset; i++)
- {
- outString += (char)data[i];
- }
-
- return outString;
- }
-
- //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt
- public static byte[] HexStringToByte(string str, int pos)
- {
- string tempStr = GetStringWithoutSpace(str, pos);
-
- return HexStringToByte(tempStr, 0, tempStr.Length >> 1);
- }
-
- public static byte HexStringToSingleByte(string str, int pos)
- {
- byte temp = 0;
- int len = 2;
- string tempStr = GetStringWithoutSpace(str, pos);
-
- if (tempStr.Length == 0)
- {
- return 0;
- }
- else if (tempStr.Length < 2)
- {
- len = tempStr.Length;
- }
- else
- {
- len = 2;
- }
-
- for (int i = 0; i < len; i++)
- {
- temp = (byte)(temp * 16 + HexStringToHex(tempStr, i));
- }
-
- return temp;
- }
-
- //将字符串的pos位置开始,转化int
- public static int HexStringToInt(string s, int pos)
- {
- string str = "";
- int len = (s.Length - pos) > 8 ? 8 : s.Length - pos;
- for (int i = pos; i < len; i++)
- {
- str += s[i];
- }
- for (int i = len; i < 8; i++)
- {
- str = "0" + str;
- }
-
- if (!ValidHexString(str))
- {
- return 0;
- }
-
- int result = 0;
- byte[] data = HexStringToByte(str, 0, 4);
-
- for (int i = 0; i < 4; i++)
- {
- result = (result << 8) + data[i];
- }
-
- return result;
- }
-
- //将字节类型的数据转化为十六进制字符串
- public static string ByteToHexString(byte data)
- {
- string outString = "";
-
- if (data < 16)
- {
- outString += "0";
- }
- outString += data.ToString("X");
-
- return outString;
- }
-
- //将字节类型的数据转化为十六进制字符串
- public static string ByteToHexString(byte[] data, int pos, int length, string space)
- {
- string outString = "";
-
- for (int i = pos; i < pos + length; i++)
- {
- outString += ByteToHexString(data[i]);
- if (i != pos + length - 1)
- {
- outString += space;
- }
- }
-
- return outString;
- }
-
- //将ushort类型的数据转化为十六进制字符串
- public static string ushortToHexString(ushort[] data, int pos, int length)
- {
- string outString = "";
-
- for (int i = pos; i < pos + length; i++)
- {
- outString += ByteToHexString((byte)(data[i] >> 8));
- outString += ByteToHexString((byte)(data[i] & 0xFF));
- }
-
- return outString;
- }
- }
-
- //==========================================================================================
- public class MyConvert
- {
- //string a = Convert.ToString(5, 2);
- //string b = Convert.ToString(11, 8);
- //string c = Convert.ToString(11, 16);
- //int aa = Convert.ToInt32("101", 2);//二进制转换10进制
- //int bb = Convert.ToInt32("13", 8); //八进制转换10进制
- //int cc = Convert.ToInt32("b", 16); //十六进制转换10进制
-
- #region C++转换程序(C#里面有完整的转换函数)
-
- //十进制转二制
- public static string DtoB(int d)
- {
- //Console.WriteLine(Convert.ToString(5,2))
- string str = "";
- //判断该数如果小于2,则直接输出
- if (d < 2)
- {
- str = d.ToString();
- }
- else
- {
- int c;
- int s = 0;
- int n = d;
- while (n >= 2)
- {
- s++;
- n = n / 2;
- }
- int[] m = new int[s];
- int i = 0;
- do
- {
- c = d / 2;
- m[i++] = d % 2;
- d = c;
- } while (c >= 2);
- str = d.ToString();
- for (int j = m.Length - 1; j >= 0; j--)
- {
- str += m[j].ToString();
- }
- }
- return str;
- }
-
- //十进制转八进制
- public static string DtoO(int d)
- {
- string o = "";
- if (d < 8)
- {
- o = d.ToString();
- }
- else
- {
- int c;
-
- int s = 0;
- int n = d;
- int temp = d;
- while (n >= 8)
- {
- s++;
- n = n / 8;
- }
- int[] m = new int[s];
- int i = 0;
- do
- {
- c = d / 8;
- m[i++] = d % 8;
- d = c;
- } while (c >= 8);
- o = d.ToString();
- for (int j = m.Length - 1; j >= 0; j--)
- {
- o += m[j];
- }
- }
- return o;
- }
-
- //十进制转十六进制
- public static string DtoX(int d)
- {
- string x = "";
- if (d < 16)
- {
- x = chang(d);
- }
- else
- {
- int c;
- int s = 0;
- int n = d;
- int temp = d;
- while (n >= 16)
- {
- s++;
- n = n / 16;
- }
- string[] m = new string[s];
- int i = 0;
- do
- {
- c = d / 16;
- m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式
- d = c;
- } while (c >= 16);
- x = chang(d);
- for (int j = m.Length - 1; j >= 0; j--)
- {
- x += m[j];
- }
- }
- return x;
- }
-
- //判断是否为10~15之间的数,如果是则进行转换
- public static string chang(int d)
- {
- string x = "";
- switch (d)
- {
- case 10:
- x = "A";
- break;
-
- case 11:
- x = "B";
- break;
-
- case 12:
- x = "C";
- break;
-
- case 13:
- x = "D";
- break;
-
- case 14:
- x = "E";
- break;
-
- case 15:
- x = "F";
- break;
-
- default:
- x = d.ToString();
- break;
- }
- return x;
- }
-
- public static int XtoD(string instr)
- {
- int i = Convert.ToInt32("FF", 16); //十六进制转换10进制
- int j = Convert.ToInt32("1100", 2);
- int k = Convert.ToInt32("12", 8);
- return i;
- }
-
- #endregion
- }
- }
-
- //==================================================================================================TcpBase
- ///
- /// 网络通讯通用类函数库
- ///
- internal class TcpBase
- {
- ///
- /// 用CMD命令测试网络连接状态
- ///
- /// IP地址或网址
- /// Ping结果 连接;超时或其他结果表示未连接
- public static string CmdPing(string strIp)
- {
- Process p = new Process();
- p.StartInfo.FileName = "cmd.exe";
- p.StartInfo.UseShellExecute = false;
- p.StartInfo.RedirectStandardInput = true;
- p.StartInfo.RedirectStandardOutput = true;
- p.StartInfo.RedirectStandardError = true;
- p.StartInfo.CreateNoWindow = true;
- p.Start();
- p.StandardInput.WriteLine("ping -n 1 " + strIp);
- p.StandardInput.WriteLine("exit");
-
- string strRst = p.StandardOutput.ReadToEnd();
- string pingRst = "";
- if (strRst.Contains("(0% loss)") || strRst.Contains("(0% 丢失)"))
- pingRst = "连接";
- else if (strRst.Contains("Request timed out") || strRst.Contains("请求超时"))
- pingRst = "超时";
- else if (strRst.Contains("Unknown host") || strRst.Contains("无法解析主机"))
- pingRst = "无法解析主机";
- else if (strRst.Contains("请求找不到主机"))
- pingRst = "请求找不到主机";
- else if (strRst.Contains("Destination host unreachable."))
- pingRst = "无法到达目的主机";
- else
- pingRst = strRst;
- p.Close();
- return pingRst;
- }
- }
-
- //==================================================================================================MyMath
- ///
- /// 数学函数库(算法)
- ///
- internal class MyMath
- {
- public static double GetMax(double[] Datas)
- {
- double Max = -9999;
- try
- {
- if (Datas.Length == 1)
- return Datas[0];
- for (int i = 0; i < Datas.Length; i++)
- {
- Max = Math.Max(Datas[i], Max);
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- return Max;
- }
-
- public static double GetMin(double[] Datas)
- {
- double Min = 9999;
- try
- {
- if (Datas.Length == 1)
- return Datas[0];
- for (int i = 0; i < Datas.Length; i++)
- {
- Min = Math.Min(Datas[i], Min);
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- return Min;
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址,从0开始
- /// 返回整形数据或-1
- public static int GetPlcData(byte[] byteData, int DataAddr)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (byteData.Length < 10 + DataAddr * 2)
- {
- return -1;
- }
- else
- {
- int bitH = DataAddr * 2 + 9;
- int bitL = DataAddr * 2 + 10;
- return byteData[bitH] * 256 + byteData[bitL];
- }
- }
- catch
- {
- return -1;
- }
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址
- /// PLC读取起始地址
- /// 返回整形数据或-1
- public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- //MessageBox.Show("错误:要读取的数据小于起始地址");
- return -1;
- }
- if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
- {
- return -1;
- }
- else
- {
- int bitH = (DataAddr - startAddr) * 2 + 9;
- int bitL = (DataAddr - startAddr) * 2 + 10;
- return byteData[bitH] * 256 + byteData[bitL];
- }
- }
- catch
- {
- //MessageBox.Show("Catch错误:" + ex.Message);
- return -1;
- }
- }
-
- ///
- /// 获取字节的某一位
- ///
- /// 从0开始
- ///
- public static bool GetPlcBit(int data, int index)
- {
- switch (index)
- {
- case 0:
- return (data & 0x0001) > 0;
-
- case 1:
- return (data & 0x0002) > 0;
-
- case 2:
- return (data & 0x0004) > 0;
-
- case 3:
- return (data & 0x0008) > 0;
-
- case 4:
- return (data & 0x0010) > 0;
-
- case 5:
- return (data & 0x0020) > 0;
-
- case 6:
- return (data & 0x0040) > 0;
-
- case 7:
- return (data & 0x0080) > 0;
-
- case 8:
- return (data & 0x0100) > 0;
-
- case 9:
- return (data & 0x0200) > 0;
-
- case 10:
- return (data & 0x0400) > 0;
-
- case 11:
- return (data & 0x0800) > 0;
-
- case 12:
- return (data & 0x1000) > 0;
-
- case 13:
- return (data & 0x2000) > 0;
-
- case 14:
- return (data & 0x4000) > 0;
-
- case 15:
- return (data & 0x8000) > 0;
-
- default:
- return false;
- }
- }
-
- public static bool GetPlcBitH2Low(int data, int index)
- {
- switch (index)
- {
- case 0:
- return (data & 0x0100) > 0;
-
- case 1:
- return (data & 0x0200) > 0;
-
- case 2:
- return (data & 0x0400) > 0;
-
- case 3:
- return (data & 0x0800) > 0;
-
- case 4:
- return (data & 0x1000) > 0;
-
- case 5:
- return (data & 0x2000) > 0;
-
- case 6:
- return (data & 0x4000) > 0;
-
- case 7:
- return (data & 0x8000) > 0;
-
- case 8:
- return (data & 0x0001) > 0;
-
- case 9:
- return (data & 0x0002) > 0;
-
- case 10:
- return (data & 0x0004) > 0;
-
- case 11:
- return (data & 0x0008) > 0;
-
- case 12:
- return (data & 0x0010) > 0;
-
- case 13:
- return (data & 0x0020) > 0;
-
- case 14:
- return (data & 0x0040) > 0;
-
- case 15:
- return (data & 0x0080) > 0;
-
- default:
- return false;
- }
- }
-
- ///
- /// 获取字节的某一位
- ///
- /// 从0开始
- ///
- public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr)
- {
- int Value = GetPlcData(byteData, DataAddr, startAddr);
- bool bResult = GetPlcBit(Value, index);
- return bResult;
- }
-
- public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr)
- {
- int Value = GetPlcData(byteData, DataAddr, startAddr);
- bool bResult = GetPlcBitH2Low(Value, index);
- return bResult;
- }
-
- ///
- /// 获取单精度浮点数(float)数据
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 数据正反序
- ///
- public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence = true)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- return -1;
- }
- if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
- {
- return -1;
- }
- else
- {
- float Result = -1;
- int startBit = (DataAddr - startAddr) * 2 + 9;
-
- byte[] arrLength = new byte[4];
- arrLength[0] = byteData[startBit + 0];
- arrLength[1] = byteData[startBit + 1];
- arrLength[2] = byteData[startBit + 2];
- arrLength[3] = byteData[startBit + 3];
-
- if (PositiveSequence)
- {
- Result = BitConverter.ToSingle(arrLength, 0);
- }
- else
- {
- Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
- }
- Result = Convert.ToSingle(Math.Round(Result, 3));
- return Result;
- }
- }
- catch
- {
- return -1;
- }
- }
-
- ///
- /// 获取字符串(string)
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 读取的地址数量(单位16)
- /// 数据正反序
- /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
- ///
- public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, bool PositiveSequence = true, int strType = 0)
- {
- string Result = "";
- try
- {
- if (byteData == null)
- {
- return Result;
- }
- if (startAddr > DataAddr + DataNum)
- {
- return Result;
- }
- if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
- {
- return Result;
- }
- else
- {
- int startBit = (DataAddr - startAddr) * 2 + 9;
- byte[] arrLength = new byte[DataNum * 2];
- for (int i = 0; i < DataNum * 2; i++)
- {
- arrLength[i] = byteData[startBit + i];
- }
- if (!PositiveSequence)
- {
- arrLength = (byte[])arrLength.Reverse();
- }
- switch (strType)
- {
- case 2:
- foreach (byte b in arrLength)
- {
- Result += ConvertBase.MyConvert.DtoB(b);
- }
- break;
-
- case 10:
- foreach (byte b in arrLength)
- {
- Result += b.ToString();
- }
- break;
-
- case 16:
- foreach (byte b in arrLength)
- {
- Result += b.ToString("X2");
- }
- break;
-
- default:
- foreach (byte b in arrLength)
- {
- Result += Convert.ToChar(b).ToString();
- }
- break;
- }
- return Result.Trim();
- }
- }
- catch
- {
- return Result;
- }
- }
-
- //======================================================================
- ///
- /// 字节数组(byte 8位)转化为ushort(16位)数组
- ///
- public static ushort[] GetushortsFromValue(byte[] Value)
- {
- ushort[] rtnValues;
- byte[] bytes = Value;
- int Length = bytes.Length / 2;
- if (bytes.Length % 2 == 0)
- {
- rtnValues = new ushort[Length];
- for (int i = 0; i < bytes.Length; i += 2)
- {
- rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i);
- }
- }
- else
- {
- rtnValues = new ushort[bytes.Length / 2 + 1];
- for (int i = 0; i < bytes.Length - 1; i += 2)
- {
- rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i);
- }
- rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1];
- }
- return rtnValues;
- }
-
- ///
- /// 字符串(string)转化为ushort(16位)数组
- ///
- public static ushort[] GetushortsFromValue(string Value)
- {
- byte[] bytes = System.Text.Encoding.Default.GetBytes(Value);
- ushort[] ushorts = GetushortsFromValue(bytes);
- return ushorts;
- }
-
- ///
- /// 单精度小数(float 32位)转化为ushort(16位)数组
- ///
- public static ushort[] GetushortsFromValue(float Value)
- {
- byte[] bytes = BitConverter.GetBytes(Value);
- ushort[] ushorts = GetushortsFromValue(bytes);
- return ushorts;
- }
-
- ///
- /// 双精度小数(double 64位)转化为ushort(16位)数组
- ///
- public static ushort[] GetushortsFromValue(double Value)
- {
- byte[] bytes = BitConverter.GetBytes(Value);
- ushort[] ushorts = GetushortsFromValue(bytes);
- return ushorts;
- }
-
- //======================================================================
- ///
- /// 字节数组(byte 8位)转化为short(16位)数组
- ///
- public static short[] GetshortsFromValue(byte[] Value)
- {
- short[] rtnValues;
- byte[] bytes = Value;
- int Length = bytes.Length / 2;
- if (bytes.Length % 2 == 0)
- {
- rtnValues = new short[Length];
- for (int i = 0; i < bytes.Length; i += 2)
- {
- rtnValues[i / 2] = BitConverter.ToInt16(bytes, i);
- }
- }
- else
- {
- rtnValues = new short[bytes.Length / 2 + 1];
- for (int i = 0; i < bytes.Length - 1; i += 2)
- {
- rtnValues[i / 2] = BitConverter.ToInt16(bytes, i);
- }
- rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1];
- }
- return rtnValues;
- }
-
- ///
- /// 字符串(string)转化为short(16位)数组
- ///
- public static short[] GetshortsFromValue(string Value)
- {
- byte[] bytes = System.Text.Encoding.Default.GetBytes(Value);
- short[] shorts = GetshortsFromValue(bytes);
- return shorts;
- }
-
- ///
- /// 整形(int 32位)转化为short(16位)数组
- ///
- public static short[] GetshortsFromValue(int Value)
- {
- byte[] bytes = BitConverter.GetBytes(Value);
- short[] shorts = GetshortsFromValue(bytes);
- return shorts;
- }
-
- ///
- /// 单精度小数(float 32位)转化为short(16位)数组
- ///
- public static short[] GetshortsFromValue(float Value)
- {
- byte[] bytes = BitConverter.GetBytes(Value);
- short[] shorts = GetshortsFromValue(bytes);
- return shorts;
- }
-
- ///
- /// 双精度小数(double 64位)转化为ushort(16位)数组
- ///
- public static short[] GetshortsFromValue(double Value)
- {
- byte[] bytes = BitConverter.GetBytes(Value);
- short[] shorts = GetshortsFromValue(bytes);
- return shorts;
- }
- }
-
- internal class CodeDfn
- {
- public const string BlankSpace = " ";
- public const string strEnter = "\r\n";
- }
-
- internal class PlcMath
- {
- #region S7协议数据处理(以字节为基础)
-
- public static bool GetS7BoolBit(byte data, int index)
- {
- switch (index)
- {
- case 0: return (data & 0x01) > 0;
- case 1: return (data & 0x02) > 0;
- case 2: return (data & 0x04) > 0;
- case 3: return (data & 0x08) > 0;
- case 4: return (data & 0x10) > 0;
- case 5: return (data & 0x20) > 0;
- case 6: return (data & 0x40) > 0;
- case 7: return (data & 0x80) > 0;
- default: return false;
- }
- }
-
- public static bool GetS7BoolData(byte[] byteData, int DataAddr, int startAddr, int index)
- {
- byte data = GetS7ByteData(byteData, DataAddr, startAddr);
- return GetS7BoolBit(data, index);
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址
- /// PLC读取起始地址
- /// 返回整形数据或-1
- public static byte GetS7ByteData(byte[] byteData, int DataAddr, int startAddr)
- {
- try
- {
- if (byteData == null)
- {
- return 0;
- }
- if (startAddr > DataAddr)
- {
- MessageBox.Show("错误:获取S7字节数据, 要读取的数据小于起始地址");
- return 0;
- }
- if (byteData.Length < (DataAddr - startAddr))
- {
- MessageBox.Show("错误:获取S7字节数据, 要读取的偏移地址超出数组长度,偏移=" + (DataAddr - startAddr) + ", 数组长度=" + byteData.Length);
- return 0;
- }
- else
- {
- int bit = DataAddr - startAddr;
- return byteData[bit];
- }
- }
- catch
- {
- //MessageBox.Show("Catch错误:" + ex.Message);
- return 0;
- }
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址
- /// PLC读取起始地址
- /// 返回整形数据或-1
- public static byte GetS7ByteData(byte[] byteData, int DataAddr)
- {
- try
- {
- if (byteData == null)
- {
- return 0;
- }
- if (byteData.Length < byteData.Length)
- {
- MessageBox.Show("获取S7字节数据,地址超出数组长度!", "警告");
- return 0;
- }
- return byteData[DataAddr];
- }
- catch (Exception ex)
- {
- MessageBox.Show("Catch错误:获取S7字节数据" + ex.Message);
- return 0;
- }
- }
-
- public static int GetS7WordData(byte[] byteData, int DataAddr, int startAddr)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- //if (startAddr > DataAddr)
- //{
- // //MessageBox.Show("错误:要读取的数据小于起始地址");
- // return -1;
- //}
- //if (byteData.Length < (DataAddr - startAddr) * 2)
- //{
- // return -1;
- //}
- //else
- {
- int bitH = (DataAddr - startAddr) * 2;
- int bitL = (DataAddr - startAddr) * 2 + 1;
- return byteData[bitH] * 256 + byteData[bitL];
- }
- }
- catch
- {
- //MessageBox.Show("Catch错误:" + ex.Message);
- return -1;
- }
- }
-
- ///
- /// 获取字符串(string)
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 读取的地址数量(单位16)
- /// 数据正反序
- /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
- ///
- public static string GetS7StringData(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true)
- {
- string Result = "";
- try
- {
- if (byteData == null)
- {
- return Result;
- }
- if (startAddr > DataAddr + DataNum)
- {
- return Result;
- }
- if (byteData.Length < (DataAddr - startAddr))
- {
- return Result;
- }
- else
- {
- int startBit = (DataAddr - startAddr);
- byte[] arrLength = new byte[DataNum];
- for (int i = 0; i < DataNum; i++)
- {
- arrLength[i] = byteData[startBit + i];
- }
- if (!PositiveSequence)
- {
- arrLength = (byte[])arrLength.Reverse();
- }
- switch (strType)
- {
- case 2:
- foreach (byte b in arrLength)
- {
- Result += ConvertBase.MyConvert.DtoB(b);
- }
- break;
-
- case 10:
- foreach (byte b in arrLength)
- {
- Result += b.ToString();
- }
- break;
-
- case 16:
- foreach (byte b in arrLength)
- {
- Result += b.ToString("X2");
- }
- break;
-
- default:
- foreach (byte b in arrLength)
- {
- if (b >= 32)
- Result += Convert.ToChar(b).ToString();
- }
- break;
- }
- return Result.Trim();
- }
- }
- catch
- {
- return Result;
- }
- }
-
- ///
- /// 获取单精度浮点数(float)数据
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 数据正反序
- ///
- public static float GetPlcSingleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- return -1;
- }
- if (byteData.Length < (DataAddr - startAddr))
- {
- return -1;
- }
- else
- {
- float Result = -1;
- int startBit = (DataAddr - startAddr);
-
- byte[] arrLength = new byte[4];
- arrLength[0] = byteData[startBit + 0];
- arrLength[1] = byteData[startBit + 1];
- arrLength[2] = byteData[startBit + 2];
- arrLength[3] = byteData[startBit + 3];
-
- if (PositiveSequence)
- {
- Result = BitConverter.ToSingle(arrLength, 0);
- }
- else
- {
- Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
- }
- Result = Convert.ToSingle(Math.Round(Result, 3));
- return Result;
- }
- }
- catch
- {
- return -1;
- }
- }
- ///
- /// 获取双精度浮点数(double)数据
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 数据正反序
- ///
- public static double GetPlcDoubleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- return -1;
- }
- if (byteData.Length < (DataAddr - startAddr))
- {
- return -1;
- }
- else
- {
- double Result = -1;
- int startBit = (DataAddr - startAddr);
-
- byte[] arrLength = new byte[8];
- arrLength[0] = byteData[startBit + 0];
- arrLength[1] = byteData[startBit + 1];
- arrLength[2] = byteData[startBit + 2];
- arrLength[3] = byteData[startBit + 3];
- arrLength[4] = byteData[startBit + 4];
- arrLength[5] = byteData[startBit + 5];
- arrLength[6] = byteData[startBit + 6];
- arrLength[7] = byteData[startBit + 7];
- if (PositiveSequence)
- {
- Result = BitConverter.ToDouble(arrLength, 0);
- }
- else
- {
- Result = BitConverter.ToDouble(arrLength.Reverse().ToArray(), 0);
- }
- Result = Convert.ToDouble(Math.Round(Result, 3));
- return Result;
- }
- }
- catch
- {
- return -1;
- }
- }
- #endregion
-
- #region ModbusTCP/FinsTCP协议数据处理(以字为基础)
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址,从0开始
- /// 返回整形数据或-1
- public static int GetPlcData(byte[] byteData, int DataAddr)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (byteData.Length < DataAddr * 2)
- {
- return -1;
- }
- else
- {
- int bitH = DataAddr * 2;
- int bitL = DataAddr * 2 + 1;
- return byteData[bitH] * 256 + byteData[bitL];
- }
- }
- catch
- {
- return -1;
- }
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址
- /// PLC读取起始地址
- /// 返回整形数据或-1
- public static byte GetPlcByteData(byte[] byteData, int DataAddr, int startAddr)
- {
- try
- {
- if (byteData == null)
- {
- return 0;
- }
- if (startAddr > DataAddr)
- {
- //MessageBox.Show("错误:要读取的数据小于起始地址");
- return 0;
- }
- //if (byteData.Length < (DataAddr - startAddr) * 2)
- if (byteData.Length < (DataAddr - startAddr))
- {
- return 0;
- }
- else
- {
- int bit = DataAddr - startAddr;
- return byteData[bit];
- }
- }
- catch
- {
- //MessageBox.Show("Catch错误:" + ex.Message);
- return 0;
- }
- }
-
- ///
- /// 获取PLC读取地址数据(从起始地址偏移)
- ///
- /// 数据数组
- /// PLC读取地址
- /// PLC读取起始地址
- /// 返回整形数据或-1
- public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- //MessageBox.Show("错误:要读取的数据小于起始地址");
- return -1;
- }
- if (byteData.Length < (DataAddr - startAddr) * 2)
- {
- return -1;
- }
- else
- {
- int bitH = (DataAddr - startAddr) * 2;
- int bitL = (DataAddr - startAddr) * 2 + 1;
- return byteData[bitH] * 256 + byteData[bitL];
- }
- }
- catch
- {
- //MessageBox.Show("Catch错误:" + ex.Message);
- return -1;
- }
- }
-
- ///
- /// 获取字节的某一位
- ///
- /// 从0开始
- ///
- public static bool GetPlcBit(int data, int index)
- {
- switch (index)
- {
- case 0:
- return (data & 0x0001) > 0;
-
- case 1:
- return (data & 0x0002) > 0;
-
- case 2:
- return (data & 0x0004) > 0;
-
- case 3:
- return (data & 0x0008) > 0;
-
- case 4:
- return (data & 0x0010) > 0;
-
- case 5:
- return (data & 0x0020) > 0;
-
- case 6:
- return (data & 0x0040) > 0;
-
- case 7:
- return (data & 0x0080) > 0;
-
- case 8:
- return (data & 0x0100) > 0;
-
- case 9:
- return (data & 0x0200) > 0;
-
- case 10:
- return (data & 0x0400) > 0;
-
- case 11:
- return (data & 0x0800) > 0;
-
- case 12:
- return (data & 0x1000) > 0;
-
- case 13:
- return (data & 0x2000) > 0;
-
- case 14:
- return (data & 0x4000) > 0;
-
- case 15:
- return (data & 0x8000) > 0;
-
- default:
- return false;
- }
- }
-
- public static bool GetPlcBitH2Low(int data, int index)
- {
- switch (index)
- {
- case 0:
- return (data & 0x0100) > 0;
-
- case 1:
- return (data & 0x0200) > 0;
-
- case 2:
- return (data & 0x0400) > 0;
-
- case 3:
- return (data & 0x0800) > 0;
-
- case 4:
- return (data & 0x1000) > 0;
-
- case 5:
- return (data & 0x2000) > 0;
-
- case 6:
- return (data & 0x4000) > 0;
-
- case 7:
- return (data & 0x8000) > 0;
-
- case 8:
- return (data & 0x0001) > 0;
-
- case 9:
- return (data & 0x0002) > 0;
-
- case 10:
- return (data & 0x0004) > 0;
-
- case 11:
- return (data & 0x0008) > 0;
-
- case 12:
- return (data & 0x0010) > 0;
-
- case 13:
- return (data & 0x0020) > 0;
-
- case 14:
- return (data & 0x0040) > 0;
-
- case 15:
- return (data & 0x0080) > 0;
-
- default:
- return false;
- }
- }
-
- ///
- /// 获取字节的某一位
- ///
- /// 从0开始
- ///
- public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr)
- {
- int Value = GetPlcData(byteData, DataAddr, startAddr);
- bool bResult = GetPlcBit(Value, index);
- return bResult;
- }
-
- public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr)
- {
- int Value = GetPlcData(byteData, DataAddr, startAddr);
- bool bResult = GetPlcBitH2Low(Value, index);
- return bResult;
- }
-
- ///
- /// 获取单精度浮点数(float)数据
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 数据正反序
- ///
- public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
- {
- try
- {
- if (byteData == null)
- {
- return -1;
- }
- if (startAddr > DataAddr)
- {
- return -1;
- }
- if (byteData.Length < (DataAddr - startAddr) * 2)
- {
- return -1;
- }
- else
- {
- float Result = -1;
- int startBit = (DataAddr - startAddr) * 2;
-
- byte[] arrLength = new byte[4];
- arrLength[0] = byteData[startBit + 0];
- arrLength[1] = byteData[startBit + 1];
- arrLength[2] = byteData[startBit + 2];
- arrLength[3] = byteData[startBit + 3];
-
- if (PositiveSequence)
- {
- Result = BitConverter.ToSingle(arrLength, 0);
- }
- else
- {
- Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
- }
- Result = Convert.ToSingle(Math.Round(Result, 3));
- return Result;
- }
- }
- catch
- {
- return -1;
- }
- }
-
- ///
- /// 获取字符串(string)
- ///
- /// PLC读取总数据
- /// 获取数据的地址
- /// PLC起始地址
- /// 读取的地址数量(单位16)
- /// 数据正反序
- /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
- ///
- public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true)
- {
- string Result = "";
- try
- {
- if (byteData == null)
- {
- return Result;
- }
- if (startAddr > DataAddr + DataNum)
- {
- return Result;
- }
- if (byteData.Length < (DataAddr - startAddr) * 2)
- {
- return Result;
- }
- else
- {
- int startBit = (DataAddr - startAddr) * 2;
- byte[] arrLength = new byte[DataNum * 2];
- for (int i = 0; i < DataNum * 2; i++)
- {
- arrLength[i] = byteData[startBit + i];
- }
- if (!PositiveSequence)
- {
- arrLength = (byte[])arrLength.Reverse();
- }
- switch (strType)
- {
- case 2:
- foreach (byte b in arrLength)
- {
- Result += ConvertBase.MyConvert.DtoB(b);
- }
- break;
-
- case 10:
- foreach (byte b in arrLength)
- {
- Result += b.ToString();
- }
- break;
-
- case 16:
- foreach (byte b in arrLength)
- {
- Result += b.ToString("X2");
- }
- break;
-
- default:
- foreach (byte b in arrLength)
- {
- if (b >= 32)
- Result += Convert.ToChar(b).ToString();
- }
- break;
- }
- return Result.Trim();
- }
- }
- catch
- {
- return Result;
- }
- }
-
- #endregion
- }
-
- public static class StringChange
- {
- #region 数据类型转换函数
-
- public static byte[] Swap16Bytes(byte[] OldU16)
- {
- byte[] ReturnBytes = new byte[2];
- ReturnBytes[1] = OldU16[0];
- ReturnBytes[0] = OldU16[1];
- return ReturnBytes;
- }
-
- public static bool CompareBytes(byte[] byteA, byte[] byteB, int iLen)
- {
- for (int i = 0; i < iLen; i++)
- {
- if (byteA[i] != byteB[i])
- {
- return false;
- }
- }
- return true;
- }
-
- ///
- /// 16进制字符串转换成btye数组
- ///
- /// 16进制字符串
- ///
- public static byte[] HexStrTorbytes(string strHex)//e.g. " 01 01" ---> { 0x01, 0x01}
- {
- strHex = strHex.Replace(" ", "");
- if ((strHex.Length % 2) != 0)
- strHex += " ";
- byte[] returnBytes = new byte[strHex.Length / 2];
- for (int i = 0; i < returnBytes.Length; i++)
- returnBytes[i] = Convert.ToByte(strHex.Substring(i * 2, 2), 16);
- return returnBytes;
- }
-
- ///
- /// 二进制字符串转换成16进制字符串
- ///
- /// 二进制字符串
- /// 16进制字符串
- public static string Binary2HexString(string strerjinzhi)
- {
- string str = "";
- str = string.Format("{0:x}", Convert.ToInt32(strerjinzhi, 2));
- return str;
- }
-
- ///
- /// 西门子16进制字符串转换成2进制的二维数组
- ///
- /// 16进制字符串
- /// 19:8的二维数组
- public static string[,] HexString2BinString(string hexString)
- {
- string[,] strTestData = new string[19, 8];
- for (int i = 0; i < hexString.Length / 2; i++)
- {
- string tempRes = string.Empty;
- foreach (char c in hexString.Substring(i * 2, 2))
- {
- int v = Convert.ToInt32(c.ToString(), 16);
- int v2 = int.Parse(Convert.ToString(v, 2));
- // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
- tempRes += string.Format("{0:d4}", v2);
- }
- int k = 0;
- for (int j = tempRes.Length - 1; j >= 0; j--)
- {
- strTestData[i, k] = tempRes[j].ToString();
- k++;
- }
- }
-
- return strTestData;
- }
-
- ///
- /// 海德汉16进制字符串转换成2进制的二维数组 例如: 0X42 传入十六进制字符串42 (0100 0010), 返回二维数组(0100 0010)
- ///
- /// 16进制字符串
- /// 21:8的二维数组
- public static string[,] HeidenhainHexString2BinString(string hexString)
- {
- string[,] strTestData = new string[23, 8];
- for (int i = 0; i < hexString.Length / 2; i++)
- {
- string tempRes = string.Empty;
- foreach (char c in hexString.Substring(i * 2, 2))
- {
- int v = Convert.ToInt32(c.ToString(), 16);
- int v2 = int.Parse(Convert.ToString(v, 2));
- // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
- tempRes += string.Format("{0:d4}", v2);
- }
- int k = 0;
- for (int j = tempRes.Length - 1; j >= 0; j--)
- {
- strTestData[i, k] = tempRes[j].ToString();
- k++;
- }
- }
-
- return strTestData;
- }
-
- ///
- /// byte数组转换成字符串 带空格隔开
- ///
- /// byte数组
- /// 长度
- /// string
- public static string bytesToHexStr(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 01 01"
- {
- string returnStr = "";
- if (bytes != null)
- {
- for (int i = 0; i < iLen; i++)
- {
- returnStr += bytes[i].ToString("X2") + " ";
- }
- }
- return returnStr;
- }
-
- ///
- /// byte数组转换成字符串 不带空格
- ///
- /// byte数组
- /// 长度
- /// string
- public static string bytesToHexStrWithoutSpace(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 0101"
- {
- string returnStr = "";
- if (bytes != null)
- {
- for (int i = 0; i < iLen; i++)
- {
- returnStr += bytes[i].ToString("X2");
- }
- }
- return returnStr;
- }
-
- ///
- /// 计算CRC
- ///
- /// byte数组
- /// 长度
- /// CRC校验和
- public static byte CalculateCRC(byte[] pMessage, int iLength)
- {
- int i = 0;
- byte iVerify = 0;
- for (i = 0; i < iLength; i++)
- {
- iVerify = (byte)(iVerify + pMessage[i]);
- }
-
- return iVerify;
- }
-
- public static string StringToHexString(string s, Encoding encode)
- {
- byte[] b = encode.GetBytes(s); //按照指定编码将string编程字节数组
- string result = string.Empty;
- for (int i = 0; i < b.Length; i++) //逐字节变为16进制字符,以%隔开
- {
- result += "%" + Convert.ToString(b[i], 16);
- }
- return result;
- }
-
- public static string HexStringToString(string hs, Encoding encode)
- {
- //以%分割字符串,并去掉空字符
- string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries);
- byte[] b = new byte[chars.Length];
- //逐个字符变为16进制字节数据
- for (int i = 0; i < chars.Length; i++)
- {
- b[i] = Convert.ToByte(chars[i], 16);
- }
- //按照指定编码将字节数组变为字符串
- return encode.GetString(b);
- }
-
- public static short SwapInt16(this short n)
- {
- return (short)(((n & 0xff) << 8) | ((n >> 8) & 0xff));
- }
-
- public static ushort SwapUInt16(this ushort n)
- {
- return (ushort)(((n & 0xff) << 8) | ((n >> 8) & 0xff));
- }
-
- public static int SwapInt32(this int n)
- {
- return (int)(((SwapInt16((short)n) & 0xffff) << 0x10) |
- (SwapInt16((short)(n >> 0x10)) & 0xffff));
- }
-
- public static uint SwapUInt32(this uint n)
- {
- return (uint)(((SwapUInt16((ushort)n) & 0xffff) << 0x10) |
- (SwapUInt16((ushort)(n >> 0x10)) & 0xffff));
- }
-
- public static long SwapInt64(this long n)
- {
- return (long)(((SwapInt32((int)n) & 0xffffffffL) << 0x20) |
- (SwapInt32((int)(n >> 0x20)) & 0xffffffffL));
- }
-
- public static ulong SwapUInt64(this ulong n)
- {
- return (ulong)(((SwapUInt32((uint)n) & 0xffffffffL) << 0x20) |
- (SwapUInt32((uint)(n >> 0x20)) & 0xffffffffL));
- }
-
- #endregion
- }
+ //==========================================================================================
+ //通用功能类
+ public class NLogger
+ {
+ private static readonly Logger logger = LogManager.GetCurrentClassLogger();
+
+ public static void Trace(string message)
+ { logger.Trace(message); }
+
+ public static void Debug(string message)
+ { logger.Debug(message); }
+
+ public static void Info(string message)
+ { logger.Info(message); }
+
+ public static void Warn(string message)
+ { logger.Warn(message); }
+
+ public static void Error(string message)
+ { logger.Error(message); }
+
+ public static void Fatal(string message)
+ { logger.Fatal(message); }
+ }
+
+ public class MyBase
+ {
+ public static RadLabelElement rleMessage;
+ #region 内存回收
+
+ [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
+ public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
+
+ ///
+ /// 释放内存
+ ///
+ public static void ClearMemory()
+ {
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+ {
+ SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
+ }
+ }
+
+ public static void ClearMemory_PCDMIS()
+ {
+ Process[] m_Process = Process.GetProcessesByName("PCDLRN");
+ for (int i = 0; i < m_Process.Length; i++)
+ {
+ if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+ {
+ SetProcessWorkingSetSize(m_Process[i].Handle, -1, -1);
+ }
+ }
+ }
+
+ #endregion 内存回收
+
+ public static void KillSoftware(string strSoftwareName)
+ {
+ Process[] xc = Process.GetProcesses();
+ try
+ {
+ foreach (Process xc1 in xc)
+ {
+ if (xc1.ProcessName.ToLower() == strSoftwareName.ToLower())
+ {
+ xc1.Kill();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MyBase.TraceWriteLine("Kill " + strSoftwareName + " Failed: " + ex.ToString());
+ }
+ }
+
+ public static void DeleteAllFiles(string strPath)
+ {
+ try
+ {
+ DirectoryInfo dir = new DirectoryInfo(strPath);
+ FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
+ foreach (FileSystemInfo i in fileinfo)
+ {
+ if (i is DirectoryInfo) //判断是否文件夹
+ {
+ DirectoryInfo subdir = new DirectoryInfo(i.FullName);
+ subdir.Delete(true); //删除子目录和文件
+ }
+ else
+ {
+ File.Delete(i.FullName); //删除指定文件
+ }
+ }
+ MyBase.TraceWriteLine("首次启动软件,遍历删除路径:" + strPath + "下的文件全部删除");
+ }
+ catch (Exception e)
+ {
+ MyBase.TraceWriteLine("遍历删除路径:" + strPath + "下的文件失败:" + e.ToString());
+ }
+ }
+
+ #region 界面控件操作
+
+ ///
+ /// 根据指定容器和控件名字,获得控件
+ ///
+ /// 容器
+ /// 控件名字
+ /// 控件
+ public static object GetControlInstance(object obj, string strControlName, Form mainForm)
+ {
+ IEnumerator Controls = null;//所有控件
+ Control c = null;//当前控件
+ Object cResult = null;//查找结果
+ if (obj.GetType() == mainForm.GetType())//窗体
+ {
+ Controls = mainForm.Controls.GetEnumerator();
+ }
+ else//控件
+ {
+ Controls = ((Control)obj).Controls.GetEnumerator();
+ }
+ while (Controls.MoveNext())//遍历操作
+ {
+ c = (Control)Controls.Current;//当前控件
+ if (c.HasChildren)//当前控件是个容器
+ {
+ cResult = GetControlInstance(c, strControlName, mainForm);//递归查找
+ if (cResult == null)//当前容器中没有,跳出,继续查找
+ continue;
+ else//找到控件,返回
+ return cResult;
+ }
+ else if (c.Name == strControlName)//不是容器,同时找到控件,返回
+ {
+ return c;
+ }
+ }
+ return null;//控件不存在
+ }
+
+ ///
+ /// 获取主控件上的子控件的名称
+ ///
+ /// 主控件名称
+ /// 子控件名称
+ ///
+ public static object GetChildControl(object obj, string strControlName)
+ {
+ Control m_Ctrl = null;//当前控件
+ IEnumerator Controls = ((Control)obj).Controls.GetEnumerator();
+
+ while (Controls.MoveNext())
+ {
+ m_Ctrl = (Control)Controls.Current;//当前控件
+ if (m_Ctrl.Name == strControlName)
+ {
+ return m_Ctrl;
+ }
+ }
+ return null;//控件不存在
+ }
+
+ public static void AddDebugText(TextBox tb, string str, int length = 200)
+ {
+ try
+ {
+ TraceWriteLine(str);
+ string strTime = DateTime.Now.ToString("HH:mm:ss") + "--";
+ tb.Text += (strTime + str);
+ tb.Text += "\r\n";
+ tb.Select(tb.TextLength, 0);
+ tb.ScrollToCaret();
+
+ if (tb.Lines.Length > length)
+ {
+ tb.Clear();
+ }
+ }
+ finally { }
+ }
+
+ ///
+ /// 向RichTextBox控件中添加文本信息
+ ///
+ /// RichTextBox控件类
+ /// 要显示的文本信息内容
+ /// 文本显示的颜色
+ public static void AddDebugTextToRTB(RichTextBox RTB, string str, Color m_Color = new Color())
+ {
+ try
+ {
+ TraceWriteLine(str);//将文本信息同步到debug.txt文件中
+ RTB.BeginInvoke((EventHandler)delegate
+ {
+ Color SetColor = Color.Black;
+ if (m_Color == new Color())
+ {
+ if (str.ToUpper().Contains("ERROR") || str.ToUpper().Contains("错误") || str.ToUpper().Contains("出错") || str.ToUpper().Contains("EXCEPTION") || str.ToUpper().Contains("异常") || str.ToUpper().Contains("失败"))
+ {
+ SetColor = Color.Red;
+ }
+ else if (str.ToUpper().Contains("WARNING") || str.ToUpper().Contains("警告"))
+ {
+ SetColor = Color.DarkOrange;
+ }
+ }
+ else
+ {
+ SetColor = m_Color;
+ }
+
+ string strText = str + Environment.NewLine; //DateTime.Now.ToString("HH:mm:ss.fff") + "--" +
+ RTB.SelectionStart = RTB.TextLength;
+ if (string.IsNullOrEmpty(str))
+ RichTextUnit.SetText(RTB, " " + Environment.NewLine, SetColor, false, 14);
+ else
+ RichTextUnit.SetText(RTB, strText, SetColor, false, 14);
+
+ if (RTB.Lines.Length > 2000)
+ {
+ RTB.Select(0, RTB.TextLength / 2);
+ RTB.Cut();
+ }
+ RTB.ScrollToCaret();
+ });
+ }
+ catch { }
+ }
+
+ ///
+ /// 写debug文件,记录程序过程
+ ///
+ /// 要写入日志的内容
+ public static void TraceWriteLine(string str)
+ {
+ try
+ {
+ if (rleMessage != null)
+ {
+ rleMessage.Text = str;
+ }
+ if (str.Contains("警告") || str.ToUpper().Contains("WARN"))
+ {
+ NLogger.Warn(str);
+ }
+ else if (str.Contains("错误") || str.ToUpper().Contains("ERROR") || str.Contains("失败"))
+ {
+ NLogger.Error(str);
+ }
+ else
+ {
+ NLogger.Info(str);
+ }
+ Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "--" + str);
+ Trace.Unindent();
+ Trace.Flush();
+ }
+ catch { }
+ }
+
+ public static string InputBox(string Caption, string Hint, string DefaultTxt, string btn1 = "OK", string btn2 = "Cancel", char Strstyle = '*', bool bShowData = false)
+ {
+ if (Strstyle == '\0')
+ Strstyle = '*';
+ Form InputForm = new Form();
+ InputForm.MinimizeBox = false;
+ InputForm.MaximizeBox = false;
+ InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ InputForm.StartPosition = FormStartPosition.CenterScreen;
+ InputForm.Width = 300;
+ InputForm.Height = 180;
+ InputForm.Text = Caption;
+ InputForm.Font = new System.Drawing.Font("Segoe UI", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
+
+ Label lbl = new Label();
+ lbl.Text = Hint;
+ lbl.Left = 25;
+ lbl.Top = 20;
+ lbl.Parent = InputForm;
+ lbl.AutoSize = true;
+ TextBox tb = new TextBox();
+ tb.Left = 30;
+ tb.Top = 45;
+ tb.Width = 230;
+ tb.Parent = InputForm;
+ tb.Text = DefaultTxt;
+ if (bShowData == false)
+ tb.PasswordChar = Strstyle;
+ tb.SelectAll();
+ Button btnok = new Button();
+ btnok.Left = 90;
+ btnok.Top = 90;
+ btnok.Height = 30;
+ btnok.Parent = InputForm;
+ btnok.Text = btn1;
+ InputForm.AcceptButton = btnok;//回车响应
+ btnok.DialogResult = DialogResult.OK;
+
+ Button btncancal = new Button();
+ btncancal.Left = 185;
+ btncancal.Top = 90;
+ btncancal.Height = 30;
+ btncancal.Parent = InputForm;
+ btncancal.Text = btn2;
+ btncancal.DialogResult = DialogResult.Cancel;
+ try
+ {
+ if (InputForm.ShowDialog() == DialogResult.OK)
+ {
+ return tb.Text;
+ }
+ else
+ {
+ return "-999.999";
+ }
+ }
+ finally
+ {
+ InputForm.Dispose();
+ }
+ }
+
+ ///
+ /// 操作提示框,0 = 取消; 1 = 第一个按钮; 2 = 第二个按钮
+ ///
+ /// 错误信息
+ /// 标题
+ /// 第一个按钮名字
+ /// 第二个按钮名字
+ /// 第三个按钮名字
+ /// 背景颜色,默认无色,1=红色
+ ///
+ public static int MessageBox(string strError, string Caption, string btnName1 = "YES", string btnName2 = "NO", string btnName3 = "Cancel", int iColor = 0)
+ {
+ Form ErrorForm = new Form();
+ ErrorForm.MinimizeBox = false;
+ ErrorForm.MaximizeBox = false;
+ ErrorForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ ErrorForm.StartPosition = FormStartPosition.CenterScreen;
+ ErrorForm.Width = 480;
+ ErrorForm.Height = 300;
+ ErrorForm.Text = Caption;
+ ErrorForm.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
+
+ TextBox tb = new TextBox();
+ tb.Parent = ErrorForm;
+ tb.Text = strError;
+ tb.Multiline = true;
+ tb.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ tb.Location = new System.Drawing.Point(20, 20);
+ tb.Size = new System.Drawing.Size(440, 170);
+ tb.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ tb.Font = new Font("宋体", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
+ if (iColor == 1)
+ tb.BackColor = Color.Red;
+
+ Button btnYes = new Button();
+ btnYes.Location = new System.Drawing.Point(30, 210);
+ btnYes.Size = new System.Drawing.Size(100, 40);
+ btnYes.Parent = ErrorForm;
+ btnYes.Text = btnName1;
+
+ btnYes.DialogResult = DialogResult.Yes;
+ ErrorForm.AcceptButton = btnYes;//回车响应
+
+ Button btnNO = new Button();
+ btnNO.Location = new System.Drawing.Point(190, 210);
+ btnNO.Size = new System.Drawing.Size(100, 40);
+ btnNO.Parent = ErrorForm;
+ btnNO.Text = btnName2;
+ btnNO.DialogResult = DialogResult.No;
+ ErrorForm.AcceptButton = btnNO;//回车响应
+
+ Button btncancal = new Button();
+ btncancal.Location = new System.Drawing.Point(350, 210);
+ btncancal.Size = new System.Drawing.Size(100, 40);
+ btncancal.Parent = ErrorForm;
+ btncancal.Text = btnName3;
+ btncancal.DialogResult = DialogResult.Cancel;
+ ErrorForm.AcceptButton = btncancal;//回车响应
+ try
+ {
+ btnYes.Select();
+ switch (ErrorForm.ShowDialog())
+ {
+ case DialogResult.Yes: return 1;
+ case DialogResult.No: return 2;
+ default: return 0;
+ }
+ }
+ finally
+ {
+ ErrorForm.Dispose();
+ }
+ }
+
+ [DllImport("User32.dll")]
+ private static extern bool SetCursorPos(int x, int y);
+
+ public static void SetCursorPosXY(int dx, int dy)
+ {
+ SetCursorPos(dx, dy);
+ }
+
+ public static void SetCursorPosXY(Point point)
+ {
+ System.Windows.Forms.Cursor.Position = point;
+ }
+
+ #endregion 界面控件操作
+
+ ///
+ /// CopyFiles 函数
+ ///
+ /// 源路径文件夹路径
+ /// 目标文件夹路径
+ /// 文件夹名称
+ ///
+ public static int CopyFiles(string strSourceFilePath, string strDesFilePath, string strRemak)
+ {
+ try
+ {
+ if (!Directory.Exists(strDesFilePath))
+ {
+ Directory.CreateDirectory(strDesFilePath);
+ }
+ DirectoryInfo sDir = new DirectoryInfo(strSourceFilePath);
+ FileInfo[] fileArray = sDir.GetFiles();
+ foreach (FileInfo file in fileArray)
+ {
+ file.CopyTo(strDesFilePath + "\\" + file.Name, true);
+ }
+ System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的所有文件成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return 1;
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show("传输" + strRemak + "文件夹中的文件错误!原因: " + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return 0;
+ }
+ }
+ }
+
+ public class HardwareInfoBase
+ {
+ ///
+ /// 获取指定驱动器的空间总大小(单位为B) ,只需输入代表驱动器的字母即可
+ ///
+ public static long GetHardDiskSpace(string str_HardDiskName)
+ {
+ long totalSize = new long();
+ str_HardDiskName = str_HardDiskName + ":\\";
+ System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
+ foreach (System.IO.DriveInfo drive in drives)
+ {
+ if (drive.Name == str_HardDiskName)
+ {
+ totalSize = drive.TotalSize;
+ break;
+ }
+ }
+ return totalSize;
+ }
+
+ ///
+ /// 获取指定驱动器的剩余空间总大小(单位为B) ,只需输入代表驱动器的字母即可
+ ///
+ public static long GetHardDiskFreeSpace(string str_HardDiskName)
+ {
+ long freeSpace = new long();
+ str_HardDiskName = str_HardDiskName + ":\\";
+ System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
+ foreach (System.IO.DriveInfo drive in drives)
+ {
+ if (drive.Name == str_HardDiskName)
+ {
+ freeSpace = drive.TotalFreeSpace;
+ break;
+ }
+ }
+ return freeSpace;
+ }
+
+ ///
+ /// 获取指定驱动器的剩余空间总大小(单位为K) ,只需输入代表驱动器的字母即可
+ ///
+ public static long GetHardDiskFreeSpace_K(string str_HardDiskName)
+ {
+ return GetHardDiskFreeSpace(str_HardDiskName) / 1024;
+ }
+
+ ///
+ /// 获取指定驱动器的剩余空间总大小(单位为M) ,只需输入代表驱动器的字母即可
+ ///
+ public static long GetHardDiskFreeSpace_M(string str_HardDiskName)
+ {
+ return GetHardDiskFreeSpace_K(str_HardDiskName) / 1024;
+ }
+
+ ///
+ /// 获取指定驱动器的剩余空间总大小(单位为G) ,只需输入代表驱动器的字母即可
+ ///
+ public static long GetHardDiskFreeSpace_G(string str_HardDiskName)
+ {
+ return GetHardDiskFreeSpace_M(str_HardDiskName) / 1024;
+ }
+ }
+
+ //==================================================================================================FileIni
+ //Ini 文件操作类
+ public class FileIni
+ {
+ [DllImport("kernel32.dll")]
+ public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
+
+ [DllImport("kernel32.dll")]
+ public static extern bool CloseHandle(IntPtr hObject);
+
+ public const int OF_READWRITE = 2;
+ public const int OF_SHARE_DENY_NONE = 0x40;
+ public static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
+
+ //判断文件是否被占用 占用=true 未占用 = false
+ public static bool isFileOccupied(string path)
+ {
+ if (!File.Exists(path))
+ return true;
+ IntPtr vHandle = _lopen(path, OF_READWRITE | OF_SHARE_DENY_NONE);
+ if (vHandle == HFILE_ERROR)
+ return true;
+ CloseHandle(vHandle);
+ return false;
+ }
+
+ [DllImport("kernel32")]
+ private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
+
+ [DllImport("kernel32")]
+ private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
+
+ [DllImport("kernel32")]
+ private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath);
+
+ public static bool isFileExists(string path)
+ {
+ if (!(File.Exists(path)))
+ {
+ MessageBox.Show("文件:" + path + "不存在", "ini文件不存在");
+ return false;
+ }
+ return true;
+ }
+
+ //=====================//=====================//=====================Write data
+ #region 写INI参数
+
+ ///
+ /// 对ini文件进行写操作
+ ///
+ /// ini文件路径
+ /// 配置节
+ /// 键名
+ /// 要写入的string字符串
+ public static void WriteString(string path, string section, string key, string value)
+ {
+ // section=配置节,key=键名,value=键值,path=路径
+ WritePrivateProfileString(section, key, value, path);
+ }
+
+ public static void WriteInt(string path, string section, string key, int value = 0)
+ {
+ string strRead = ReadString(path, section, key);
+ string[] strArr = strRead.Split(new char[] { ';' });
+ string strNote = ";";
+ string strWrite;
+ if (strArr.Length > 1)//保留原有注释
+ {
+ for (int i = 1; i < strArr.Length; i++)
+ strNote += strArr[i];
+ strWrite = value.ToString() + strNote;
+ }
+ else
+ {
+ strWrite = value.ToString();
+ }
+ WritePrivateProfileString(section, key, strWrite, path);
+ }
+
+ public static void WriteDouble(string path, string section, string key, double value = 0)
+ {
+ string strRead = ReadString(path, section, key);
+ string[] strArr = strRead.Split(new char[] { ';' });
+ string strNote = ";";
+ string strWrite;
+ if (strArr.Length > 1)//保留原有注释
+ {
+ for (int i = 1; i < strArr.Length; i++)
+ strNote += strArr[i];
+ strWrite = value.ToString() + strNote;
+ }
+ else
+ {
+ strWrite = value.ToString();
+ }
+ WritePrivateProfileString(section, key, strWrite, path);
+ }
+
+ public static void WriteBool(string path, string section, string key, bool value = false)
+ {
+ string strValue = (value ? "1" : "0");
+ string strRead = ReadString(path, section, key);
+ string[] strArr = strRead.Split(new char[] { ';' });
+ string strNote = ";";
+ string strWrite;
+ if (strArr.Length > 1)//保留原有注释
+ {
+ for (int i = 1; i < strArr.Length; i++)
+ strNote += strArr[i];
+ strWrite = strValue + strNote;
+ }
+ else
+ {
+ strWrite = strValue;
+ }
+ WritePrivateProfileString(section, key, strWrite, path);
+ }
+
+ #endregion 写INI参数
+
+ //=====================//=====================//=====================Read data
+ #region 读INI参数
+
+ ///
+ /// 从ini配置文件中读取字符串
+ ///
+ /// ini文件路径
+ /// 配置节名称
+ /// 键名
+ /// 要读取的string类型内容
+ public static string ReadString(string path, string section, string key)
+ {
+ // 每次从ini中读取多少字节 // section=配置节,key=键名,temp=上面,path=路径
+ System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
+ GetPrivateProfileString(section, key, "", temp, 255, path);
+ String str = temp.ToString();
+ string[] strArr = str.Split(new char[] { ';' });
+ string strRead = "";
+ if (strArr.Length > 0)
+ {
+ strRead = strArr[0];
+ }
+ return strRead;
+ }
+
+ ///
+ /// 从ini配置文件中读取Int类型
+ ///
+ /// ini文件路径
+ /// 配置节名称
+ /// 键名
+ /// 读不到时默认返回值:0
+ /// 要读取的Int类型数据
+ public static int ReadInt(string path, string section, string key, int defValue = 0)
+ {
+ return GetPrivateProfileInt(section, key, defValue, path);
+ }
+
+ public static double ReadDouble(string path, string section, string key, double defValue = 0)
+ {
+ System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
+ GetPrivateProfileString(section, key, defValue.ToString(), temp, 255, path);
+ String str = temp.ToString();
+ string[] strArr = str.Split(new char[] { ';' });
+ double ReData;
+ if (strArr.Length > 0)
+ {
+ ReData = Convert.ToDouble(strArr[0]);
+ }
+ else
+ {
+ ReData = defValue;
+ }
+ return ReData;
+ }
+
+ public static bool ReadBool(string path, string section, string key, int defValue = 0)
+ {
+ int val = GetPrivateProfileInt(section, key, defValue, path);
+ if (val != 0)
+ return true;
+ else
+ return false;
+ }
+
+ #endregion 读INI参数
+ }
+
+ //==================================================================================================SoundBase
+ ///
+ /// 声音播放类
+ ///
+ public class SoundBase
+ {
+ //public static WMPLib.WindowsMediaPlayer WMPlayer = new WMPLib.WindowsMediaPlayer();
+ ////方法 1
+ //public static void OpenWinMediaPlayer(string FileName)
+ //{
+ // if (!System.IO.File.Exists(FileName))
+ // {
+ // MessageBox.Show("File does not exist!");
+ // return;
+ // }
+ // WMPlayer.URL = FileName;
+ //}
+
+ //public static void OpenWinMediaPlayer(WMPLib.WindowsMediaPlayer WinMediaPlayer, string FileName)
+ //{
+ // if (!System.IO.File.Exists(FileName))
+ // {
+ // MessageBox.Show("File does not exist!");
+ // return;
+ // }
+ // WinMediaPlayer.URL = FileName;
+ //}
+
+ //public static void OpenWinMediaPlayerDialogFile()
+ //{
+ // OpenFileDialog FileDialog = new OpenFileDialog();
+ // FileDialog.AddExtension = true;
+ // FileDialog.CheckFileExists = true;
+ // FileDialog.CheckPathExists = true;
+ // //the next sentence must be in single line
+ // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*";
+ // FileDialog.DefaultExt = "*.mp3";
+ // if (FileDialog.ShowDialog() == DialogResult.OK)
+ // {
+ // WMPlayer.URL = FileDialog.FileName;
+ // }
+ //}
+
+ //public static void OpenWinMediaPlayerDialogFile(WMPLib.WindowsMediaPlayer WinMediaPlayer)
+ //{
+ // OpenFileDialog FileDialog = new OpenFileDialog();
+ // FileDialog.AddExtension = true;
+ // FileDialog.CheckFileExists = true;
+ // FileDialog.CheckPathExists = true;
+ // //the next sentence must be in single line
+ // FileDialog.Filter = "WAV文件(*.wav)|*.wav|MP3文件(*.mp3)|*.mp3|VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|所有文件 (*.*)|*.*";
+ // FileDialog.DefaultExt = "*.mp3";
+ // if (FileDialog.ShowDialog() == DialogResult.OK)
+ // {
+ // WinMediaPlayer.URL = FileDialog.FileName;
+ // }
+ //}
+
+ //方法 2
+ public static void sndPlayerPlay(string FileName)
+ {
+ if (!System.IO.File.Exists(FileName))
+ {
+ MessageBox.Show("File does not exist!");
+ return;
+ }
+ System.Media.SoundPlayer sndPlayer = new System.Media.SoundPlayer(FileName);
+ sndPlayer.Load();
+ sndPlayer.Play();
+ }
+
+ //方法 3
+ public static void SpVoicePlay(string FileName)
+ {
+ //if (!System.IO.File.Exists(FileName))
+ //{
+ // MessageBox.Show("File does not exist!");
+ // return;
+ //}
+ //SpeechLib.SpVoiceClass pp = new SpeechLib.SpVoiceClass();
+ //SpeechLib.SpFileStreamClass spFs = new SpeechLib.SpFileStreamClass();
+ //spFs.Open(FileName, SpeechLib.SpeechStreamFileMode.SSFMOpenForRead, true);
+ //SpeechLib.ISpeechBaseStream Istream = spFs as SpeechLib.ISpeechBaseStream;
+ //pp.SpeakStream(Istream, SpeechLib.SpeechVoiceSpeakFlags.SVSFIsFilename);
+ //spFs.Close();
+ }
+
+ //方法 4 (蜂鸣器--控制台扬声器)
+ public static void Beep(int frequency, int duration)
+ {
+ //振动的Hz频率; //持续的时间,单位“毫秒”。
+ Console.Beep(frequency, duration);
+ }
+ }
+
+ //==================================================================================================
+ ///
+ /// 数据格式化或校验检测
+ ///
+ internal class FormatCheckBase
+ {
+ ///
+ /// 检测是否为十六进制字符串,长度不够在前面添加0
+ ///
+ /// 输入字符串
+ /// 长度
+ /// 输出字符串
+ /// 检测结果
+ public static void FormatChecking16(string strInput, int length, out string strOutput, out Boolean Valid)
+ {
+ strOutput = "";
+ Valid = true;
+ byte temp;
+ if ((strInput.Length <= length) & (strInput.Length > 0))
+ {
+ for (int i = 0; i < strInput.Length; i++)
+ {
+ try
+ {
+ temp = Convert.ToByte(strInput[i].ToString(), 16);
+ }
+ catch
+ {
+ Valid = false;
+ strOutput = "";
+ break;
+ }
+ strOutput += strInput[i];
+ }
+ if (Valid & (strInput.Length < length))
+ {
+ for (int j = 0; j < length - strInput.Length; j++)
+ {
+ strOutput = "0" + strOutput;
+ }
+ }
+ }
+ else
+ {
+ Valid = false;
+ strOutput = "";
+ }
+ }
+
+ ///
+ /// 检测是否为十进制字符串,长度不够在前面添加0
+ ///
+ /// 输入字符串
+ /// 长度
+ /// 输出字符串
+ /// 检测结果
+ public static bool FormatChecking10(string strInput, int length, out string strOutput)
+ {
+ strOutput = "";
+ byte temp;
+ try
+ {
+ if ((strInput.Length <= length) & (strInput.Length > 0))
+ {
+ for (int i = 0; i < strInput.Length; i++)
+ {
+ try
+ {
+ temp = Convert.ToByte(strInput[i].ToString(), 10);
+ }
+ catch
+ {
+ strOutput = "";
+ return false;
+ }
+ strOutput += strInput[i];
+ }
+ if (strInput.Length < length)
+ {
+ for (int j = 0; j < length - strInput.Length; j++)
+ {
+ strOutput = "0" + strOutput;
+ }
+ }
+ }
+ else
+ {
+ strOutput = "";
+ return false;
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("格式转换错误:" + ex.Message);
+ return false;
+ }
+ return true;
+ }
+
+ ///
+ /// 每隔n个字符插入一个字符
+ ///
+ /// 从右边开始插入
+ /// 源字符串
+ /// 间隔字符数
+ /// 待插入值
+ /// 待补充值,最后不足间隔字符数时,用此字符补齐;Supplement=""时,不补任何字符。
+ /// 返回新生成字符串
+ public static string InsertFormat(bool isRight, string input, int interval, string value, string Supplement)
+ {
+ if (!isRight)//从左边开始插入
+ {
+ for (int i = interval; i < input.Length; i += interval + 1)
+ {
+ input = input.Insert(i, value);
+ }
+ if (Supplement != "")
+ {
+ do
+ {
+ if ((input.Length + 1) % (interval + 1) != 0) { input = input + Supplement; }
+ } while ((input.Length + 1) % (interval + 1) != 0);
+ }
+ }
+ else//从右边开始插入
+ {
+ for (int i = input.Length - interval; i > 0; i -= interval)
+ {
+ input = input.Insert(i, value);
+ }
+ if (Supplement != "")
+ {
+ do
+ {
+ if ((input.Length + 1) % (interval + 1) != 0) { input = Supplement + input; }
+ } while ((input.Length + 1) % (interval + 1) != 0);
+ }
+ }
+ return input;
+ }
+
+ ///
+ /// BCC校验,返回校验后的字符串
+ ///
+ /// 待校验字符串
+ /// 返回结果
+ public static string GetBCC(string strCmd)
+ {
+ if (strCmd.Length >= 2)
+ {
+ byte[] Buffer = Encoding.Default.GetBytes(strCmd);
+ byte byteBCC = Buffer[0];
+ for (int i = 1; i < Buffer.Length; i++)
+ byteBCC ^= Buffer[i];
+ return Convert.ToChar(byteBCC).ToString();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ ///
+ /// BCC校验,返回校验后的数组
+ ///
+ /// 待校验数组
+ /// 返回结果
+ public static byte[] GetBCC(byte[] byteData)
+ {
+ byte[] byteWrite = new byte[byteData.Length + 1];
+ if (byteData.Length >= 2)
+ {
+ byteData.CopyTo(byteWrite, 0);
+ byte byteBCC = byteData[0];
+ for (int i = 1; i < byteData.Length; i++)
+ byteBCC ^= byteData[i];
+ byteWrite[byteWrite.Length - 1] = byteBCC;
+ return byteWrite;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ ///
+ /// CRC16校验函数
+ ///
+ public class CRC16Check
+ {
+ private const int CRC_LEN = 0;
+
+ // Table of CRC values for high-order byte
+ #region
+
+ private static readonly byte[] _auchCRCHi = new byte[]
+ {
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+ 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+ 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
+ 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
+ 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
+ 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
+ 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
+ 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+ 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+ 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+ 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
+ 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
+ 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+ 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
+ };
+
+ #endregion
+ // Table of CRC values for low-order byte
+ #region
+
+ private static readonly byte[] _auchCRCLo = new byte[]
+ {
+ 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,
+ 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD,
+ 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
+ 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A,
+ 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4,
+ 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
+ 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,
+ 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,
+ 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
+ 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,
+ 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED,
+ 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
+ 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,
+ 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,
+ 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
+ 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68,
+ 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E,
+ 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
+ 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,
+ 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,
+ 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
+ 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B,
+ 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,
+ 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
+ 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,
+ 0x43, 0x83, 0x41, 0x81, 0x80, 0x40
+ };
+
+ #endregion
+
+ ///
+ /// 计算CRC16校验值 返回一个ushort类型的值,如果要返回Crc高字节和低字节,可重写CalculateCrc16函数为:
+ ///
+ /// 待校验数组
+ /// 输出高字节
+ /// 输出低字节
+ /// 输出校验值
+ public static ushort CalculateCrc16(byte[] buffer, out byte crcHi, out byte crcLo)
+ {
+ crcHi = 0xff; // high crc byte initialized
+ crcLo = 0xff; // low crc byte initialized
+
+ for (int i = 0; i < buffer.Length - CRC_LEN; i++)
+ {
+ int crcIndex = crcHi ^ buffer[i]; // calculate the crc lookup index
+
+ crcHi = (byte)(crcLo ^ _auchCRCHi[crcIndex]);
+ crcLo = _auchCRCLo[crcIndex];
+ }
+ return (ushort)(crcHi << 8 | crcLo);
+ }
+ }
+ }
+
+ //==================================================================================================ConvertBase
+ ///
+ /// 数据转换类
+ ///
+ internal class ConvertBase
+ {
+ #region 图像 <--> 数组
+
+ ///
+ /// 图像转换为Byte数组
+ ///
+ public static byte[] ImageToByteArray(Image ImageIn)
+ {
+ MemoryStream ms = new MemoryStream();
+ ImageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ return ms.ToArray();
+ }
+
+ ///
+ /// Byte数组转换为图像
+ ///
+ public static Image byteArrayToImage(byte[] byteArrayIn)
+ {
+ MemoryStream ms = new MemoryStream(byteArrayIn);
+ Image returnImage = Image.FromStream(ms);
+ return returnImage;
+ }
+
+ #endregion
+
+ #region 字符串 -> 字节数组
+
+ ///
+ /// 十六进制(hexadecimal)字符串转换为字节数组
+ ///
+ ///
+ ///
+ public static byte[] HexStringToBytes(string str)
+ {
+ str = str.Replace(" ", "");
+ byte[] buffer = new byte[str.Length / 2];
+ for (int i = 0; i < str.Length; i += 2)
+ {
+ buffer[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16);
+ }
+ return buffer;
+ }
+
+ ///
+ /// 十进制(Decimalism)字符串转换为字节数组
+ ///
+ ///
+ ///
+ public static byte[] DecimalStringToBytes(string str)
+ {
+ str = str.Replace(" ", "");
+ byte[] buffer = new byte[str.Length];
+ for (int i = 0; i < str.Length; i++)
+ {
+ buffer[i] = (byte)Convert.ToByte(str.Substring(i, 1), 10);
+ }
+ return buffer;
+ }
+
+ #endregion
+
+ #region DataGridView -> DataTable 和 DataSet
+
+ public static DataTable GetDataTableFromDataGridView(DataGridView dv)
+ {
+ DataTable dt = new DataTable(); DataColumn dc;
+ for (int i = 0; i < dv.Columns.Count; i++)
+ {
+ dc = new DataColumn();
+ dc.ColumnName = dv.Columns[i].HeaderText.ToString();
+ dt.Columns.Add(dc);
+ }
+ for (int j = 0; j < dv.Rows.Count - 1; j++)
+ {
+ DataRow dr = dt.NewRow();
+ for (int x = 0; x < dv.Columns.Count; x++)
+ {
+ dr[x] = dv.Rows[j].Cells[x].Value;
+ }
+ dt.Rows.Add(dr);
+ }
+ return dt;
+ }
+
+ public static DataSet GetDataSetFromDataGridView(DataGridView ucgrd)
+ {
+ DataSet ds = new DataSet();
+ DataTable dt = new DataTable();
+ for (int j = 0; j < ucgrd.Columns.Count; j++)
+ { dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString()); }
+ for (int j = 0; j < ucgrd.Rows.Count; j++)
+ {
+ DataRow dr = dt.NewRow();
+ for (int i = 0; i < ucgrd.Columns.Count; i++)
+ {
+ if (ucgrd.Rows[j].Cells[i].Value != null)
+ { dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString(); }
+ else { dr[i] = ""; }
+ }
+ dt.Rows.Add(dr);
+ }
+ ds.Tables.Add(dt);
+ return ds;
+ }
+
+ #endregion
+
+ #region ListBox.Items, ComboBox.Items -> string[]
+
+ public static string[] GetStringsFromListBox(ListBox mListBox)
+ {
+ string[] strings = new string[mListBox.Items.Count];
+ for (int i = 0; i < mListBox.Items.Count; i++)
+ {
+ strings[i] = mListBox.Items[i].ToString();
+ }
+ return strings;
+ }
+
+ public static string[] GetStringsFromListBox(ComboBox mComboBox)
+ {
+ string[] strings = new string[mComboBox.Items.Count];
+ for (int i = 0; i < mComboBox.Items.Count; i++)
+ {
+ strings[i] = mComboBox.Items[i].ToString();
+ }
+ return strings;
+ }
+
+ public static void AddStringsToListView(ListView m_ListView, string[] strings)
+ {
+ m_ListView.Items.Clear();
+ for (int i = 0; i < strings.Length; i++)
+ {
+ m_ListView.Items.Add(strings[i]);
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 从SYGOLE获取的数据转换函数
+ ///
+ public class Tool
+ {
+ //将十六进制的字符串转化为ushort
+ public static ushort HexString2Ushort(string s)
+ {
+ ushort value = 0;
+
+ for (int i = 0; i < s.Length; i++)
+ {
+ if (s[i] != ' ')
+ {
+ value = (ushort)(value * 16 + HexStringToHex(s, i));
+ }
+ }
+
+ return value;
+ }
+
+ //将字节数组形式的mac地址转化为对应的字符串
+ public static string MacToString(byte[] mac)
+ {
+ string MacString = "";
+
+ for (int i = 0; i < 6; i++)
+ {
+ MacString += ByteToHexString(mac[i]);
+ if (i < 5)
+ {
+ MacString += ":";
+ }
+ }
+
+ return MacString;
+ }
+
+ //将字符串形式的mac地址转化为对应的字节数组
+ public static byte[] StringToMac(string str)
+ {
+ string temp = "";
+
+ for (int i = 0; i < str.Length; i++)
+ {
+ if ((str[i] != ' ') && (str[i] != ':'))
+ {
+ temp += str[i];
+ }
+ }
+
+ return HexStringToByte(temp, 0, 6);//6字节长度
+ }
+
+ //判断字符串是否是十六进制字符串
+ public static bool ValidHexString(string str)
+ {
+ for (int i = 0; i < str.Length; i++)
+ {
+ if (!
+ (((str[i] >= '0') && (str[i] <= '9')) ||
+ ((str[i] >= 'a') && (str[i] <= 'f')) ||
+ ((str[i] >= 'A') && (str[i] <= 'F')))
+ )
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ private static string GetStringWithoutSpace(string str, int pos)
+ {
+ string temp = "";
+ for (int i = pos; i < str.Length; i++)
+ {
+ if ((str[i] != ' ') && (str[i] != ':'))
+ {
+ temp += str[i];
+ }
+ }
+ return temp;
+ }
+
+ //将单个十六进制字符(4 bits)转化为byte
+ private static byte HexStringToHex(string str, int pos)
+ {
+ byte value = 0;
+
+ if ((str[pos] >= '0') && (str[pos] <= '9'))
+ {
+ value = (byte)(str[pos] - '0');
+ }
+ else if ((str[pos] >= 'a') && (str[pos] <= 'f'))
+ {
+ value = (byte)(str[pos] - 'a' + 10);
+ }
+ else if ((str[pos] >= 'A') && (str[pos] <= 'F'))
+ {
+ value = (byte)(str[pos] - 'A' + 10);
+ }
+
+ return value;
+ }
+
+ //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt
+ public static byte[] HexStringToByte(string str, int pos, int cnt)
+ {
+ if ((!ValidHexString(str)) || ((str.Length - pos) >> 1 < cnt))
+ {
+ return null;
+ }
+
+ byte[] data = new byte[cnt];
+
+ for (int i = 0; i < cnt; i++)
+ {
+ data[i] = (byte)(HexStringToHex(str, 2 * i + pos) * 16 + HexStringToHex(str, 2 * i + pos + 1));
+ }
+
+ return data;
+ }
+
+ public static string bytes2String(byte[] data, int offset, int len)
+ {
+ string outString = "";
+
+ for (int i = offset; i < len + offset; i++)
+ {
+ outString += (char)data[i];
+ }
+
+ return outString;
+ }
+
+ //将字符串的pos位置开始,转化为数组,转化后数组的长度为cnt
+ public static byte[] HexStringToByte(string str, int pos)
+ {
+ string tempStr = GetStringWithoutSpace(str, pos);
+
+ return HexStringToByte(tempStr, 0, tempStr.Length >> 1);
+ }
+
+ public static byte HexStringToSingleByte(string str, int pos)
+ {
+ byte temp = 0;
+ int len = 2;
+ string tempStr = GetStringWithoutSpace(str, pos);
+
+ if (tempStr.Length == 0)
+ {
+ return 0;
+ }
+ else if (tempStr.Length < 2)
+ {
+ len = tempStr.Length;
+ }
+ else
+ {
+ len = 2;
+ }
+
+ for (int i = 0; i < len; i++)
+ {
+ temp = (byte)(temp * 16 + HexStringToHex(tempStr, i));
+ }
+
+ return temp;
+ }
+
+ //将字符串的pos位置开始,转化int
+ public static int HexStringToInt(string s, int pos)
+ {
+ string str = "";
+ int len = (s.Length - pos) > 8 ? 8 : s.Length - pos;
+ for (int i = pos; i < len; i++)
+ {
+ str += s[i];
+ }
+ for (int i = len; i < 8; i++)
+ {
+ str = "0" + str;
+ }
+
+ if (!ValidHexString(str))
+ {
+ return 0;
+ }
+
+ int result = 0;
+ byte[] data = HexStringToByte(str, 0, 4);
+
+ for (int i = 0; i < 4; i++)
+ {
+ result = (result << 8) + data[i];
+ }
+
+ return result;
+ }
+
+ //将字节类型的数据转化为十六进制字符串
+ public static string ByteToHexString(byte data)
+ {
+ string outString = "";
+
+ if (data < 16)
+ {
+ outString += "0";
+ }
+ outString += data.ToString("X");
+
+ return outString;
+ }
+
+ //将字节类型的数据转化为十六进制字符串
+ public static string ByteToHexString(byte[] data, int pos, int length, string space)
+ {
+ string outString = "";
+
+ for (int i = pos; i < pos + length; i++)
+ {
+ outString += ByteToHexString(data[i]);
+ if (i != pos + length - 1)
+ {
+ outString += space;
+ }
+ }
+
+ return outString;
+ }
+
+ //将ushort类型的数据转化为十六进制字符串
+ public static string ushortToHexString(ushort[] data, int pos, int length)
+ {
+ string outString = "";
+
+ for (int i = pos; i < pos + length; i++)
+ {
+ outString += ByteToHexString((byte)(data[i] >> 8));
+ outString += ByteToHexString((byte)(data[i] & 0xFF));
+ }
+
+ return outString;
+ }
+ }
+
+ //==========================================================================================
+ public class MyConvert
+ {
+ //string a = Convert.ToString(5, 2);
+ //string b = Convert.ToString(11, 8);
+ //string c = Convert.ToString(11, 16);
+ //int aa = Convert.ToInt32("101", 2);//二进制转换10进制
+ //int bb = Convert.ToInt32("13", 8); //八进制转换10进制
+ //int cc = Convert.ToInt32("b", 16); //十六进制转换10进制
+
+ #region C++转换程序(C#里面有完整的转换函数)
+
+ //十进制转二制
+ public static string DtoB(int d)
+ {
+ //Console.WriteLine(Convert.ToString(5,2))
+ string str = "";
+ //判断该数如果小于2,则直接输出
+ if (d < 2)
+ {
+ str = d.ToString();
+ }
+ else
+ {
+ int c;
+ int s = 0;
+ int n = d;
+ while (n >= 2)
+ {
+ s++;
+ n = n / 2;
+ }
+ int[] m = new int[s];
+ int i = 0;
+ do
+ {
+ c = d / 2;
+ m[i++] = d % 2;
+ d = c;
+ } while (c >= 2);
+ str = d.ToString();
+ for (int j = m.Length - 1; j >= 0; j--)
+ {
+ str += m[j].ToString();
+ }
+ }
+ return str;
+ }
+
+ //十进制转八进制
+ public static string DtoO(int d)
+ {
+ string o = "";
+ if (d < 8)
+ {
+ o = d.ToString();
+ }
+ else
+ {
+ int c;
+
+ int s = 0;
+ int n = d;
+ int temp = d;
+ while (n >= 8)
+ {
+ s++;
+ n = n / 8;
+ }
+ int[] m = new int[s];
+ int i = 0;
+ do
+ {
+ c = d / 8;
+ m[i++] = d % 8;
+ d = c;
+ } while (c >= 8);
+ o = d.ToString();
+ for (int j = m.Length - 1; j >= 0; j--)
+ {
+ o += m[j];
+ }
+ }
+ return o;
+ }
+
+ //十进制转十六进制
+ public static string DtoX(int d)
+ {
+ string x = "";
+ if (d < 16)
+ {
+ x = chang(d);
+ }
+ else
+ {
+ int c;
+ int s = 0;
+ int n = d;
+ int temp = d;
+ while (n >= 16)
+ {
+ s++;
+ n = n / 16;
+ }
+ string[] m = new string[s];
+ int i = 0;
+ do
+ {
+ c = d / 16;
+ m[i++] = chang(d % 16);//判断是否大于10,如果大于10,则转换为A~F的格式
+ d = c;
+ } while (c >= 16);
+ x = chang(d);
+ for (int j = m.Length - 1; j >= 0; j--)
+ {
+ x += m[j];
+ }
+ }
+ return x;
+ }
+
+ //判断是否为10~15之间的数,如果是则进行转换
+ public static string chang(int d)
+ {
+ string x = "";
+ switch (d)
+ {
+ case 10:
+ x = "A";
+ break;
+
+ case 11:
+ x = "B";
+ break;
+
+ case 12:
+ x = "C";
+ break;
+
+ case 13:
+ x = "D";
+ break;
+
+ case 14:
+ x = "E";
+ break;
+
+ case 15:
+ x = "F";
+ break;
+
+ default:
+ x = d.ToString();
+ break;
+ }
+ return x;
+ }
+
+ public static int XtoD(string instr)
+ {
+ int i = Convert.ToInt32("FF", 16); //十六进制转换10进制
+ int j = Convert.ToInt32("1100", 2);
+ int k = Convert.ToInt32("12", 8);
+ return i;
+ }
+
+ #endregion
+ }
+ }
+
+ //==================================================================================================TcpBase
+ ///
+ /// 网络通讯通用类函数库
+ ///
+ internal class TcpBase
+ {
+ ///
+ /// 用CMD命令测试网络连接状态
+ ///
+ /// IP地址或网址
+ /// Ping结果 连接;超时或其他结果表示未连接
+ public static string CmdPing(string strIp)
+ {
+ Process p = new Process();
+ p.StartInfo.FileName = "cmd.exe";
+ p.StartInfo.UseShellExecute = false;
+ p.StartInfo.RedirectStandardInput = true;
+ p.StartInfo.RedirectStandardOutput = true;
+ p.StartInfo.RedirectStandardError = true;
+ p.StartInfo.CreateNoWindow = true;
+ p.Start();
+ p.StandardInput.WriteLine("ping -n 1 " + strIp);
+ p.StandardInput.WriteLine("exit");
+
+ string strRst = p.StandardOutput.ReadToEnd();
+ string pingRst = "";
+ if (strRst.Contains("(0% loss)") || strRst.Contains("(0% 丢失)"))
+ pingRst = "连接";
+ else if (strRst.Contains("Request timed out") || strRst.Contains("请求超时"))
+ pingRst = "超时";
+ else if (strRst.Contains("Unknown host") || strRst.Contains("无法解析主机"))
+ pingRst = "无法解析主机";
+ else if (strRst.Contains("请求找不到主机"))
+ pingRst = "请求找不到主机";
+ else if (strRst.Contains("Destination host unreachable."))
+ pingRst = "无法到达目的主机";
+ else
+ pingRst = strRst;
+ p.Close();
+ return pingRst;
+ }
+ }
+
+ //==================================================================================================MyMath
+ ///
+ /// 数学函数库(算法)
+ ///
+ internal class MyMath
+ {
+ public static double GetMax(double[] Datas)
+ {
+ double Max = -9999;
+ try
+ {
+ if (Datas.Length == 1)
+ return Datas[0];
+ for (int i = 0; i < Datas.Length; i++)
+ {
+ Max = Math.Max(Datas[i], Max);
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
+ return Max;
+ }
+
+ public static double GetMin(double[] Datas)
+ {
+ double Min = 9999;
+ try
+ {
+ if (Datas.Length == 1)
+ return Datas[0];
+ for (int i = 0; i < Datas.Length; i++)
+ {
+ Min = Math.Min(Datas[i], Min);
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message);
+ }
+ return Min;
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址,从0开始
+ /// 返回整形数据或-1
+ public static int GetPlcData(byte[] byteData, int DataAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (byteData.Length < 10 + DataAddr * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ int bitH = DataAddr * 2 + 9;
+ int bitL = DataAddr * 2 + 10;
+ return byteData[bitH] * 256 + byteData[bitL];
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址
+ /// PLC读取起始地址
+ /// 返回整形数据或-1
+ public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ //MessageBox.Show("错误:要读取的数据小于起始地址");
+ return -1;
+ }
+ if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ int bitH = (DataAddr - startAddr) * 2 + 9;
+ int bitL = (DataAddr - startAddr) * 2 + 10;
+ return byteData[bitH] * 256 + byteData[bitL];
+ }
+ }
+ catch
+ {
+ //MessageBox.Show("Catch错误:" + ex.Message);
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取字节的某一位
+ ///
+ /// 从0开始
+ ///
+ public static bool GetPlcBit(int data, int index)
+ {
+ switch (index)
+ {
+ case 0:
+ return (data & 0x0001) > 0;
+
+ case 1:
+ return (data & 0x0002) > 0;
+
+ case 2:
+ return (data & 0x0004) > 0;
+
+ case 3:
+ return (data & 0x0008) > 0;
+
+ case 4:
+ return (data & 0x0010) > 0;
+
+ case 5:
+ return (data & 0x0020) > 0;
+
+ case 6:
+ return (data & 0x0040) > 0;
+
+ case 7:
+ return (data & 0x0080) > 0;
+
+ case 8:
+ return (data & 0x0100) > 0;
+
+ case 9:
+ return (data & 0x0200) > 0;
+
+ case 10:
+ return (data & 0x0400) > 0;
+
+ case 11:
+ return (data & 0x0800) > 0;
+
+ case 12:
+ return (data & 0x1000) > 0;
+
+ case 13:
+ return (data & 0x2000) > 0;
+
+ case 14:
+ return (data & 0x4000) > 0;
+
+ case 15:
+ return (data & 0x8000) > 0;
+
+ default:
+ return false;
+ }
+ }
+
+ public static bool GetPlcBitH2Low(int data, int index)
+ {
+ switch (index)
+ {
+ case 0:
+ return (data & 0x0100) > 0;
+
+ case 1:
+ return (data & 0x0200) > 0;
+
+ case 2:
+ return (data & 0x0400) > 0;
+
+ case 3:
+ return (data & 0x0800) > 0;
+
+ case 4:
+ return (data & 0x1000) > 0;
+
+ case 5:
+ return (data & 0x2000) > 0;
+
+ case 6:
+ return (data & 0x4000) > 0;
+
+ case 7:
+ return (data & 0x8000) > 0;
+
+ case 8:
+ return (data & 0x0001) > 0;
+
+ case 9:
+ return (data & 0x0002) > 0;
+
+ case 10:
+ return (data & 0x0004) > 0;
+
+ case 11:
+ return (data & 0x0008) > 0;
+
+ case 12:
+ return (data & 0x0010) > 0;
+
+ case 13:
+ return (data & 0x0020) > 0;
+
+ case 14:
+ return (data & 0x0040) > 0;
+
+ case 15:
+ return (data & 0x0080) > 0;
+
+ default:
+ return false;
+ }
+ }
+
+ ///
+ /// 获取字节的某一位
+ ///
+ /// 从0开始
+ ///
+ public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr)
+ {
+ int Value = GetPlcData(byteData, DataAddr, startAddr);
+ bool bResult = GetPlcBit(Value, index);
+ return bResult;
+ }
+
+ public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr)
+ {
+ int Value = GetPlcData(byteData, DataAddr, startAddr);
+ bool bResult = GetPlcBitH2Low(Value, index);
+ return bResult;
+ }
+
+ ///
+ /// 获取单精度浮点数(float)数据
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 数据正反序
+ ///
+ public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence = true)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ return -1;
+ }
+ if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ float Result = -1;
+ int startBit = (DataAddr - startAddr) * 2 + 9;
+
+ byte[] arrLength = new byte[4];
+ arrLength[0] = byteData[startBit + 0];
+ arrLength[1] = byteData[startBit + 1];
+ arrLength[2] = byteData[startBit + 2];
+ arrLength[3] = byteData[startBit + 3];
+
+ if (PositiveSequence)
+ {
+ Result = BitConverter.ToSingle(arrLength, 0);
+ }
+ else
+ {
+ Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
+ }
+ Result = Convert.ToSingle(Math.Round(Result, 3));
+ return Result;
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取字符串(string)
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 读取的地址数量(单位16)
+ /// 数据正反序
+ /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
+ ///
+ public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, bool PositiveSequence = true, int strType = 0)
+ {
+ string Result = "";
+ try
+ {
+ if (byteData == null)
+ {
+ return Result;
+ }
+ if (startAddr > DataAddr + DataNum)
+ {
+ return Result;
+ }
+ if (byteData.Length < 9 + (DataAddr - startAddr) * 2)
+ {
+ return Result;
+ }
+ else
+ {
+ int startBit = (DataAddr - startAddr) * 2 + 9;
+ byte[] arrLength = new byte[DataNum * 2];
+ for (int i = 0; i < DataNum * 2; i++)
+ {
+ arrLength[i] = byteData[startBit + i];
+ }
+ if (!PositiveSequence)
+ {
+ arrLength = (byte[])arrLength.Reverse();
+ }
+ switch (strType)
+ {
+ case 2:
+ foreach (byte b in arrLength)
+ {
+ Result += ConvertBase.MyConvert.DtoB(b);
+ }
+ break;
+
+ case 10:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString();
+ }
+ break;
+
+ case 16:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString("X2");
+ }
+ break;
+
+ default:
+ foreach (byte b in arrLength)
+ {
+ Result += Convert.ToChar(b).ToString();
+ }
+ break;
+ }
+ return Result.Trim();
+ }
+ }
+ catch
+ {
+ return Result;
+ }
+ }
+
+ //======================================================================
+ ///
+ /// 字节数组(byte 8位)转化为ushort(16位)数组
+ ///
+ public static ushort[] GetushortsFromValue(byte[] Value)
+ {
+ ushort[] rtnValues;
+ byte[] bytes = Value;
+ int Length = bytes.Length / 2;
+ if (bytes.Length % 2 == 0)
+ {
+ rtnValues = new ushort[Length];
+ for (int i = 0; i < bytes.Length; i += 2)
+ {
+ rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i);
+ }
+ }
+ else
+ {
+ rtnValues = new ushort[bytes.Length / 2 + 1];
+ for (int i = 0; i < bytes.Length - 1; i += 2)
+ {
+ rtnValues[i / 2] = BitConverter.ToUInt16(bytes, i);
+ }
+ rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1];
+ }
+ return rtnValues;
+ }
+
+ ///
+ /// 字符串(string)转化为ushort(16位)数组
+ ///
+ public static ushort[] GetushortsFromValue(string Value)
+ {
+ byte[] bytes = System.Text.Encoding.Default.GetBytes(Value);
+ ushort[] ushorts = GetushortsFromValue(bytes);
+ return ushorts;
+ }
+
+ ///
+ /// 单精度小数(float 32位)转化为ushort(16位)数组
+ ///
+ public static ushort[] GetushortsFromValue(float Value)
+ {
+ byte[] bytes = BitConverter.GetBytes(Value);
+ ushort[] ushorts = GetushortsFromValue(bytes);
+ return ushorts;
+ }
+
+ ///
+ /// 双精度小数(double 64位)转化为ushort(16位)数组
+ ///
+ public static ushort[] GetushortsFromValue(double Value)
+ {
+ byte[] bytes = BitConverter.GetBytes(Value);
+ ushort[] ushorts = GetushortsFromValue(bytes);
+ return ushorts;
+ }
+
+ //======================================================================
+ ///
+ /// 字节数组(byte 8位)转化为short(16位)数组
+ ///
+ public static short[] GetshortsFromValue(byte[] Value)
+ {
+ short[] rtnValues;
+ byte[] bytes = Value;
+ int Length = bytes.Length / 2;
+ if (bytes.Length % 2 == 0)
+ {
+ rtnValues = new short[Length];
+ for (int i = 0; i < bytes.Length; i += 2)
+ {
+ rtnValues[i / 2] = BitConverter.ToInt16(bytes, i);
+ }
+ }
+ else
+ {
+ rtnValues = new short[bytes.Length / 2 + 1];
+ for (int i = 0; i < bytes.Length - 1; i += 2)
+ {
+ rtnValues[i / 2] = BitConverter.ToInt16(bytes, i);
+ }
+ rtnValues[bytes.Length / 2] = bytes[bytes.Length - 1];
+ }
+ return rtnValues;
+ }
+
+ ///
+ /// 字符串(string)转化为short(16位)数组
+ ///
+ public static short[] GetshortsFromValue(string Value)
+ {
+ byte[] bytes = System.Text.Encoding.Default.GetBytes(Value);
+ short[] shorts = GetshortsFromValue(bytes);
+ return shorts;
+ }
+
+ ///
+ /// 整形(int 32位)转化为short(16位)数组
+ ///
+ public static short[] GetshortsFromValue(int Value)
+ {
+ byte[] bytes = BitConverter.GetBytes(Value);
+ short[] shorts = GetshortsFromValue(bytes);
+ return shorts;
+ }
+
+ ///
+ /// 单精度小数(float 32位)转化为short(16位)数组
+ ///
+ public static short[] GetshortsFromValue(float Value)
+ {
+ byte[] bytes = BitConverter.GetBytes(Value);
+ short[] shorts = GetshortsFromValue(bytes);
+ return shorts;
+ }
+
+ ///
+ /// 双精度小数(double 64位)转化为ushort(16位)数组
+ ///
+ public static short[] GetshortsFromValue(double Value)
+ {
+ byte[] bytes = BitConverter.GetBytes(Value);
+ short[] shorts = GetshortsFromValue(bytes);
+ return shorts;
+ }
+ }
+
+ internal class CodeDfn
+ {
+ public const string BlankSpace = " ";
+ public const string strEnter = "\r\n";
+ }
+
+ internal class PlcMath
+ {
+ #region S7协议数据处理(以字节为基础)
+
+ public static bool GetS7BoolBit(byte data, int index)
+ {
+ switch (index)
+ {
+ case 0: return (data & 0x01) > 0;
+ case 1: return (data & 0x02) > 0;
+ case 2: return (data & 0x04) > 0;
+ case 3: return (data & 0x08) > 0;
+ case 4: return (data & 0x10) > 0;
+ case 5: return (data & 0x20) > 0;
+ case 6: return (data & 0x40) > 0;
+ case 7: return (data & 0x80) > 0;
+ default: return false;
+ }
+ }
+
+ public static bool GetS7BoolData(byte[] byteData, int DataAddr, int startAddr, int index)
+ {
+ byte data = GetS7ByteData(byteData, DataAddr, startAddr);
+ return GetS7BoolBit(data, index);
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址
+ /// PLC读取起始地址
+ /// 返回整形数据或-1
+ public static byte GetS7ByteData(byte[] byteData, int DataAddr, int startAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return 0;
+ }
+ if (startAddr > DataAddr)
+ {
+ MessageBox.Show("错误:获取S7字节数据, 要读取的数据小于起始地址");
+ return 0;
+ }
+ if (byteData.Length < (DataAddr - startAddr))
+ {
+ MessageBox.Show("错误:获取S7字节数据, 要读取的偏移地址超出数组长度,偏移=" + (DataAddr - startAddr) + ", 数组长度=" + byteData.Length);
+ return 0;
+ }
+ else
+ {
+ int bit = DataAddr - startAddr;
+ return byteData[bit];
+ }
+ }
+ catch
+ {
+ //MessageBox.Show("Catch错误:" + ex.Message);
+ return 0;
+ }
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址
+ /// PLC读取起始地址
+ /// 返回整形数据或-1
+ public static byte GetS7ByteData(byte[] byteData, int DataAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return 0;
+ }
+ if (byteData.Length < byteData.Length)
+ {
+ MessageBox.Show("获取S7字节数据,地址超出数组长度!", "警告");
+ return 0;
+ }
+ return byteData[DataAddr];
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("Catch错误:获取S7字节数据" + ex.Message);
+ return 0;
+ }
+ }
+
+ public static int GetS7WordData(byte[] byteData, int DataAddr, int startAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ //if (startAddr > DataAddr)
+ //{
+ // //MessageBox.Show("错误:要读取的数据小于起始地址");
+ // return -1;
+ //}
+ //if (byteData.Length < (DataAddr - startAddr) * 2)
+ //{
+ // return -1;
+ //}
+ //else
+ {
+ int bitH = (DataAddr - startAddr) * 2;
+ int bitL = (DataAddr - startAddr) * 2 + 1;
+ return byteData[bitH] * 256 + byteData[bitL];
+ }
+ }
+ catch
+ {
+ //MessageBox.Show("Catch错误:" + ex.Message);
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取字符串(string)
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 读取的地址数量(单位16)
+ /// 数据正反序
+ /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
+ ///
+ public static string GetS7StringData(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true)
+ {
+ string Result = "";
+ try
+ {
+ if (byteData == null)
+ {
+ return Result;
+ }
+ if (startAddr > DataAddr + DataNum)
+ {
+ return Result;
+ }
+ if (byteData.Length < (DataAddr - startAddr))
+ {
+ return Result;
+ }
+ else
+ {
+ int startBit = (DataAddr - startAddr);
+ byte[] arrLength = new byte[DataNum];
+ for (int i = 0; i < DataNum; i++)
+ {
+ arrLength[i] = byteData[startBit + i];
+ }
+ if (!PositiveSequence)
+ {
+ arrLength = (byte[])arrLength.Reverse();
+ }
+ switch (strType)
+ {
+ case 2:
+ foreach (byte b in arrLength)
+ {
+ Result += ConvertBase.MyConvert.DtoB(b);
+ }
+ break;
+
+ case 10:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString();
+ }
+ break;
+
+ case 16:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString("X2");
+ }
+ break;
+
+ default:
+ foreach (byte b in arrLength)
+ {
+ if (b >= 32)
+ Result += Convert.ToChar(b).ToString();
+ }
+ break;
+ }
+ return Result.Trim();
+ }
+ }
+ catch
+ {
+ return Result;
+ }
+ }
+
+ ///
+ /// 获取单精度浮点数(float)数据
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 数据正反序
+ ///
+ public static float GetPlcSingleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ return -1;
+ }
+ if (byteData.Length < (DataAddr - startAddr))
+ {
+ return -1;
+ }
+ else
+ {
+ float Result = -1;
+ int startBit = (DataAddr - startAddr);
+
+ byte[] arrLength = new byte[4];
+ arrLength[0] = byteData[startBit + 0];
+ arrLength[1] = byteData[startBit + 1];
+ arrLength[2] = byteData[startBit + 2];
+ arrLength[3] = byteData[startBit + 3];
+
+ if (PositiveSequence)
+ {
+ Result = BitConverter.ToSingle(arrLength, 0);
+ }
+ else
+ {
+ Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
+ }
+ Result = Convert.ToSingle(Math.Round(Result, 3));
+ return Result;
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取双精度浮点数(double)数据
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 数据正反序
+ ///
+ public static double GetPlcDoubleS7(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ return -1;
+ }
+ if (byteData.Length < (DataAddr - startAddr))
+ {
+ return -1;
+ }
+ else
+ {
+ double Result = -1;
+ int startBit = (DataAddr - startAddr);
+
+ byte[] arrLength = new byte[8];
+ arrLength[0] = byteData[startBit + 0];
+ arrLength[1] = byteData[startBit + 1];
+ arrLength[2] = byteData[startBit + 2];
+ arrLength[3] = byteData[startBit + 3];
+ arrLength[4] = byteData[startBit + 4];
+ arrLength[5] = byteData[startBit + 5];
+ arrLength[6] = byteData[startBit + 6];
+ arrLength[7] = byteData[startBit + 7];
+ if (PositiveSequence)
+ {
+ Result = BitConverter.ToDouble(arrLength, 0);
+ }
+ else
+ {
+ Result = BitConverter.ToDouble(arrLength.Reverse().ToArray(), 0);
+ }
+ Result = Convert.ToDouble(Math.Round(Result, 3));
+ return Result;
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ #endregion
+
+ #region ModbusTCP/FinsTCP协议数据处理(以字为基础)
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址,从0开始
+ /// 返回整形数据或-1
+ public static int GetPlcData(byte[] byteData, int DataAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (byteData.Length < DataAddr * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ int bitH = DataAddr * 2;
+ int bitL = DataAddr * 2 + 1;
+ return byteData[bitH] * 256 + byteData[bitL];
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址
+ /// PLC读取起始地址
+ /// 返回整形数据或-1
+ public static byte GetPlcByteData(byte[] byteData, int DataAddr, int startAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return 0;
+ }
+ if (startAddr > DataAddr)
+ {
+ //MessageBox.Show("错误:要读取的数据小于起始地址");
+ return 0;
+ }
+ //if (byteData.Length < (DataAddr - startAddr) * 2)
+ if (byteData.Length < (DataAddr - startAddr))
+ {
+ return 0;
+ }
+ else
+ {
+ int bit = DataAddr - startAddr;
+ return byteData[bit];
+ }
+ }
+ catch
+ {
+ //MessageBox.Show("Catch错误:" + ex.Message);
+ return 0;
+ }
+ }
+
+ ///
+ /// 获取PLC读取地址数据(从起始地址偏移)
+ ///
+ /// 数据数组
+ /// PLC读取地址
+ /// PLC读取起始地址
+ /// 返回整形数据或-1
+ public static int GetPlcData(byte[] byteData, int DataAddr, int startAddr)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ //MessageBox.Show("错误:要读取的数据小于起始地址");
+ return -1;
+ }
+ if (byteData.Length < (DataAddr - startAddr) * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ int bitH = (DataAddr - startAddr) * 2;
+ int bitL = (DataAddr - startAddr) * 2 + 1;
+ return byteData[bitH] * 256 + byteData[bitL];
+ }
+ }
+ catch
+ {
+ //MessageBox.Show("Catch错误:" + ex.Message);
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取字节的某一位
+ ///
+ /// 从0开始
+ ///
+ public static bool GetPlcBit(int data, int index)
+ {
+ switch (index)
+ {
+ case 0:
+ return (data & 0x0001) > 0;
+
+ case 1:
+ return (data & 0x0002) > 0;
+
+ case 2:
+ return (data & 0x0004) > 0;
+
+ case 3:
+ return (data & 0x0008) > 0;
+
+ case 4:
+ return (data & 0x0010) > 0;
+
+ case 5:
+ return (data & 0x0020) > 0;
+
+ case 6:
+ return (data & 0x0040) > 0;
+
+ case 7:
+ return (data & 0x0080) > 0;
+
+ case 8:
+ return (data & 0x0100) > 0;
+
+ case 9:
+ return (data & 0x0200) > 0;
+
+ case 10:
+ return (data & 0x0400) > 0;
+
+ case 11:
+ return (data & 0x0800) > 0;
+
+ case 12:
+ return (data & 0x1000) > 0;
+
+ case 13:
+ return (data & 0x2000) > 0;
+
+ case 14:
+ return (data & 0x4000) > 0;
+
+ case 15:
+ return (data & 0x8000) > 0;
+
+ default:
+ return false;
+ }
+ }
+
+ public static bool GetPlcBitH2Low(int data, int index)
+ {
+ switch (index)
+ {
+ case 0:
+ return (data & 0x0100) > 0;
+
+ case 1:
+ return (data & 0x0200) > 0;
+
+ case 2:
+ return (data & 0x0400) > 0;
+
+ case 3:
+ return (data & 0x0800) > 0;
+
+ case 4:
+ return (data & 0x1000) > 0;
+
+ case 5:
+ return (data & 0x2000) > 0;
+
+ case 6:
+ return (data & 0x4000) > 0;
+
+ case 7:
+ return (data & 0x8000) > 0;
+
+ case 8:
+ return (data & 0x0001) > 0;
+
+ case 9:
+ return (data & 0x0002) > 0;
+
+ case 10:
+ return (data & 0x0004) > 0;
+
+ case 11:
+ return (data & 0x0008) > 0;
+
+ case 12:
+ return (data & 0x0010) > 0;
+
+ case 13:
+ return (data & 0x0020) > 0;
+
+ case 14:
+ return (data & 0x0040) > 0;
+
+ case 15:
+ return (data & 0x0080) > 0;
+
+ default:
+ return false;
+ }
+ }
+
+ ///
+ /// 获取字节的某一位
+ ///
+ /// 从0开始
+ ///
+ public static bool GetPlcBit(byte[] byteData, int DataAddr, int index, int startAddr)
+ {
+ int Value = GetPlcData(byteData, DataAddr, startAddr);
+ bool bResult = GetPlcBit(Value, index);
+ return bResult;
+ }
+
+ public static bool GetPlcBitH2Low(byte[] byteData, int DataAddr, int index, int startAddr)
+ {
+ int Value = GetPlcData(byteData, DataAddr, startAddr);
+ bool bResult = GetPlcBitH2Low(Value, index);
+ return bResult;
+ }
+
+ ///
+ /// 获取单精度浮点数(float)数据
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 数据正反序
+ ///
+ public static float GetPlcSingle(byte[] byteData, int DataAddr, int startAddr, bool PositiveSequence)
+ {
+ try
+ {
+ if (byteData == null)
+ {
+ return -1;
+ }
+ if (startAddr > DataAddr)
+ {
+ return -1;
+ }
+ if (byteData.Length < (DataAddr - startAddr) * 2)
+ {
+ return -1;
+ }
+ else
+ {
+ float Result = -1;
+ int startBit = (DataAddr - startAddr) * 2;
+
+ byte[] arrLength = new byte[4];
+ arrLength[0] = byteData[startBit + 0];
+ arrLength[1] = byteData[startBit + 1];
+ arrLength[2] = byteData[startBit + 2];
+ arrLength[3] = byteData[startBit + 3];
+
+ if (PositiveSequence)
+ {
+ Result = BitConverter.ToSingle(arrLength, 0);
+ }
+ else
+ {
+ Result = BitConverter.ToSingle(arrLength.Reverse().ToArray(), 0);
+ }
+ Result = Convert.ToSingle(Math.Round(Result, 3));
+ return Result;
+ }
+ }
+ catch
+ {
+ return -1;
+ }
+ }
+
+ ///
+ /// 获取字符串(string)
+ ///
+ /// PLC读取总数据
+ /// 获取数据的地址
+ /// PLC起始地址
+ /// 读取的地址数量(单位16)
+ /// 数据正反序
+ /// 转换为字符串类型,2=二进制,10=十进制,16=十六进制,其他=char字符串
+ ///
+ public static string GetPlcString(byte[] byteData, int DataAddr, int startAddr, int DataNum, int strType = 0, bool PositiveSequence = true)
+ {
+ string Result = "";
+ try
+ {
+ if (byteData == null)
+ {
+ return Result;
+ }
+ if (startAddr > DataAddr + DataNum)
+ {
+ return Result;
+ }
+ if (byteData.Length < (DataAddr - startAddr) * 2)
+ {
+ return Result;
+ }
+ else
+ {
+ int startBit = (DataAddr - startAddr) * 2;
+ byte[] arrLength = new byte[DataNum * 2];
+ for (int i = 0; i < DataNum * 2; i++)
+ {
+ arrLength[i] = byteData[startBit + i];
+ }
+ if (!PositiveSequence)
+ {
+ arrLength = (byte[])arrLength.Reverse();
+ }
+ switch (strType)
+ {
+ case 2:
+ foreach (byte b in arrLength)
+ {
+ Result += ConvertBase.MyConvert.DtoB(b);
+ }
+ break;
+
+ case 10:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString();
+ }
+ break;
+
+ case 16:
+ foreach (byte b in arrLength)
+ {
+ Result += b.ToString("X2");
+ }
+ break;
+
+ default:
+ foreach (byte b in arrLength)
+ {
+ if (b >= 32)
+ Result += Convert.ToChar(b).ToString();
+ }
+ break;
+ }
+ return Result.Trim();
+ }
+ }
+ catch
+ {
+ return Result;
+ }
+ }
+
+ #endregion
+ }
+
+ public static class StringChange
+ {
+ #region 数据类型转换函数
+
+ public static byte[] Swap16Bytes(byte[] OldU16)
+ {
+ byte[] ReturnBytes = new byte[2];
+ ReturnBytes[1] = OldU16[0];
+ ReturnBytes[0] = OldU16[1];
+ return ReturnBytes;
+ }
+
+ public static bool CompareBytes(byte[] byteA, byte[] byteB, int iLen)
+ {
+ for (int i = 0; i < iLen; i++)
+ {
+ if (byteA[i] != byteB[i])
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ ///
+ /// 16进制字符串转换成btye数组
+ ///
+ /// 16进制字符串
+ ///
+ public static byte[] HexStrTorbytes(string strHex)//e.g. " 01 01" ---> { 0x01, 0x01}
+ {
+ strHex = strHex.Replace(" ", "");
+ if ((strHex.Length % 2) != 0)
+ strHex += " ";
+ byte[] returnBytes = new byte[strHex.Length / 2];
+ for (int i = 0; i < returnBytes.Length; i++)
+ returnBytes[i] = Convert.ToByte(strHex.Substring(i * 2, 2), 16);
+ return returnBytes;
+ }
+
+ ///
+ /// 二进制字符串转换成16进制字符串
+ ///
+ /// 二进制字符串
+ /// 16进制字符串
+ public static string Binary2HexString(string strerjinzhi)
+ {
+ string str = "";
+ str = string.Format("{0:x}", Convert.ToInt32(strerjinzhi, 2));
+ return str;
+ }
+
+ ///
+ /// 西门子16进制字符串转换成2进制的二维数组
+ ///
+ /// 16进制字符串
+ /// 19:8的二维数组
+ public static string[,] HexString2BinString(string hexString)
+ {
+ string[,] strTestData = new string[19, 8];
+ for (int i = 0; i < hexString.Length / 2; i++)
+ {
+ string tempRes = string.Empty;
+ foreach (char c in hexString.Substring(i * 2, 2))
+ {
+ int v = Convert.ToInt32(c.ToString(), 16);
+ int v2 = int.Parse(Convert.ToString(v, 2));
+ // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
+ tempRes += string.Format("{0:d4}", v2);
+ }
+ int k = 0;
+ for (int j = tempRes.Length - 1; j >= 0; j--)
+ {
+ strTestData[i, k] = tempRes[j].ToString();
+ k++;
+ }
+ }
+
+ return strTestData;
+ }
+
+ ///
+ /// 海德汉16进制字符串转换成2进制的二维数组 例如: 0X42 传入十六进制字符串42 (0100 0010), 返回二维数组(0100 0010)
+ ///
+ /// 16进制字符串
+ /// 21:8的二维数组
+ public static string[,] HeidenhainHexString2BinString(string hexString)
+ {
+ string[,] strTestData = new string[23, 8];
+ for (int i = 0; i < hexString.Length / 2; i++)
+ {
+ string tempRes = string.Empty;
+ foreach (char c in hexString.Substring(i * 2, 2))
+ {
+ int v = Convert.ToInt32(c.ToString(), 16);
+ int v2 = int.Parse(Convert.ToString(v, 2));
+ // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
+ tempRes += string.Format("{0:d4}", v2);
+ }
+ int k = 0;
+ for (int j = tempRes.Length - 1; j >= 0; j--)
+ {
+ strTestData[i, k] = tempRes[j].ToString();
+ k++;
+ }
+ }
+
+ return strTestData;
+ }
+
+ ///
+ /// byte数组转换成字符串 带空格隔开
+ ///
+ /// byte数组
+ /// 长度
+ /// string
+ public static string bytesToHexStr(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 01 01"
+ {
+ string returnStr = "";
+ if (bytes != null)
+ {
+ for (int i = 0; i < iLen; i++)
+ {
+ returnStr += bytes[i].ToString("X2") + " ";
+ }
+ }
+ return returnStr;
+ }
+
+ ///
+ /// byte数组转换成字符串 不带空格
+ ///
+ /// byte数组
+ /// 长度
+ /// string
+ public static string bytesToHexStrWithoutSpace(byte[] bytes, int iLen)//e.g. { 0x01,0x01} ---> " 0101"
+ {
+ string returnStr = "";
+ if (bytes != null)
+ {
+ for (int i = 0; i < iLen; i++)
+ {
+ returnStr += bytes[i].ToString("X2");
+ }
+ }
+ return returnStr;
+ }
+
+ ///
+ /// 计算CRC
+ ///
+ /// byte数组
+ /// 长度
+ /// CRC校验和
+ public static byte CalculateCRC(byte[] pMessage, int iLength)
+ {
+ int i = 0;
+ byte iVerify = 0;
+ for (i = 0; i < iLength; i++)
+ {
+ iVerify = (byte)(iVerify + pMessage[i]);
+ }
+
+ return iVerify;
+ }
+
+ public static string StringToHexString(string s, Encoding encode)
+ {
+ byte[] b = encode.GetBytes(s); //按照指定编码将string编程字节数组
+ string result = string.Empty;
+ for (int i = 0; i < b.Length; i++) //逐字节变为16进制字符,以%隔开
+ {
+ result += "%" + Convert.ToString(b[i], 16);
+ }
+ return result;
+ }
+
+ public static string HexStringToString(string hs, Encoding encode)
+ {
+ //以%分割字符串,并去掉空字符
+ string[] chars = hs.Split(new char[] { '%' }, StringSplitOptions.RemoveEmptyEntries);
+ byte[] b = new byte[chars.Length];
+ //逐个字符变为16进制字节数据
+ for (int i = 0; i < chars.Length; i++)
+ {
+ b[i] = Convert.ToByte(chars[i], 16);
+ }
+ //按照指定编码将字节数组变为字符串
+ return encode.GetString(b);
+ }
+
+ public static short SwapInt16(this short n)
+ {
+ return (short)(((n & 0xff) << 8) | ((n >> 8) & 0xff));
+ }
+
+ public static ushort SwapUInt16(this ushort n)
+ {
+ return (ushort)(((n & 0xff) << 8) | ((n >> 8) & 0xff));
+ }
+
+ public static int SwapInt32(this int n)
+ {
+ return (int)(((SwapInt16((short)n) & 0xffff) << 0x10) |
+ (SwapInt16((short)(n >> 0x10)) & 0xffff));
+ }
+
+ public static uint SwapUInt32(this uint n)
+ {
+ return (uint)(((SwapUInt16((ushort)n) & 0xffff) << 0x10) |
+ (SwapUInt16((ushort)(n >> 0x10)) & 0xffff));
+ }
+
+ public static long SwapInt64(this long n)
+ {
+ return (long)(((SwapInt32((int)n) & 0xffffffffL) << 0x20) |
+ (SwapInt32((int)(n >> 0x20)) & 0xffffffffL));
+ }
+
+ public static ulong SwapUInt64(this ulong n)
+ {
+ return (ulong)(((SwapUInt32((uint)n) & 0xffffffffL) << 0x20) |
+ (SwapUInt32((uint)(n >> 0x20)) & 0xffffffffL));
+ }
+
+ #endregion
+ }
}
\ No newline at end of file
diff --git a/Analysis/BaseUnit/ImageDfn.cs b/Analysis/BaseUnit/ImageDfn.cs
deleted file mode 100644
index d07db14..0000000
--- a/Analysis/BaseUnit/ImageDfn.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Drawing;
-using NSAnalysis.Properties;
-
-namespace BaseFunction
-{
- public class ImageDfn
- {
- /// 程序图标
- //public static Image ImgSOK = Resources.accept16;
- //public static Image ImgSNG = Resources.delete16_2;
- //public static Image ImgNull = Resources.Null;
- //public static Image ImgNoData = Resources.NoData;
- //public static Image ImgRead = Resources.read16;
- //public static Image ImgTransparent = Resources.transparent;
- }
-}
\ No newline at end of file
diff --git a/Analysis/BaseUnit/NetworkCopy.cs b/Analysis/BaseUnit/NetworkCopy.cs
index e53093c..33217d2 100644
--- a/Analysis/BaseUnit/NetworkCopy.cs
+++ b/Analysis/BaseUnit/NetworkCopy.cs
@@ -1,275 +1,282 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Drawing;
using System.Runtime.InteropServices;
namespace BaseFunction
{
- public class SharedTool : IDisposable
- {
- // obtains user token
- [DllImport("advapi32.dll", SetLastError = true)]
- static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
+ public class SharedTool : IDisposable
+ {
+ // obtains user token
+ [DllImport("advapi32.dll", SetLastError = true)]
+ private static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
- // closes open handes returned by LogonUser
- [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
- extern static bool CloseHandle(IntPtr handle);
+ // closes open handes returned by LogonUser
+ [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
+ private static extern bool CloseHandle(IntPtr handle);
- [DllImport("Advapi32.DLL")]
- static extern bool ImpersonateLoggedOnUser(IntPtr hToken);
+ [DllImport("Advapi32.DLL")]
+ private static extern bool ImpersonateLoggedOnUser(IntPtr hToken);
- [DllImport("Advapi32.DLL")]
- static extern bool RevertToSelf();
- const int LOGON32_PROVIDER_DEFAULT = 0;
- const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域控中的需要用:Interactive = 2
- private bool disposed;
+ [DllImport("Advapi32.DLL")]
+ private static extern bool RevertToSelf();
- ///
- /// SharedTool函数
- ///
- /// 连接的电脑的IP
- /// 用户名
- /// 密码
- public SharedTool(string ip, string username, string password)
- {
- // initialize tokens
- IntPtr pExistingTokenHandle = new IntPtr(0);
- IntPtr pDuplicateTokenHandle = new IntPtr(0);
+ private const int LOGON32_PROVIDER_DEFAULT = 0;
+ private const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域控中的需要用:Interactive = 2
+ private bool disposed;
- try
- {
- // get handle to token
- bool bImpersonated = LogonUser(username, ip, password, LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle);
+ ///
+ /// SharedTool函数
+ ///
+ /// 连接的电脑的IP
+ /// 用户名
+ /// 密码
+ public SharedTool(string ip, string username, string password)
+ {
+ // initialize tokens
+ IntPtr pExistingTokenHandle = new IntPtr(0);
+ IntPtr pDuplicateTokenHandle = new IntPtr(0);
- if (bImpersonated)
- {
- if (!ImpersonateLoggedOnUser(pExistingTokenHandle))
- {
- int nErrorCode = Marshal.GetLastWin32Error();
- throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode);
- }
- }
- else
- {
- int nErrorCode = Marshal.GetLastWin32Error();
- throw new Exception("LogonUser error;Code=" + nErrorCode);
- }
- }
- finally
- {
- // close handle(s)
- if (pExistingTokenHandle != IntPtr.Zero)
- CloseHandle(pExistingTokenHandle);
- if (pDuplicateTokenHandle != IntPtr.Zero)
- CloseHandle(pDuplicateTokenHandle);
- }
- }
+ try
+ {
+ // get handle to token
+ bool bImpersonated = LogonUser(username, ip, password, LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle);
- protected virtual void Dispose(bool disposing)
- {
- if (!disposed)
- {
- RevertToSelf();
- disposed = true;
- }
- }
+ if (bImpersonated)
+ {
+ if (!ImpersonateLoggedOnUser(pExistingTokenHandle))
+ {
+ int nErrorCode = Marshal.GetLastWin32Error();
+ throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode);
+ }
+ }
+ else
+ {
+ int nErrorCode = Marshal.GetLastWin32Error();
+ throw new Exception("LogonUser error;Code=" + nErrorCode);
+ }
+ }
+ finally
+ {
+ // close handle(s)
+ if (pExistingTokenHandle != IntPtr.Zero)
+ CloseHandle(pExistingTokenHandle);
+ if (pDuplicateTokenHandle != IntPtr.Zero)
+ CloseHandle(pDuplicateTokenHandle);
+ }
+ }
- public void Dispose()
- {
- Dispose(true);
- }
- }
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!disposed)
+ {
+ RevertToSelf();
+ disposed = true;
+ }
+ }
- public class NetworkShareConnect
- {
- #region WNetUseConnection枚举参数
- //dwScope
- const int RESOURCE_CONNECTED = 0x00000001;
- const int RESOURCE_GLOBALNET = 0x00000002;
- const int RESOURCE_REMEMBERED = 0x00000003;
+ public void Dispose()
+ {
+ Dispose(true);
+ }
+ }
- //dwType
- const int RESOURCETYPE_ANY = 0x00000000;
- const int RESOURCETYPE_DISK = 0x00000001;
- const int RESOURCETYPE_PRINT = 0x00000002;
+ public class NetworkShareConnect
+ {
+ #region WNetUseConnection枚举参数
- //dwDisplayType
- const int RESOURCEDISPLAYTYPE_GENERIC = 0x00000000;
- const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001;
- const int RESOURCEDISPLAYTYPE_SERVER = 0x00000002;
- const int RESOURCEDISPLAYTYPE_SHARE = 0x00000003;
- const int RESOURCEDISPLAYTYPE_FILE = 0x00000004;
- const int RESOURCEDISPLAYTYPE_GROUP = 0x00000005;
+ //dwScope
+ private const int RESOURCE_CONNECTED = 0x00000001;
- //dwUsage
- const int RESOURCEUSAGE_CONNECTABLE = 0x00000001;
- const int RESOURCEUSAGE_CONTAINER = 0x00000002;
+ private const int RESOURCE_GLOBALNET = 0x00000002;
+ private const int RESOURCE_REMEMBERED = 0x00000003;
- //dwFlags
- const int CONNECT_INTERACTIVE = 0x00000008;
- const int CONNECT_PROMPT = 0x00000010;
- const int CONNECT_REDIRECT = 0x00000080;
- const int CONNECT_UPDATE_PROFILE = 0x00000001;
- const int CONNECT_COMMANDLINE = 0x00000800;
- const int CONNECT_CMD_SAVECRED = 0x00001000;
+ //dwType
+ private const int RESOURCETYPE_ANY = 0x00000000;
- const int CONNECT_LOCALDRIVE = 0x00000100;
- #endregion
+ private const int RESOURCETYPE_DISK = 0x00000001;
+ private const int RESOURCETYPE_PRINT = 0x00000002;
- #region Errors参数
- const int NO_ERROR = 0;
+ //dwDisplayType
+ private const int RESOURCEDISPLAYTYPE_GENERIC = 0x00000000;
- const int ERROR_ACCESS_DENIED = 5;
- const int ERROR_ALREADY_ASSIGNED = 85;
- const int ERROR_BAD_DEVICE = 1200;
- const int ERROR_BAD_NET_NAME = 67;
- const int ERROR_BAD_PROVIDER = 1204;
- const int ERROR_CANCELLED = 1223;
- const int ERROR_EXTENDED_ERROR = 1208;
- const int ERROR_INVALID_ADDRESS = 487;
- const int ERROR_INVALID_PARAMETER = 87;
- const int ERROR_INVALID_PASSWORD = 1216;
- const int ERROR_MORE_DATA = 234;
- const int ERROR_NO_MORE_ITEMS = 259;
- const int ERROR_NO_NET_OR_BAD_PATH = 1203;
- const int ERROR_NO_NETWORK = 1222;
+ private const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001;
+ private const int RESOURCEDISPLAYTYPE_SERVER = 0x00000002;
+ private const int RESOURCEDISPLAYTYPE_SHARE = 0x00000003;
+ private const int RESOURCEDISPLAYTYPE_FILE = 0x00000004;
+ private const int RESOURCEDISPLAYTYPE_GROUP = 0x00000005;
- const int ERROR_BAD_PROFILE = 1206;
- const int ERROR_CANNOT_OPEN_PROFILE = 1205;
- const int ERROR_DEVICE_IN_USE = 2404;
- const int ERROR_NOT_CONNECTED = 2250;
- const int ERROR_OPEN_FILES = 2401;
+ //dwUsage
+ private const int RESOURCEUSAGE_CONNECTABLE = 0x00000001;
- private struct ErrorClass
- {
- //定义错误类结构体
- public int num;
- public string message;
- public ErrorClass(int num, string message)
- {
- this.num = num;
- this.message = message;
- }
- }
+ private const int RESOURCEUSAGE_CONTAINER = 0x00000002;
+ //dwFlags
+ private const int CONNECT_INTERACTIVE = 0x00000008;
- //连接失败信息汇总
- private static ErrorClass[] ERROR_LIST = new ErrorClass[] {
- new ErrorClass(ERROR_ACCESS_DENIED, "Error: Access Denied"),
- new ErrorClass(ERROR_ALREADY_ASSIGNED, "Error: Already Assigned"),
- new ErrorClass(ERROR_BAD_DEVICE, "Error: Bad Device"),
- new ErrorClass(ERROR_BAD_NET_NAME, "Error: Bad Net Name"),
- new ErrorClass(ERROR_BAD_PROVIDER, "Error: Bad Provider"),
- new ErrorClass(ERROR_CANCELLED, "Error: Cancelled"),
- new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"),
- new ErrorClass(ERROR_INVALID_ADDRESS, "Error: Invalid Address"),
- new ErrorClass(ERROR_INVALID_PARAMETER, "Error: Invalid Parameter"),
- new ErrorClass(ERROR_INVALID_PASSWORD, "Error: Invalid Password"),
- new ErrorClass(ERROR_MORE_DATA, "Error: More Data"),
- new ErrorClass(ERROR_NO_MORE_ITEMS, "Error: No More Items"),
- new ErrorClass(ERROR_NO_NET_OR_BAD_PATH, "Error: No Net Or Bad Path"),
- new ErrorClass(ERROR_NO_NETWORK, "Error: No Network"),
- new ErrorClass(ERROR_BAD_PROFILE, "Error: Bad Profile"),
- new ErrorClass(ERROR_CANNOT_OPEN_PROFILE, "Error: Cannot Open Profile"),
- new ErrorClass(ERROR_DEVICE_IN_USE, "Error: Device In Use"),
- new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"),
- new ErrorClass(ERROR_NOT_CONNECTED, "Error: Not Connected"),
- new ErrorClass(ERROR_OPEN_FILES, "Error: Open Files"),
- };
+ private const int CONNECT_PROMPT = 0x00000010;
+ private const int CONNECT_REDIRECT = 0x00000080;
+ private const int CONNECT_UPDATE_PROFILE = 0x00000001;
+ private const int CONNECT_COMMANDLINE = 0x00000800;
+ private const int CONNECT_CMD_SAVECRED = 0x00001000;
- private static string getErrorForNumber(int errNum)
- {
- //遍历获得错误代码
- foreach (ErrorClass er in ERROR_LIST)
- {
- if (er.num == errNum) return er.message;
- }
- return "Error: Unknown, " + errNum;
- }
- #endregion
+ private const int CONNECT_LOCALDRIVE = 0x00000100;
- //调用系统函数WNetUseConnection
- //用于连接共享
- [DllImport("Mpr.dll")]
- private static extern int WNetUseConnection(
- IntPtr hwndOwner,
- NETRESOURCE lpNetResource,
- string lpPassword,
- string lpUserID,
- int dwFlags,
- string lpAccessName,
- string lpBufferSize,
- string lpResult
- );
- //用于删除连接
- [DllImport("Mpr.dll")]
- private static extern int WNetCancelConnection2(
- string lpName,
- int dwFlags,
- bool fForce
- );
+ #endregion WNetUseConnection枚举参数
- [StructLayout(LayoutKind.Sequential)]
- private class NETRESOURCE
- {
- public int dwScope = 0;
- public int dwType = 0;
- public int dwDisplayType = 0;
- public int dwUsage = 0;
- public string lpLocalName = "";//映射到本地的盘符,如"Z:"。不做驱动器映射,可为空
- public string lpRemoteName = "";//共享的网络路径
- public string lpComment = "";
- public string lpProvider = "";
- }
+ #region Errors参数
- ///
- /// 连接共享
- ///
- /// 共享网络路径
- /// 登录用户名
- /// 密码
- ///
- public static string connectToShare(string remoteUNC, string username, string password)
- {
- return connectToRemote(remoteUNC, username, password, false);
- }
+ private const int NO_ERROR = 0;
- ///
- /// 没用户密码连接
- ///
- /// 共享网络路径
- ///
- public static string connectToShare(string remoteUNC)
- {
- return connectToRemote(remoteUNC, "", "", true);
- }
+ private const int ERROR_ACCESS_DENIED = 5;
+ private const int ERROR_ALREADY_ASSIGNED = 85;
+ private const int ERROR_BAD_DEVICE = 1200;
+ private const int ERROR_BAD_NET_NAME = 67;
+ private const int ERROR_BAD_PROVIDER = 1204;
+ private const int ERROR_CANCELLED = 1223;
+ private const int ERROR_EXTENDED_ERROR = 1208;
+ private const int ERROR_INVALID_ADDRESS = 487;
+ private const int ERROR_INVALID_PARAMETER = 87;
+ private const int ERROR_INVALID_PASSWORD = 1216;
+ private const int ERROR_MORE_DATA = 234;
+ private const int ERROR_NO_MORE_ITEMS = 259;
+ private const int ERROR_NO_NET_OR_BAD_PATH = 1203;
+ private const int ERROR_NO_NETWORK = 1222;
- private static string connectToRemote(string remoteUNC, string username, string password, bool promptUser)
- {
- NETRESOURCE nr = new NETRESOURCE
- {
- dwType = RESOURCETYPE_DISK,
- lpRemoteName = remoteUNC
- };
+ private const int ERROR_BAD_PROFILE = 1206;
+ private const int ERROR_CANNOT_OPEN_PROFILE = 1205;
+ private const int ERROR_DEVICE_IN_USE = 2404;
+ private const int ERROR_NOT_CONNECTED = 2250;
+ private const int ERROR_OPEN_FILES = 2401;
- int ret;
- if (promptUser)
- ret = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null);
- else
- ret = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null);
+ private struct ErrorClass
+ {
+ //定义错误类结构体
+ public int num;
- if (ret == NO_ERROR) return null;
- return getErrorForNumber(ret);
- }
+ public string message;
- public static string disconnectRemote(string remoteUNC)
- {
- int ret = WNetCancelConnection2(remoteUNC, CONNECT_UPDATE_PROFILE, false);
- if (ret == NO_ERROR) return null;
- return getErrorForNumber(ret);
- }
- }
+ public ErrorClass(int num, string message)
+ {
+ this.num = num;
+ this.message = message;
+ }
+ }
-}
+ //连接失败信息汇总
+ private static ErrorClass[] ERROR_LIST = new ErrorClass[] {
+ new ErrorClass(ERROR_ACCESS_DENIED, "Error: Access Denied"),
+ new ErrorClass(ERROR_ALREADY_ASSIGNED, "Error: Already Assigned"),
+ new ErrorClass(ERROR_BAD_DEVICE, "Error: Bad Device"),
+ new ErrorClass(ERROR_BAD_NET_NAME, "Error: Bad Net Name"),
+ new ErrorClass(ERROR_BAD_PROVIDER, "Error: Bad Provider"),
+ new ErrorClass(ERROR_CANCELLED, "Error: Cancelled"),
+ new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"),
+ new ErrorClass(ERROR_INVALID_ADDRESS, "Error: Invalid Address"),
+ new ErrorClass(ERROR_INVALID_PARAMETER, "Error: Invalid Parameter"),
+ new ErrorClass(ERROR_INVALID_PASSWORD, "Error: Invalid Password"),
+ new ErrorClass(ERROR_MORE_DATA, "Error: More Data"),
+ new ErrorClass(ERROR_NO_MORE_ITEMS, "Error: No More Items"),
+ new ErrorClass(ERROR_NO_NET_OR_BAD_PATH, "Error: No Net Or Bad Path"),
+ new ErrorClass(ERROR_NO_NETWORK, "Error: No Network"),
+ new ErrorClass(ERROR_BAD_PROFILE, "Error: Bad Profile"),
+ new ErrorClass(ERROR_CANNOT_OPEN_PROFILE, "Error: Cannot Open Profile"),
+ new ErrorClass(ERROR_DEVICE_IN_USE, "Error: Device In Use"),
+ new ErrorClass(ERROR_EXTENDED_ERROR, "Error: Extended Error"),
+ new ErrorClass(ERROR_NOT_CONNECTED, "Error: Not Connected"),
+ new ErrorClass(ERROR_OPEN_FILES, "Error: Open Files"),
+ };
+
+ private static string getErrorForNumber(int errNum)
+ {
+ //遍历获得错误代码
+ foreach (ErrorClass er in ERROR_LIST)
+ {
+ if (er.num == errNum) return er.message;
+ }
+ return "Error: Unknown, " + errNum;
+ }
+
+ #endregion Errors参数
+
+ //调用系统函数WNetUseConnection
+ //用于连接共享
+ [DllImport("Mpr.dll")]
+ private static extern int WNetUseConnection(
+ IntPtr hwndOwner,
+ NETRESOURCE lpNetResource,
+ string lpPassword,
+ string lpUserID,
+ int dwFlags,
+ string lpAccessName,
+ string lpBufferSize,
+ string lpResult
+ );
+
+ //用于删除连接
+ [DllImport("Mpr.dll")]
+ private static extern int WNetCancelConnection2(
+ string lpName,
+ int dwFlags,
+ bool fForce
+ );
+
+ [StructLayout(LayoutKind.Sequential)]
+ private class NETRESOURCE
+ {
+ public int dwScope = 0;
+ public int dwType = 0;
+ public int dwDisplayType = 0;
+ public int dwUsage = 0;
+ public string lpLocalName = "";//映射到本地的盘符,如"Z:"。不做驱动器映射,可为空
+ public string lpRemoteName = "";//共享的网络路径
+ public string lpComment = "";
+ public string lpProvider = "";
+ }
+
+ ///
+ /// 连接共享
+ ///
+ /// 共享网络路径
+ /// 登录用户名
+ /// 密码
+ ///
+ public static string connectToShare(string remoteUNC, string username, string password)
+ {
+ return connectToRemote(remoteUNC, username, password, false);
+ }
+
+ ///
+ /// 没用户密码连接
+ ///
+ /// 共享网络路径
+ ///
+ public static string connectToShare(string remoteUNC)
+ {
+ return connectToRemote(remoteUNC, "", "", true);
+ }
+
+ private static string connectToRemote(string remoteUNC, string username, string password, bool promptUser)
+ {
+ NETRESOURCE nr = new NETRESOURCE
+ {
+ dwType = RESOURCETYPE_DISK,
+ lpRemoteName = remoteUNC
+ };
+
+ int ret;
+ if (promptUser)
+ ret = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null);
+ else
+ ret = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null);
+
+ if (ret == NO_ERROR) return null;
+ return getErrorForNumber(ret);
+ }
+
+ public static string disconnectRemote(string remoteUNC)
+ {
+ int ret = WNetCancelConnection2(remoteUNC, CONNECT_UPDATE_PROFILE, false);
+ if (ret == NO_ERROR) return null;
+ return getErrorForNumber(ret);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Analysis/BaseUnit/PlcObject.cs b/Analysis/BaseUnit/PlcObject.cs
deleted file mode 100644
index bd8eb2b..0000000
--- a/Analysis/BaseUnit/PlcObject.cs
+++ /dev/null
@@ -1,1002 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using BaseFunction;
-using HslCommunication.Profinet.Siemens;
-using System.Drawing;
-using PLCModule;
-namespace NSAnalysis
-{
- class PlcObject
- {
- public static PlcAddrSetup m_FormPlcAddr = new PlcAddrSetup(3, ConfigDfn.strConfigFile);
- //=================
- #region 外部操作指令
-
- ///
- ///
- ///
- ///
- /// 1:Modebus TCP;2:FINS TCP;3:S7
- ///
- public static object GetAddr_W(string strName)
- {
- if (ConfigPlc.PlcType == 1 || ConfigPlc.PlcType == 2)
- {
- if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName];
- int Result = GetIntFromString(Value[1]);
- if (Result == -1)
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]);
- return Result;
- }
- else if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- int Result = GetIntFromString(Value[1]);
- if (Result == -1)
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]);
- return Result;
- }
- else
- Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName);
- return -1;
- }
- else if (ConfigPlc.PlcType == 3)
- {
- if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName];
- string Result = Value[1];
- if (!string.IsNullOrEmpty(Value[2]))
- {
- Result += "." + Value[2];
- }
- if (string.IsNullOrEmpty(Result))
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Result);
- return Result;
- }
- else if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- string Result = Value[1];
- if (string.IsNullOrEmpty(Result))
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]);
- return Result;
- }
- else
- Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName);
- return "";
- }
- else
- {
- return "";
- }
- }
-
- public static int GetIndexLength_W(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName];
- int Result = GetIntFromString(Value[2]);
- if (Result == -1)
- Console.WriteLine("获取PLC写地址Index或长度出错:名字=" + strName + ", 地址=" + Value[1]);
- return Result;
- }
- else
- Console.WriteLine("获取PLC写地址:变量名不存在:" + strName);
- return -1;
- }
-
- public static int GetAddr_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- int Result = GetIntFromString(Value[1]);
- if (Result == -1)
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]);
- return Result;
- }
- else if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName];
- int Result = GetIntFromString(Value[1]);
- if (Result == -1)
- Console.WriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[2]);
- return Result;
- }
- else
- Console.WriteLine("获取PLC地址失败:变量名不存在:" + strName);
- return -1;
- }
-
- public static int GetIndexLength_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- int IndLength = GetIntFromString(Value[2]);
- if (IndLength == -1)
- Console.WriteLine("获取PLC读地址Index或长度出错:名字=" + strName + ", 地址=" + Value[1]);
- }
- else
- Console.WriteLine("获取PLC读地址:变量名不存在:" + strName);
- return -1;
- }
- #endregion
- //=============================================================================================================
- static int GetIntFromString(string strInput)
- {
- if (strInput.Length > 0)
- {
- try
- {
- int temp = Convert.ToInt32(strInput, 10);
- return temp;
- }
- catch
- {
- return -1;
- }
- }
- return -1;
- }
-
- public static byte[] GetPlcReadDatas()
- {
- switch (ConfigPlc.PlcType)
- {
- case 1: return HslModbusTcpObj.ReadDataBytes;
- case 3: return HslSiemensS7Obj.ReadDataBytes;
- default: return null;
- }
- }
-
- public static int GetData_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.Bool)
- {
- int addr = GetIntFromString(Value[1]);
- int index = GetIntFromString(Value[2]);
- if (addr >= 0 && index >= 0)
- {
- //bool bResult = PlcMath.GetPlcBitH2Low(GetPlcReadDatas(), addr, index, PlcAddrSetup.StartAddr);
- bool bResult = PlcMath.GetPlcBit(GetPlcReadDatas(), addr, index, PlcAddrSetup.StartAddr);
- if (bResult)
- return 1;
- else
- return 0;
- }
- }
- else if (Value[0] == SignalTypeDfn.Word)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr);
- return Result;
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == -1)
- MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return -1;
- }
-
- public static string GetString_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.String)
- {
- int addr = GetIntFromString(Value[1]);
- int Length = GetIntFromString(Value[2]);
- if (addr >= 0 && Length >= 0)
- {
- string Result = PlcMath.GetPlcString(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr, Length);
- Result = Result.Replace('\0', ' ');
- return Result;
- }
- }
- else if (Value[0] == SignalTypeDfn.Word)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr);
- return Result.ToString();
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == -1)
- MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return "";
- }
-
-
-
- //=============================================================================================================
- #region ModbusTCP协议写入操作
- public static bool PlcWriteInt(object Addr, int data)
- {
- try
- {
- if ((int)Addr >= 0)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.bConnected)
- {
- bool bResult = HslModbusTcpObj.WriteShort(((int)Addr).ToString(), (short)data);
- if (bResult == false)
- {
- MyBase.TraceWriteLine("写入PLC失败:地址为" + ((int)Addr).ToString() + " ;值为:" + data.ToString());
- }
- return bResult;
- }
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(object StartAddr, string Value, bool PositiveSequence = true)
- {
- try
- {
- if ((ushort)StartAddr > 0)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.bConnected)
- {
- return HslModbusTcpObj.WriteString(((ushort)StartAddr).ToString(), Value);
- }
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(object StartAddr, string Value, int length, bool PositiveSequence = true)
- {
- try
- {
- if ((ushort)StartAddr > 0)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.bConnected)
- {
- return HslModbusTcpObj.WriteString(((ushort)StartAddr).ToString(), Value, length);
- }
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(object StartAddr, float Value, bool PositiveSequence = true)
- {
- try
- {
- PositiveSequence = ConfigPlc.bPositiveAequence;
-
- if ((int)StartAddr > 0)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.bConnected)
- {
- return HslModbusTcpObj.WriteFloat(StartAddr.ToString(), Value);
- }
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(object StartAddr, double Value, bool PositiveSequence = true)
- {
- try
- {
- PositiveSequence = ConfigPlc.bPositiveAequence;
-
- if ((ushort)StartAddr > 0)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.bConnected)
- {
- return HslModbusTcpObj.WriteDouble(StartAddr.ToString(), Value);
- }
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:StartAddr=" + StartAddr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(string StartAddrName, string Value, bool PositiveSequence = true)
- {
- try
- {
- object Addr = GetAddr_W(StartAddrName);
- return WritePlcValue(Addr, Value, PositiveSequence);
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(string StartAddrName, float Value, bool PositiveSequence = true)
- {
- try
- {
- object Addr = GetAddr_W(StartAddrName);
- return WritePlcValue(Addr, Value, ConfigPlc.bPositiveAequence);
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool WritePlcValue(string StartAddrName, double Value, bool PositiveSequence = true)
- {
- try
- {
- object Addr = GetAddr_W(StartAddrName);
- return WritePlcValue(Addr, Value, PositiveSequence);
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
- #endregion
-
-
- //=============================================================================================================
- #region S7协议读取操作
- public static int GetS7Data_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.Bool)
- {
- string address = Value[1];
- bool result = false;
- if (HslSiemensS7Obj.ReadBool(address, out result))
- {
- return result ? 1 : 0;
- }
- else
- {
- MyBase.TraceWriteLine("读PLC读地址" + address + "失败!");
- return -1;
- }
- }
- else if (Value[0] == SignalTypeDfn.Word)
- {
- string address = Value[1];
- short result = 0;
- if (HslSiemensS7Obj.ReadShort(address, out result))
- {
- return result;
- }
- else
- {
- MyBase.TraceWriteLine("读PLC读地址" + address + "失败!");
- return -1;
- }
- }
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return -1;
- }
-
- public static string GetS7String_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.String)
- {
- string addr = Value[1];
- ushort Length = (ushort)GetIntFromString(Value[2]);
- if (!string.IsNullOrEmpty(addr) && Length >= 0)
- {
- string Result = "";
- if (HslSiemensS7Obj.ReadString(addr, Length, out Result))
- {
- Result = Result.Replace('\0', ' ');
- return Result;
- }
- else
- {
- MyBase.TraceWriteLine("读PLC读地址" + addr + "失败!");
- return "";
- }
- }
- }
- else if (Value[0] == SignalTypeDfn.Word)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr);
- return Result.ToString();
- }
- }
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return "";
- }
-
- public static byte GetS7ByteData(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.Bool)
- {
- int addr = GetIntFromString(Value[1]);
- int index = GetIntFromString(Value[2]);
- if (addr >= 0 && index >= 0)
- {
- bool bResult = PlcMath.GetS7BoolData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), index);
- if (bResult)
- return 1;
- else
- return 0;
- }
- }
- else if (Value[0] == SignalTypeDfn.Byte)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- byte Result = PlcMath.GetS7ByteData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr));
- return Result;
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == 0)
- MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return 0;
- }
-
- public static string GetS7StringData(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.String)
- {
- int addr = GetIntFromString(Value[1]);
- int Length = GetIntFromString(Value[2]);
- if (addr >= 0 && Length >= 0)
- {
- string Result = PlcMath.GetS7StringData(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), Length);
- Result = Result.Replace('\0', ' ');
- return Result;
- }
- }
- else if (Value[0] == SignalTypeDfn.Word)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- int Result = PlcMath.GetPlcData(GetPlcReadDatas(), addr, PlcAddrSetup.StartAddr);
- return Result.ToString();
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == -1)
- MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return "";
- }
-
- public static float GetS7Float_R(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.Single)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- float Result = PlcMath.GetPlcSingleS7(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), false);
- return Result;
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == -1)
- MyBase.TraceWriteLine("获取PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- return -1;
- }
- else
- MyBase.TraceWriteLine("获取PLC读地址:变量名不存在:" + strName);
- return -1;
- }
- public static double GetS7Double(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Read.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Read[strName];
- if (Value[0] == SignalTypeDfn.Double)
- {
- int addr = GetIntFromString(Value[1]);
- if (addr >= 0)
- {
- double Result = PlcMath.GetPlcDoubleS7(GetPlcReadDatas(), addr, int.Parse(PlcAddrSetup.S7ReadOffsetAddr), false);
- return Result;
- }
- }
- int m_Addr = GetIntFromString(Value[1]);
- if (m_Addr == -1)
- MyBase.TraceWriteLine("获取Double 类型 PLC读地址出错:名字=" + strName + ", 地址=" + Value[1]);
- return -1;
- }
- else
- MyBase.TraceWriteLine("获取Double 类型 PLC读地址:变量名不存在:" + strName);
- return -1;
- }
- #endregion
-
-
- //=============================================================================================================
- #region S7协议写入操作
- public static bool S7WriteBool(string Addr, bool data)
- {
-
- try
- {
- if (ConfigPlc.PlcType == 3)
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteBool(Addr, data);
- }
- }
- else
- {
-
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WriteByte(string Addr, byte data)
- {
- try
- {
- if (ConfigPlc.PlcType == 3)
- {
- if (HslSiemensS7Obj.bConnected)
- {
- bool bWResult= HslSiemensS7Obj.WriteByte(Addr.ToString(), (byte)data);
- if (bWResult == false)
- {
- MyBase.TraceWriteLine("写入PLC失败:地址为:" + Addr + "; 值为:" + data.ToString());
- }
- return bWResult;
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:地址=" + Addr + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WriteInt(string StartAddrName, float Value, bool PositiveSequence = true)
- {
- try
- {
- if (!string.IsNullOrEmpty((string)StartAddrName))
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteShort((string)StartAddrName, (short)Value);
- }
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WritePlcValue(string StartAddrName, float Value, bool PositiveSequence = true)
- {
- try
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteFloat(StartAddrName, Value);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WritePlcValue(string StartAddrName, double Value, bool PositiveSequence = true)
- {
- try
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteDouble(StartAddrName, Value);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WritePlcValue(string StartAddrName, string Value, bool PositiveSequence = true)
- {
- try
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteString(StartAddrName, Value);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool S7WritePlcValue(string StartAddrName, string Value, int length, bool PositiveSequence = true)
- {
- try
- {
- if (HslSiemensS7Obj.bConnected)
- {
- return HslSiemensS7Obj.WriteString(StartAddrName, Value, length);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("写PLC参数出错:SignalName=" + StartAddrName + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
- #endregion
-
- //=============================================================================================================
- public static bool PlcReadBuffer(int StartAddr, int Length)
- {
- try
- {
- if (ConfigPlc.PlcType == 1)
- {
- HslModbusTcpObj.ReadDatas(StartAddr.ToString(), (ushort)Length);
- }
- else if (ConfigPlc.PlcType == 3)
- {
- HslSiemensS7Obj.ReadDatas(StartAddr.ToString(), (ushort)Length);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("读PLC数据出错:StartAddr=" + PlcAddrSetup.StartAddr + ",长度=" + PlcAddrSetup.Length + "\r\n ex=" + ex.ToString());
- }
- return false;
- }
-
- public static bool IsPlcConnected()
- {
- if (ConfigPlc.PlcType == 1)
- {
- return HslModbusTcpObj.GetConnectStatus();
- }
- else if (ConfigPlc.PlcType == 3)
- {
- return HslSiemensS7Obj.GetConnectStatus();
- }
- else
- {
- return false;
- }
- }
-
- public static bool ConnectPlc(bool bShowTip = true)
- {
- if (ConfigPlc.PlcType == 1)
- {
- if (HslModbusTcpObj.ConnectPlc(ConfigPlc.strIP, Convert.ToUInt16(ConfigPlc.strPort), ConfigPlc.strMac, bShowTip))
- {
- MyBase.TraceWriteLine("PLC Modbus TCP连接成功。");
- return true;
- }
- else
- {
- MyBase.TraceWriteLine("PLC Modbus TCP 连接失败");
- }
- }
- else if (ConfigPlc.PlcType == 3)
- {
- if (HslSiemensS7Obj.ConnectPlc(SiemensPLCS.S1200, ConfigPlc.strIP))
- {
- MyBase.TraceWriteLine("PLC S7连接成功。");
- return true;
- }
- else
- {
- MyBase.TraceWriteLine("PLC S7连接失败。");
- }
- }
- else
- {
- MyBase.TraceWriteLine("PLC Type is not existed! Type=" + ConfigPlc.PlcType.ToString());
- }
- return false;
- }
-
- public static void ClosePlc()
- {
- if (ConfigPlc.PlcType == 1)
- {
- HslModbusTcpObj.ClosePlc();
- }
- else if (ConfigPlc.PlcType == 3)
- {
- HslSiemensS7Obj.ClosePlc();
- }
- }
-
- //=============================================================================================================
- public static void InsertWriteQueue(string strAddrName, object Value)
- {
- PlcWriteObj m_DataObj = new PlcWriteObj();
- m_DataObj.WriteAddr = GetAddr_W(strAddrName);
- m_DataObj.WriteValue = Value;
- PlcWriteManager.Instance.InsertQueue(m_DataObj);
- }
- public static void InsertWriteQueue(string strAddrName, object Value, int iLength)
- {
- PlcWriteObj m_DataObj = new PlcWriteObj();
- m_DataObj.WriteAddr = GetAddr_W(strAddrName);
- m_DataObj.WriteValue = Value;
- m_DataObj.WriteLength = iLength;
- PlcWriteManager.Instance.InsertQueue(m_DataObj);
- }
- public static int GetWriteStringLength(string strName)
- {
- if (m_FormPlcAddr.DictPlcAddr_Write.ContainsKey(strName))
- {
- string[] Value = m_FormPlcAddr.DictPlcAddr_Write[strName];
- if (Value[0] == SignalTypeDfn.String)
- {
- int addr = GetIntFromString(Value[1]);
- int Length = GetIntFromString(Value[2]);
- if (addr >= 0 && Length >= 0)
- {
- return Length;
- }
- else
- {
- return -1;
- }
- }
- else
- {
- return -2;
- }
- }
- else
- {
- return -3;
- }
- }
-
- public static void InsertWriteQueue(object Addr, object Value)
- {
- PlcWriteObj m_DataObj = new PlcWriteObj();
- m_DataObj.WriteAddr = Addr;
- m_DataObj.WriteValue = Value;
- PlcWriteManager.Instance.InsertQueue(m_DataObj);
- }
-
- public static void WriteIntoPLC()
- {
- try
- {
- if (PlcWriteManager.Instance.isExitData())
- {
- if (IsPlcConnected())
- {
- PlcWriteObj m_Data = PlcWriteManager.Instance.OutQueue();
-
- if (ConfigPlc.PlcType == 1 || ConfigPlc.PlcType == 2)
- {
- if (m_Data != null)
- {
- string strType = m_Data.WriteValue.GetType().Name;
- string strValue = m_Data.WriteValue.ToString();
- switch (strType.ToLower())
- {
- case "byte":
- case "int":
- case "int32":
- case "int16":
- case "uint":
- case "uint16":
- case "uint32":
- PlcWriteInt((int)m_Data.WriteAddr, Int32.Parse(strValue)); break;
- case "float":
- WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), (float)m_Data.WriteValue); break;
- case "double":
- WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), (double)m_Data.WriteValue); break;
- case "string":
- int iLen = m_Data.WriteLength;
- WritePlcValue(Convert.ToUInt16(m_Data.WriteAddr), m_Data.WriteValue.ToString(), iLen);
- break;
- default:
- break;
- }
- if ((int)m_Data.WriteAddr < 0)
- {
- System.Windows.Forms.MessageBox.Show("PLC地址格式错误,地址小于0");
- }
- }
- }
- if (ConfigPlc.PlcType == 3)
- {
- if (m_Data != null)
- {
- string strType = m_Data.WriteValue.GetType().Name;
- string strValue = m_Data.WriteValue.ToString();
- string strWriteAddr = PLCModule.PlcAddrSetup.GetS7WriteAddr((string)(m_Data.WriteAddr));
- switch (strType.ToLower())
- {
- case "bool":
- case "boolean":
- S7WriteBool(strWriteAddr, bool.Parse(strValue)); break;
- case "byte":
- S7WriteByte(strWriteAddr, byte.Parse(strValue)); break;
- case "int":
- case "int16":
- case "uint":
- case "uint16":
- case "int32":
- case "uint32":
- S7WriteInt(strWriteAddr, Int32.Parse(strValue)); break;
- case "single":
- case "float":
- S7WritePlcValue(strWriteAddr, (float)m_Data.WriteValue); break;
- case "double":
- S7WritePlcValue(strWriteAddr, (double)m_Data.WriteValue); break;
- case "string":
- int iLen = m_Data.WriteLength;
- S7WritePlcValue(strWriteAddr, (string)m_Data.WriteValue, iLen); break;
- default:
- break;
- }
- if (string.IsNullOrEmpty(strWriteAddr))
- {
- System.Windows.Forms.MessageBox.Show("PLC地址格式错误,地址小于0");
- }
- }
- }
- }
- System.Threading.Thread.Sleep(5);
- }
- else
- {
- System.Threading.Thread.Sleep(100);
- }
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine(ex.ToString());
- }
- }
-
- static System.Threading.Thread m_ThreadWritePLC = null;
- public static bool bStartPlcThread = false;
- public static void InitWritePlcThread()
- {
- bStartPlcThread = true;
- m_ThreadWritePLC = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadWritePLC));
- if (!m_ThreadWritePLC.IsAlive)
- {
- m_ThreadWritePLC.IsBackground = true;
- m_ThreadWritePLC.Start();
- MyBase.TraceWriteLine("启动PLC写线程!");
- }
- }
-
- static void ThreadWritePLC()
- {
- while (bStartPlcThread)
- {
- WriteIntoPLC();
- }
- }
-
- public static bool bWritePlcThreadStatus
- {
- get
- {
- return m_ThreadWritePLC.IsAlive && bStartPlcThread;
- }
- }
- }
-
- class SignalTypeDfn
- {
- public const string Bool = "bool";
- public const string Byte = "byte";
- public const string Word = "word";
- public const string DWord = "dword";
- public const string Single = "single";
- public const string String = "string";
- public const string Double = "double";
- }
-}
diff --git a/Analysis/BaseUnit/PlcSignalDfn.cs b/Analysis/BaseUnit/PlcSignalDfn.cs
deleted file mode 100644
index cecce79..0000000
--- a/Analysis/BaseUnit/PlcSignalDfn.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using BaseFunction;
-
-namespace NSAnalysis
-{
- internal class PlcSignalDfn
- {
- //=========================Write to PLC =================================
- public const string SoftLive = "SoftLive"; //10;
-
- public const string CMMStatus = "CMMStatus"; //50; //10空闲,20忙碌
- public const string CmmError = "CmmError"; //52; //10报警, 0清除
- public const string CMMResult = "CMMResult"; //56; //10=OK, 20=NG
- public const string CMMResultClear = "CMMResultClear"; //56; //10=OK, 20=NG
- public const string CMMForceUnload = "CMMForceUnload"; //
- public const string CMMResultKField = "CMMResultKField"; //57; //10=OK, 20=NG
-
- public const string CMMResultBits = "CMMResultBits"; //56; //10=OK, 20=NG
- public const string CMMResultDatas = "CMMResultDatas"; //58;
-
- public const string Year = "Year"; //91
- public const string Mouth = "Mouth"; //92
- public const string Day = "Day"; //93
- public const string Hour = "Hour"; //94
- public const string Minute = "Minute"; //95
- public const string Second = "Second"; //96
- public const string Week = "Week"; //97
-
- public const string CoordX = "CoordX"; //11-12 //坐标float,4字节,32位
- public const string CoordY = "CoordY"; //13-14
- public const string CoordZ = "CoordZ"; //15-16
-
- public const string WCarType = "WCarType";
- public const string WCarColor = "WCarColor";
- public const string UnloadTray = "UnloadTray";
- public const string CancelUnloadTray = "CancelUnloadTray";
- public const string RFIDResult = "RFIDResult";
- public const string daoguienter = "daoguienter";
- public const string MeasureError = "MeasureError"; //10 :报警
-
- //========================Read PLC Address==================================
- public const string StartAddr = "StartAddr"; //100;
-
- public const string PlcLive = "PlcLive"; //110;
- public const string StartCmd = "StartCmd"; //131;
- public const string CmmHome = "CmmHome"; //132;
- public const string CmmPartOk = "CmmPartOk"; //133;
- public const string PlcMode = "PlcMode"; //151;
- public const string PlcAutoRunning = "PlcAutoRunning";
-
- public const string PartID = "PartID";
- public const string MachineID = "MachineID";
- public const string ProgramCode = "ProgramCode";
- public const string CarType = "CarType";
- public const string NSStartMeasure = "NSStartMeasure";
- public const string ReadVINFinishFlag = "ReadVINFinishFlag";
- public const string LeaveFirstFlag = "LeaveFirstFlag";
- public const string LeaveSecondFlag = "LeaveSecondFlag";
- public const string CarPassFlag = "CarPassFlag";
-
- public const string Speed1 = "Speed1";
- public const string Speed2 = "Speed2";
- public const string R01_Pules = "R01_Pules";
- public const string R02_Pules = "R02_Pules";
- }
-}
\ No newline at end of file
diff --git a/Analysis/BaseUnit/PlcWriteManager.cs b/Analysis/BaseUnit/PlcWriteManager.cs
deleted file mode 100644
index ff1f86f..0000000
--- a/Analysis/BaseUnit/PlcWriteManager.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace NSAnalysis
-{
- public class PlcWriteObj
- {
- public object WriteAddr;
- public object WriteValue;
- public int WriteLength; //长度,主要针对字符串
- ///
- /// 0=int, 1= float, 2=double, 3=string
- ///
- public int DataType = 0;
-
- public PlcWriteObj()
- {
- WriteAddr = null;
- WriteValue = null;
- WriteLength = -1;
- }
- }
-
- public class PlcWriteManager
- {
- private List LstPLcWrite = new List();
- private static readonly object sync = new object();
- private static PlcWriteManager _this = null;
- public static PlcWriteManager Instance
- {
- get
- {
- if (_this == null)
- {
- lock (sync)
- {
- if (_this == null)
- {
- _this = new PlcWriteManager();
- }
- }
- }
- return _this;
- }
- }
-
- public PlcWriteManager()
- {
-
- }
-
- public PlcWriteObj OutQueue()
- {
- try
- {
- PlcWriteObj ccmdObj = null;
- lock (this)
- {
- if (LstPLcWrite != null && LstPLcWrite.Count > 0)
- {
- ccmdObj = new PlcWriteObj();
- ccmdObj = LstPLcWrite[0];
- LstPLcWrite.RemoveAt(0);
- }
- }
- return ccmdObj;
- }
- catch
- {
- throw;
- }
- }
-
- public void RemoveQueueTop()
- {
- if (LstPLcWrite != null && LstPLcWrite.Count > 0)
- {
- LstPLcWrite.RemoveAt(0);
- }
- }
-
- public void InsertQueue(PlcWriteObj data)
- {
- lock (this)
- {
- LstPLcWrite.Add(data);
- }
- }
-
- public bool isExitData()
- {
- lock (this)
- {
- return LstPLcWrite.Count > 0;
- }
- }
-
- public static void WritePlc(object Addr, object Value, int DataType)
- {
- PlcWriteObj m_DataObj = new PlcWriteObj();
- m_DataObj.WriteAddr = Addr;
- m_DataObj.WriteValue = Value;
- m_DataObj.DataType = DataType;
- Instance.InsertQueue(m_DataObj);
- }
- }
-}
diff --git a/Analysis/BaseUnit/RichTextUnit.cs b/Analysis/BaseUnit/RichTextUnit.cs
index c922a82..2900c70 100644
--- a/Analysis/BaseUnit/RichTextUnit.cs
+++ b/Analysis/BaseUnit/RichTextUnit.cs
@@ -1,159 +1,169 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
using System.Drawing;
using System.Windows.Forms;
namespace BaseFunction
{
- public class RichTextUnit
- {
- public static float m_Size = 16;
- public static void SetFont(RichTextBox m_RichTextBox, Color m_Color, bool bBold = false, float Size = 16)
- {
- m_RichTextBox.SelectionColor = m_Color;
- if (bBold)
- m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
- else
- m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
- }
+ public class RichTextUnit
+ {
+ public static float m_Size = 16;
- public static void SetText(RichTextBox m_RichTextBox, string strText, Color m_Color, bool bBold = false, float Size = 16)
- {
- m_RichTextBox.Invoke(((EventHandler)delegate
- {
- RichTextUnit.SetFont(m_RichTextBox, m_Color, bBold, Size);
- m_RichTextBox.SelectedText = strText;
- }));
- }
+ public static void SetFont(RichTextBox m_RichTextBox, Color m_Color, bool bBold = false, float Size = 16)
+ {
+ m_RichTextBox.SelectionColor = m_Color;
+ if (bBold)
+ m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
+ else
+ m_RichTextBox.SelectionFont = new System.Drawing.Font("微软雅黑", Size, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
+ }
- public static void SetXmlText(RichTextBox m_RichTextBox, string strText, float Size = 16)
- {
- m_RichTextBox.Invoke(((EventHandler)delegate
- {
- int iFirstInx = strText.IndexOf("");
- int iSecondInx = strText.IndexOf("?>");
+ public static void SetText(RichTextBox m_RichTextBox, string strText, Color m_Color, bool bBold = false, float Size = 16)
+ {
+ m_RichTextBox.Invoke(((EventHandler)delegate
+ {
+ RichTextUnit.SetFont(m_RichTextBox, m_Color, bBold, Size);
+ m_RichTextBox.SelectedText = strText;
+ }));
+ }
- #region PARSE THROUGH TEXT DATA
- for (int i = 0; i < strText.Length; i++)
- {
- if (i >= iFirstInx && i <= iSecondInx + 1)
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- }
- else
- {
- switch (strText[i])
- {
- case '<':
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- if (strText[i + 1] == '/')
- {
- m_RichTextBox.SelectedText = strText[i + 1].ToString();
- i++;
- }
- RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size);
- }
- break;
- case '>':
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- RichTextUnit.SetFont(m_RichTextBox, Color.Black, false, Size);
- }
- break;
- case '/':
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- }
- break;
- case '=':
- {
- if (strText[i + 1] == '"')
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size);
- m_RichTextBox.SelectedText = "=" + '"'.ToString();
- i++;
- }
- }
- break;
- case '"':
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- if (strText[i - 1] == '=')
- RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size);
- else
- RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size);
- }
- break;
- case '!':
- {
- RichTextUnit.SetFont(m_RichTextBox, Color.Green, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- }
- break;
- case '\r':
- {
- if (strText[i + 1] == '\n')
- {
- m_RichTextBox.SelectedText = "\r\n";
- i++;
- }
- }
- break;
- default:
- m_RichTextBox.SelectedText = strText[i].ToString();
- break;
- }
- }
- }
- #endregion
+ public static void SetXmlText(RichTextBox m_RichTextBox, string strText, float Size = 16)
+ {
+ m_RichTextBox.Invoke(((EventHandler)delegate
+ {
+ int iFirstInx = strText.IndexOf("");
+ int iSecondInx = strText.IndexOf("?>");
- m_RichTextBox.SelectedText = Environment.NewLine;
- }));
- }
+ #region PARSE THROUGH TEXT DATA
- public static void SetCNCText(RichTextBox m_RichTextBox, string strText, float Size = 16)
- {
- m_RichTextBox.Invoke(((EventHandler)delegate
- {
- #region PARSE THROUGH TEXT DATA
- for (int i = 0; i < strText.Length; i++)
- {
- switch (strText[i])
- {
- case '%':
- RichTextUnit.SetFont(m_RichTextBox, Color.Red, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- RichTextUnit.SetFont(m_RichTextBox, Color.DeepSkyBlue, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- break;
- default:
- RichTextUnit.SetFont(m_RichTextBox, Color.White, false, Size);
- m_RichTextBox.SelectedText = strText[i].ToString();
- break;
- }
- }
- #endregion
- }));
- }
- }
-}
+ for (int i = 0; i < strText.Length; i++)
+ {
+ if (i >= iFirstInx && i <= iSecondInx + 1)
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ }
+ else
+ {
+ switch (strText[i])
+ {
+ case '<':
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ if (strText[i + 1] == '/')
+ {
+ m_RichTextBox.SelectedText = strText[i + 1].ToString();
+ i++;
+ }
+ RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size);
+ }
+ break;
+
+ case '>':
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ RichTextUnit.SetFont(m_RichTextBox, Color.Black, false, Size);
+ }
+ break;
+
+ case '/':
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ }
+ break;
+
+ case '=':
+ {
+ if (strText[i + 1] == '"')
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size);
+ m_RichTextBox.SelectedText = "=" + '"'.ToString();
+ i++;
+ }
+ }
+ break;
+
+ case '"':
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Blue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ if (strText[i - 1] == '=')
+ RichTextUnit.SetFont(m_RichTextBox, Color.Black, true, Size);
+ else
+ RichTextUnit.SetFont(m_RichTextBox, Color.DarkRed, false, Size);
+ }
+ break;
+
+ case '!':
+ {
+ RichTextUnit.SetFont(m_RichTextBox, Color.Green, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ }
+ break;
+
+ case '\r':
+ {
+ if (strText[i + 1] == '\n')
+ {
+ m_RichTextBox.SelectedText = "\r\n";
+ i++;
+ }
+ }
+ break;
+
+ default:
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ break;
+ }
+ }
+ }
+
+ #endregion PARSE THROUGH TEXT DATA
+
+ m_RichTextBox.SelectedText = Environment.NewLine;
+ }));
+ }
+
+ public static void SetCNCText(RichTextBox m_RichTextBox, string strText, float Size = 16)
+ {
+ m_RichTextBox.Invoke(((EventHandler)delegate
+ {
+ #region PARSE THROUGH TEXT DATA
+
+ for (int i = 0; i < strText.Length; i++)
+ {
+ switch (strText[i])
+ {
+ case '%':
+ RichTextUnit.SetFont(m_RichTextBox, Color.Red, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ break;
+
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ RichTextUnit.SetFont(m_RichTextBox, Color.DeepSkyBlue, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ break;
+
+ default:
+ RichTextUnit.SetFont(m_RichTextBox, Color.White, false, Size);
+ m_RichTextBox.SelectedText = strText[i].ToString();
+ break;
+ }
+ }
+
+ #endregion PARSE THROUGH TEXT DATA
+ }));
+ }
+ }
+}
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs b/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs
deleted file mode 100644
index 3eae46d..0000000
--- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.cs
+++ /dev/null
@@ -1,319 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using UserControlClass;
-using BaseFunction;
-using DAL;
-
-namespace NSAnalysis
-{
- public partial class FEH3LeftCarData : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
-
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private DataTable dtVINData = new DataTable();
- private string strLastVIN = "";
- CenterControl gCC = null;
- #endregion 全局变量
-
- public FEH3LeftCarData(CenterControl cc)
- {
- InitializeComponent();
- gCC = cc;
- }
-
- ///
- /// 指定屏幕显示
- ///
- public void SpecifyScreenDisplay1()
- {
- try
- {
- Screen[] screens = Screen.AllScreens;
- // 指定显示在第二个显示器
- Screen secondScreen = screens[1]; //1
-
- // 设置窗体位置和大小
- this.StartPosition = FormStartPosition.Manual;
- this.Left = secondScreen.WorkingArea.Left;
- this.Top = secondScreen.WorkingArea.Top;
- this.Width = secondScreen.WorkingArea.Width;
- this.Height = secondScreen.WorkingArea.Height;
- this.Show();
- }
- catch { }
- }
- #region 初始化控件
-
-
- private void InitNextSenseControl()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 30; i++)
- {
- strNSName = "";//L0" + i.ToString();
- if(i<=9)
- strNSName = "L0" + i.ToString();
- else
- {
- strNSName = "L" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if(ucns != null)
- {
- ucns.tlpBackColor = Color.White;
- ucns.tlpFBackColor = Color.White;
- ucns.tlpGBackColor = Color.White;
- ucns.labFVal = "";
- ucns.labFLowerUpper = "";
- ucns.labGVal = "";
- ucns.labGLowerUpper = "";
- }
- }
- }
-
- #endregion 初始化控件
-
- private void FEH3LeftCarData_Load(object sender, EventArgs e)
- {
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- labVIN.Text = "";
- tmrRefreshData.Interval = 1000;
- tmrRefreshData.Start();
- SpecifyScreenDisplay1();
- }
-
- private void btnRefresh_Click(object sender, EventArgs e)
- {
- SpecifyScreenDisplay1();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length==17)
- {
- string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Left EH3 UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Left EH3 UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- }
- }
-
- private void tmrRefreshData_Tick(object sender, EventArgs e)
- {
- tmrRefreshData.Stop();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strLastVIN != strVIN)
- {
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length==17)
- {
- string strSubVIN = strVIN;
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Left EH3 UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count>0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(1);
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0,17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(1);
- }
- }
- }
- }
- strLastVIN = strVIN;
- tmrRefreshData.Start();
- }
-
- private Color analysisColorbyStatus(string strStatus)
- {
- Color colStatus = new Color();
- switch (strStatus.ToLower())
- {
- case "best":
- colStatus = Color.Lime;
- break;
-
- case "good":
- colStatus = Color.Lime;
- break;
-
- case "ng1":
- colStatus = Color.Yellow;
- break;
-
- case "ng2":
- colStatus = Color.Red;
- break;
-
-
- default:
- colStatus = Color.LightGray;
- break;
- }
- return colStatus;
- }
-
- private void analysisTitleColor()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- if (i <= 9)
- strNSName = "L0" + i.ToString();
- else
- {
- strNSName = "L" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
- {
- ucns.tlpBackColor = Color.Red;
- }
- else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
- {
- ucns.tlpBackColor = Color.LightGray;
- }
- else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
- {
- ucns.tlpBackColor = Color.Yellow;
- }
- else
- {
- ucns.tlpBackColor = Color.Lime;
- }
- }
- }
- }
-
- private void refreshCarUIData(DataTable dtData)
- {
- string strNSName = "";
- string strFGName = "";
- UCVWNextSense ucns = null;
- for (int i = 0; i < dtData.Rows.Count; i++)
- {
- strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", "");
- strFGName = dtData.Rows[i]["DimensionName"].ToString();
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (strFGName == "F")
- {
- ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString() ;
- ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- else
- {
- ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- }
- }
- }
-
- private void FEH3LeftCarData_FormClosing(object sender, FormClosingEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs b/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs
deleted file mode 100644
index 393f056..0000000
--- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.designer.cs
+++ /dev/null
@@ -1,562 +0,0 @@
-namespace NSAnalysis
-{
- partial class FEH3LeftCarData
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEH3LeftCarData));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.labVIN = new System.Windows.Forms.Label();
- this.tmrRefreshData = new System.Windows.Forms.Timer(this.components);
- this.L10 = new UserControlClass.UCVWNextSense();
- this.L03 = new UserControlClass.UCVWNextSense();
- this.L06 = new UserControlClass.UCVWNextSense();
- this.L04 = new UserControlClass.UCVWNextSense();
- this.L02 = new UserControlClass.UCVWNextSense();
- this.L13 = new UserControlClass.UCVWNextSense();
- this.L01 = new UserControlClass.UCVWNextSense();
- this.L08 = new UserControlClass.UCVWNextSense();
- this.L12 = new UserControlClass.UCVWNextSense();
- this.L21 = new UserControlClass.UCVWNextSense();
- this.L15 = new UserControlClass.UCVWNextSense();
- this.L18 = new UserControlClass.UCVWNextSense();
- this.L16 = new UserControlClass.UCVWNextSense();
- this.L22 = new UserControlClass.UCVWNextSense();
- this.L14 = new UserControlClass.UCVWNextSense();
- this.btnRefresh = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.pbLeftCar = new System.Windows.Forms.PictureBox();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(1918, 37);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "左侧车身测量数据";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "左侧车身测量数据";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(875, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14);
- this.label2.Size = new System.Drawing.Size(40, 50);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(911, 7);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(164, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "左侧车身测量数据";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.label3.Location = new System.Drawing.Point(476, 970);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(253, 104);
- this.label3.TabIndex = 37;
- this.label3.Text = "VIN:";
- //
- // labVIN
- //
- this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.labVIN.AutoSize = true;
- this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.labVIN.Location = new System.Drawing.Point(735, 970);
- this.labVIN.Name = "labVIN";
- this.labVIN.Size = new System.Drawing.Size(838, 104);
- this.labVIN.TabIndex = 36;
- this.labVIN.Text = "LNNACDEBXRDA20251";
- //
- // tmrRefreshData
- //
- this.tmrRefreshData.Interval = 1000;
- this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick);
- //
- // L10
- //
- this.L10.BackColor = System.Drawing.Color.White;
- this.L10.ForeColor = System.Drawing.Color.Black;
- this.L10.labFLowerUpper = "-2.0/2.0";
- this.L10.labFText = "F";
- this.L10.labFVal = "0.3";
- this.L10.labGLowerUpper = "1.0/6.0";
- this.L10.labGText = "G";
- this.L10.labGVal = "3.7";
- this.L10.labTitleText = "L-10";
- this.L10.Location = new System.Drawing.Point(794, 787);
- this.L10.Name = "L10";
- this.L10.Size = new System.Drawing.Size(220, 145);
- this.L10.TabIndex = 38;
- this.L10.tlpBackColor = System.Drawing.Color.Lime;
- this.L10.tlpFBackColor = System.Drawing.Color.Lime;
- this.L10.tlpGBackColor = System.Drawing.Color.Lime;
- this.L10.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L03
- //
- this.L03.BackColor = System.Drawing.Color.White;
- this.L03.ForeColor = System.Drawing.Color.Black;
- this.L03.labFLowerUpper = "-3.0/2.0";
- this.L03.labFText = "F";
- this.L03.labFVal = "-0.6";
- this.L03.labGLowerUpper = "1.0/6.0";
- this.L03.labGText = "G";
- this.L03.labGVal = "3.9";
- this.L03.labTitleText = "L-03";
- this.L03.Location = new System.Drawing.Point(303, 91);
- this.L03.Name = "L03";
- this.L03.Size = new System.Drawing.Size(220, 145);
- this.L03.TabIndex = 40;
- this.L03.tlpBackColor = System.Drawing.Color.Lime;
- this.L03.tlpFBackColor = System.Drawing.Color.Yellow;
- this.L03.tlpGBackColor = System.Drawing.Color.Lime;
- this.L03.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L06
- //
- this.L06.BackColor = System.Drawing.Color.White;
- this.L06.ForeColor = System.Drawing.Color.Black;
- this.L06.labFLowerUpper = "-2.0/2.0";
- this.L06.labFText = "F";
- this.L06.labFVal = "-0.1";
- this.L06.labGLowerUpper = "1.0/6.0";
- this.L06.labGText = "G";
- this.L06.labGVal = "3.4";
- this.L06.labTitleText = "L-06";
- this.L06.Location = new System.Drawing.Point(519, 787);
- this.L06.Name = "L06";
- this.L06.Size = new System.Drawing.Size(220, 145);
- this.L06.TabIndex = 42;
- this.L06.tlpBackColor = System.Drawing.Color.Lime;
- this.L06.tlpFBackColor = System.Drawing.Color.Lime;
- this.L06.tlpGBackColor = System.Drawing.Color.Lime;
- this.L06.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L04
- //
- this.L04.BackColor = System.Drawing.Color.White;
- this.L04.ForeColor = System.Drawing.Color.Black;
- this.L04.labFLowerUpper = "-1.0/2.0";
- this.L04.labFText = "F";
- this.L04.labFVal = "-0.1mm";
- this.L04.labGLowerUpper = "1.0/6.0";
- this.L04.labGText = "G";
- this.L04.labGVal = "3.1mm";
- this.L04.labTitleText = "L-04";
- this.L04.Location = new System.Drawing.Point(551, 91);
- this.L04.Name = "L04";
- this.L04.Size = new System.Drawing.Size(220, 145);
- this.L04.TabIndex = 43;
- this.L04.tlpBackColor = System.Drawing.Color.Lime;
- this.L04.tlpFBackColor = System.Drawing.Color.Lime;
- this.L04.tlpGBackColor = System.Drawing.Color.Lime;
- this.L04.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L02
- //
- this.L02.BackColor = System.Drawing.Color.White;
- this.L02.ForeColor = System.Drawing.Color.Black;
- this.L02.labFLowerUpper = "-3.0/2.0";
- this.L02.labFText = "F";
- this.L02.labFVal = "-0.2";
- this.L02.labGLowerUpper = "1.0/6.0";
- this.L02.labGText = "G";
- this.L02.labGVal = "4.4";
- this.L02.labTitleText = "L-02";
- this.L02.Location = new System.Drawing.Point(29, 91);
- this.L02.Name = "L02";
- this.L02.Size = new System.Drawing.Size(220, 145);
- this.L02.TabIndex = 44;
- this.L02.tlpBackColor = System.Drawing.Color.Lime;
- this.L02.tlpFBackColor = System.Drawing.Color.Lime;
- this.L02.tlpGBackColor = System.Drawing.Color.Lime;
- this.L02.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L13
- //
- this.L13.BackColor = System.Drawing.Color.White;
- this.L13.ForeColor = System.Drawing.Color.Black;
- this.L13.labFLowerUpper = "-1.5/1.5";
- this.L13.labFText = "F";
- this.L13.labFVal = "0.6";
- this.L13.labGLowerUpper = "2.2/4.2";
- this.L13.labGText = "G";
- this.L13.labGVal = "4.3";
- this.L13.labTitleText = "L-13";
- this.L13.Location = new System.Drawing.Point(1068, 787);
- this.L13.Name = "L13";
- this.L13.Size = new System.Drawing.Size(220, 145);
- this.L13.TabIndex = 45;
- this.L13.tlpBackColor = System.Drawing.Color.Red;
- this.L13.tlpFBackColor = System.Drawing.Color.Lime;
- this.L13.tlpGBackColor = System.Drawing.Color.Red;
- this.L13.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L01
- //
- this.L01.BackColor = System.Drawing.Color.White;
- this.L01.ForeColor = System.Drawing.Color.Black;
- this.L01.labFLowerUpper = "-3.0/2.0";
- this.L01.labFText = "F";
- this.L01.labFVal = "0.7";
- this.L01.labGLowerUpper = "1.0/5.0";
- this.L01.labGText = "G";
- this.L01.labGVal = "4.1";
- this.L01.labTitleText = "L-01";
- this.L01.Location = new System.Drawing.Point(219, 787);
- this.L01.Name = "L01";
- this.L01.Size = new System.Drawing.Size(220, 145);
- this.L01.TabIndex = 46;
- this.L01.tlpBackColor = System.Drawing.Color.Lime;
- this.L01.tlpFBackColor = System.Drawing.Color.Lime;
- this.L01.tlpGBackColor = System.Drawing.Color.Lime;
- this.L01.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L08
- //
- this.L08.BackColor = System.Drawing.Color.White;
- this.L08.ForeColor = System.Drawing.Color.Black;
- this.L08.labFLowerUpper = "-2.0/2.0";
- this.L08.labFText = "F";
- this.L08.labFVal = "0.3mm";
- this.L08.labGLowerUpper = "1.0/6.0";
- this.L08.labGText = "G";
- this.L08.labGVal = "3.1mm";
- this.L08.labTitleText = "L-08";
- this.L08.Location = new System.Drawing.Point(793, 86);
- this.L08.Name = "L08";
- this.L08.Size = new System.Drawing.Size(220, 145);
- this.L08.TabIndex = 48;
- this.L08.tlpBackColor = System.Drawing.Color.Lime;
- this.L08.tlpFBackColor = System.Drawing.Color.Lime;
- this.L08.tlpGBackColor = System.Drawing.Color.Lime;
- this.L08.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L12
- //
- this.L12.BackColor = System.Drawing.Color.White;
- this.L12.ForeColor = System.Drawing.Color.Black;
- this.L12.labFLowerUpper = "-2.0/2.0";
- this.L12.labFText = "F";
- this.L12.labFVal = "-0.2mm";
- this.L12.labGLowerUpper = "1.0/6.0";
- this.L12.labGText = "G";
- this.L12.labGVal = "3.0mm";
- this.L12.labTitleText = "L-12";
- this.L12.Location = new System.Drawing.Point(1066, 85);
- this.L12.Name = "L12";
- this.L12.Size = new System.Drawing.Size(220, 145);
- this.L12.TabIndex = 49;
- this.L12.tlpBackColor = System.Drawing.Color.Lime;
- this.L12.tlpFBackColor = System.Drawing.Color.Lime;
- this.L12.tlpGBackColor = System.Drawing.Color.Lime;
- this.L12.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L21
- //
- this.L21.BackColor = System.Drawing.Color.White;
- this.L21.ForeColor = System.Drawing.Color.Black;
- this.L21.labFLowerUpper = "-2.0/2.0";
- this.L21.labFText = "F";
- this.L21.labFVal = "-0.2";
- this.L21.labGLowerUpper = "1.0/6.0";
- this.L21.labGText = "G";
- this.L21.labGVal = "6.1";
- this.L21.labTitleText = "L-21";
- this.L21.Location = new System.Drawing.Point(1328, 787);
- this.L21.Name = "L21";
- this.L21.Size = new System.Drawing.Size(220, 145);
- this.L21.TabIndex = 50;
- this.L21.tlpBackColor = System.Drawing.Color.Lime;
- this.L21.tlpFBackColor = System.Drawing.Color.Lime;
- this.L21.tlpGBackColor = System.Drawing.Color.Lime;
- this.L21.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L15
- //
- this.L15.BackColor = System.Drawing.Color.White;
- this.L15.ForeColor = System.Drawing.Color.Black;
- this.L15.labFLowerUpper = "-2.0/2.0";
- this.L15.labFText = "F";
- this.L15.labFVal = "-1.9mm";
- this.L15.labGLowerUpper = "1.0/6.0";
- this.L15.labGText = "G";
- this.L15.labGVal = "2.8mm";
- this.L15.labTitleText = "L-15";
- this.L15.Location = new System.Drawing.Point(1590, 91);
- this.L15.Name = "L15";
- this.L15.Size = new System.Drawing.Size(220, 145);
- this.L15.TabIndex = 56;
- this.L15.tlpBackColor = System.Drawing.Color.Lime;
- this.L15.tlpFBackColor = System.Drawing.Color.Lime;
- this.L15.tlpGBackColor = System.Drawing.Color.Lime;
- this.L15.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L18
- //
- this.L18.BackColor = System.Drawing.Color.White;
- this.L18.ForeColor = System.Drawing.Color.Black;
- this.L18.labFLowerUpper = "0.0/4.0";
- this.L18.labFText = "F";
- this.L18.labFVal = "-2.7";
- this.L18.labGLowerUpper = "1.0/6.0";
- this.L18.labGText = "G";
- this.L18.labGVal = "2.7";
- this.L18.labTitleText = "L-18";
- this.L18.Location = new System.Drawing.Point(1696, 518);
- this.L18.Name = "L18";
- this.L18.Size = new System.Drawing.Size(220, 145);
- this.L18.TabIndex = 58;
- this.L18.tlpBackColor = System.Drawing.Color.Red;
- this.L18.tlpFBackColor = System.Drawing.Color.Red;
- this.L18.tlpGBackColor = System.Drawing.Color.Lime;
- this.L18.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L16
- //
- this.L16.BackColor = System.Drawing.Color.White;
- this.L16.ForeColor = System.Drawing.Color.Black;
- this.L16.labFLowerUpper = "-2.0/2.0";
- this.L16.labFText = "F";
- this.L16.labFVal = "-2.0mm";
- this.L16.labGLowerUpper = "1.0/6.0";
- this.L16.labGText = "G";
- this.L16.labGVal = "2.7mm";
- this.L16.labTitleText = "L-16";
- this.L16.Location = new System.Drawing.Point(1697, 277);
- this.L16.Name = "L16";
- this.L16.Size = new System.Drawing.Size(220, 145);
- this.L16.TabIndex = 59;
- this.L16.tlpBackColor = System.Drawing.Color.Lime;
- this.L16.tlpFBackColor = System.Drawing.Color.Lime;
- this.L16.tlpGBackColor = System.Drawing.Color.Lime;
- this.L16.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L22
- //
- this.L22.BackColor = System.Drawing.Color.White;
- this.L22.ForeColor = System.Drawing.Color.Black;
- this.L22.labFLowerUpper = "-12.0/12.0";
- this.L22.labFText = "F";
- this.L22.labFVal = "-10.0";
- this.L22.labGLowerUpper = "1.0/6.0";
- this.L22.labGText = "G";
- this.L22.labGVal = "6.0";
- this.L22.labTitleText = "L-22";
- this.L22.Location = new System.Drawing.Point(1596, 787);
- this.L22.Name = "L22";
- this.L22.Size = new System.Drawing.Size(220, 145);
- this.L22.TabIndex = 60;
- this.L22.tlpBackColor = System.Drawing.Color.Lime;
- this.L22.tlpFBackColor = System.Drawing.Color.Lime;
- this.L22.tlpGBackColor = System.Drawing.Color.Lime;
- this.L22.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L14
- //
- this.L14.BackColor = System.Drawing.Color.White;
- this.L14.ForeColor = System.Drawing.Color.Black;
- this.L14.labFLowerUpper = "-2.0/2.0";
- this.L14.labFText = "F";
- this.L14.labFVal = "-1.5mm";
- this.L14.labGLowerUpper = "1.0/6.0";
- this.L14.labGText = "G";
- this.L14.labGVal = "3.2mm";
- this.L14.labTitleText = "L-14";
- this.L14.Location = new System.Drawing.Point(1327, 91);
- this.L14.Name = "L14";
- this.L14.Size = new System.Drawing.Size(220, 145);
- this.L14.TabIndex = 61;
- this.L14.tlpBackColor = System.Drawing.Color.Lime;
- this.L14.tlpFBackColor = System.Drawing.Color.Lime;
- this.L14.tlpGBackColor = System.Drawing.Color.Lime;
- this.L14.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // btnRefresh
- //
- this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F);
- this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64;
- this.btnRefresh.Location = new System.Drawing.Point(1695, 978);
- this.btnRefresh.Name = "btnRefresh";
- this.btnRefresh.Size = new System.Drawing.Size(86, 92);
- this.btnRefresh.TabIndex = 35;
- this.btnRefresh.UseVisualStyleBackColor = false;
- this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
- //
- // pictureBox2
- //
- this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent;
- this.pictureBox2.Location = new System.Drawing.Point(89, 981);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(316, 83);
- this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox2.TabIndex = 34;
- this.pictureBox2.TabStop = false;
- //
- // pbLeftCar
- //
- this.pbLeftCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pbLeftCar.Image = ((System.Drawing.Image)(resources.GetObject("pbLeftCar.Image")));
- this.pbLeftCar.Location = new System.Drawing.Point(3, 40);
- this.pbLeftCar.Name = "pbLeftCar";
- this.pbLeftCar.Size = new System.Drawing.Size(1916, 925);
- this.pbLeftCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbLeftCar.TabIndex = 1;
- this.pbLeftCar.TabStop = false;
- //
- // FEH3LeftCarData
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(1920, 1080);
- this.Controls.Add(this.L14);
- this.Controls.Add(this.L22);
- this.Controls.Add(this.L16);
- this.Controls.Add(this.L18);
- this.Controls.Add(this.L15);
- this.Controls.Add(this.L21);
- this.Controls.Add(this.L12);
- this.Controls.Add(this.L08);
- this.Controls.Add(this.L01);
- this.Controls.Add(this.L13);
- this.Controls.Add(this.L03);
- this.Controls.Add(this.L02);
- this.Controls.Add(this.L04);
- this.Controls.Add(this.L06);
- this.Controls.Add(this.labVIN);
- this.Controls.Add(this.L10);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.btnRefresh);
- this.Controls.Add(this.pictureBox2);
- this.Controls.Add(this.pbLeftCar);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9F);
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximumSize = new System.Drawing.Size(1920, 1080);
- this.Name = "FEH3LeftCarData";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "左侧车身测量数据";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEH3LeftCarData_FormClosing);
- this.Load += new System.EventHandler(this.FEH3LeftCarData_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label labVIN;
- private System.Windows.Forms.Button btnRefresh;
- private System.Windows.Forms.PictureBox pictureBox2;
- private System.Windows.Forms.Timer tmrRefreshData;
- private System.Windows.Forms.PictureBox pbLeftCar;
- private UserControlClass.UCVWNextSense L10;
- private UserControlClass.UCVWNextSense L03;
- private UserControlClass.UCVWNextSense L06;
- private UserControlClass.UCVWNextSense L04;
- private UserControlClass.UCVWNextSense L02;
- private UserControlClass.UCVWNextSense L13;
- private UserControlClass.UCVWNextSense L01;
- private UserControlClass.UCVWNextSense L08;
- private UserControlClass.UCVWNextSense L12;
- private UserControlClass.UCVWNextSense L21;
- private UserControlClass.UCVWNextSense L15;
- private UserControlClass.UCVWNextSense L18;
- private UserControlClass.UCVWNextSense L16;
- private UserControlClass.UCVWNextSense L22;
- private UserControlClass.UCVWNextSense L14;
- }
-}
diff --git a/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx b/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx
deleted file mode 100644
index 8042751..0000000
--- a/Analysis/CarDataDisplayForm/FEH3LeftCarData.resx
+++ /dev/null
@@ -1,2307 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vAAADrwBlbxySQAABqdJREFUWEe1lnlQE1ccx61HPXEqFEdtx0GtZ1uPTq3V1mPafxjbomO1VVtrj1E7
- VfHgMOQggCggoAUUCEqCEIwElQAaslnIJrsBkpAGstlkNxFF28HqqONU7WhFeX27SWg8qFHxN/Mdluzb
- 9/38fu/93m6/5wkAwAAx6pqytEITue1M5Qbfzy8/JFbroJUVTaEK24UF62vM0UsravKSMancd/vlBsz6
- lXLi4qivq1qWTJRihklS9dUVVSWdKlJwwjfk5cU6pXX8UmXT1jlluDZUgt4ano90rVJJu3NNaZ11roSX
- A8CWex9GjZlVii9/76i+8K1irDFcgl4elq8FU0tUIF6XCypJEQTg9S0AW+of1LbwbQg1O6besXqKDCsP
- K0RvjCjQPhgCzYfmI2CFqgQcNKcBDZPQiTB9XAGlUjngG1XLynly4tjYooYrrClnXICCYQVaMLIQAQWW
- NKCiRH0L8HE5MWruUf38KcU6bXhR/aWQfO2dofnerP1640gtWFktg+ZCoKH5zwWwGMMGrjtlDhOLQX/f
- T95YVtUcEVnZ/O2YovorsNxd0Lwnc1YjCzVgtrwSZDZlArWLD6DxMwFkN1GhySbnwvVq20+LKogfFyux
- Eb5b3thUb5uxTtMSEyHTgZBC9CFz9nq8tAYsh2tfDbNHYPZa5ukVEAPQX4x1DNltYibsNbs+5+OOrO/U
- VjRCqpOOlWCv+4Z5IwanZuzQtcVEVZtB+OH6xwAiT5aBjMZMLnNWQQGw5kbHpD0m+pDA6Li0HrHdX3Dc
- eH1IPiId8SSAGD0Zsw2zg3flOAgr8kKwmuZruxonzD4YANhJApyKFBLOXB7hcO4ykDfhvPc/OdkMwiT1
- /w8QizvAUpUJTD6qhy3Htp0WrK0tBgfhzoeGnLFfjwJkGOkQcSM5TUhQMXycqoDGzjicvBMH51x1uoVL
- DJ4jvQPEQQB28Aa0FcyvMILQIi0YffgMt/FOOBJ7Mn8UgC212EiPS8AdHyUaqa1CI9UR7zOOM5Bgh56E
- 8zWCccU6MPjQUwDi2YegvoTE8xT1IKqqFJ54j5sHAqQ0O6bDrDN24WRrrIF8wBn7tBOaf4/YOHN2PwUN
- EA33wk6MAEesad1ql+AhAPa6DrbiMfuev9ONRzr4jc52mPE1WO67geasNuvawNtlOGxj72YOGoBvdPy5
- z2SyIcy+NoTh/8Oa+lViSwGJhgNgQ52sa01tzW0e7uj2P8f+9V9v1dnBarUVdlUDd4oGDRBvILv3mFyE
- lLRlmC5IsrWM6MYZp6CbPX7lbUkgtiEPLKxQgMkldWDuMaLHNFBwKbjSL6ps6ummoJcgscl5p5jsSMc8
- njfPdaLj9WfTmQr77nvJ+AEwX6EEwwsQbsLRMLPeANiNF1ll4trZf54EDZBlcZcXtrZ/pqLpkGMkMzPL
- hLasqK69OUFaDUZJ6rjW7A3Av/Yrai3gHW/bPQMATu0QGp3XS8kL0WXUxahsi3t1lsWTIySsv396Er8D
- X1IPlfNRAM4clp7dwB/CNh57RNcz9qkACRCAh5PRaRbadcrduabUcSE23cygCYSDa6uoGjOYWqrvAWDl
- B/BnzSoGAqzX/AYiZBiXfeB4Vr0CiE3UjOQm15bD9vNEajN9jU9Q9wIn3gLbKarGAtff206sRsN3xqMA
- 2/V2ru1ek/xXrUD1CgDfVmEZZvp9UaMzehdu3wUn48NjWeDXTr1dsB1rzI5GpYY4XW5XPJYDeNjBv0SG
- w6R/jNjYdDDXcpJIxPMAT58D2DGBim3IubUZLbAuq5KvnVlaOtxn7Y0cj2fwHtwTHmukZvemzObaJUdb
- D2yXt6XckrcmdctbU66Ute7Vsvd+taBzZW3HtyrIHHM5bNVAye1J9xX2VEpBZiikbTk7N2pk0zZaJYN8
- 1sGH2pMzWEtnjEPdog6EFtwNfBmhrrwwgzt9k4bhX/YfWBqG1wX/vw3PkT907tT9eHvWp9ZOyTBushcJ
- /dk0PsoktgUCNDCJ6xBaeNpv7pXQ3cAkFzZ3FERQlPJV7uG+iNPk9onwc7wYmlAsgOVi/kSdO6VUS/Ov
- IHTCfZQWuRBGlIrQoi/wc3unYB2yIezXtu/xFw+lctWAOpr3s5YWKFgAon3/xnp3cjPKCDsamCTUelHG
- M5zL/kBDiUN9j/R9EOdzZ+k8yb/At2NlgydJjTKiVtSdVKk/m/kVANjAPs34ScEaMJfVMw3t6bm6s6lp
- qEc4R0mJ+26dgwn6qipE706fjsJ1VnvEI8VA/PC3/lOjX79/AdonQT85iOsDAAAAAElFTkSuQmCC
-
-
-
- 17, 17
-
-
-
- /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa
- HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo
- KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKTBOQDASIAAhEBAxEB/8QA
- HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
- MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
- V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
- x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
- BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
- YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
- hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
- 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6n2r6D8qNq+g/Knc+tHPrQBDK8EX+taNfrio/tVn/AM9YfzFc
- r8Q/+XL/AIF/SuVs7Ke+kK28bFQeXPAFAHqv2q1/56w/mKPtVr/z1h/MV5s+nWlr/wAfV+C3dYRkimeZ
- pY+VILqY+pfFAHpn2q1/56w/mKPtVr/z1h/MVx9tp+mw2yzanALZG+6rSZY1DqljZ28X2i3s2uLQ9JIp
- On1oA7b7Va/89YfzFH2q1/56w/mK8zD6TL94XMX0bIqRdJS5B/s+9SU9fLc7TQB6P9qtM/6yL8xQLmzz
- /rYc/UV5LPBLBL5cyPG/vTHLKcZzQB66bq0BP72L/voULdWhH+ti/MV5hbaVf3EXmQW7EfWpv7C1LqLd
- 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
- su05tDMP3srHpjnH4VLc+C4NK1PV/DvjfTxH4fNlFPFr9jEEMUUIUGOQ4PG7H/6qAOj+Dlk+o6v8VbGO
- 7uLKSe9jjFxbkCSImI/MpIPIryn4p2seh/EK80m91LWNUuIoIpPtl7fwKzhhkDm2bp9a9X+AWp2Dat8S
- 9Zt7gS6R9uWVLoAlWjSMknpzgV5n4k8bRXfjvVfEGkahdWst0BCJbPVIohJEnCZV42I9etAHCWupWVxc
- zwJFdK8JAJfUbYK2fQ/Y+a90/Z3sft+jza/HrmtWWnafdyo9g11FJbyFV+ZiEhT2P4V4z4Z8X6rZeIvE
- F1HrmqWz3UyM0i6hAhmwCMszREMR6gCvaf2cvEmlxzap4emuQ01/O11CktwtxJMzgmUkooUDgce9AHe/
- 8Lv+HP8A0NFt/wB+Zf8A4ij/AIXf8Of+hotv+/Mv/wARXTf8IT4X/wChe0r/AMBU/wAKP+EJ8L/9C9pX
- /gKn+FAHMf8AC7/hz/0NFt/35l/+Iryr9o3WP7Y174Zar4WaC/M87S2Rkyscrbo9uc4IBI9q98/4Qnwv
- /wBC9pX/AICp/hXl/wAc/AfiHVtS8H3XgbSrSVdFlaXyGkWGNcFSowSOPlPSgDsvh3qPxEvNRuk8d6No
- 2n2KxZgexlLsz5HBy7cYya8I8E3vjWz+MvxFPgLTNL1CdrxhcLfylAi+Y20rhlzzn1r2LwdrHxYuPENr
- D4p8OaLZ6O2fOnguNzrwcYG898dqo/CjwTrnh/4o+OtZ1S1SKw1SbfausqsWG8nkA5HB70AeUfHTUPiJ
- eWvhlfHmjaLYWY1SMwvYyl2Z/Qgu3GK+m/EGml7N9R0zTbC68QW8J+xyXSD5XxwN3UD6GuE/aE8G614y
- 03w5DoFsk8lnqSXMwaVUwgHJ5PNWPib4b8aSa/pfiLwNqmZrJNkuk3M7Jb3HXqAQM89/QUAedLPqsnxu
- 8M3Pxet1sbxQV0dNPAe1MhP8bEs2cnp9K+lq8JtfB3jzxx470HXPH1vpuk6foj+bFZ2kvmtM+cgk5IH5
- 9K92oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig
- AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig
- AooooAKKKKACiiigCOWCKXHmxo+Om4A1F9htf+eEX/fAqwKWgCt9htf+feL/AL4FH2G1/wCfeL/vgVZo
- oAq/YLT/AJ9ov++BR9gtP+faL/vgVaooArfYLT/n2h/74FH2G0/594f++RVmjNAFb7Daf8+8P/fIo+w2
- n/PvD/3yKs5ozQBW+w2n/PvD/wB8ij7Da/8APvD/AN8irOaM0AVvsNp/z7w/98ij7Baf8+0P/fIqzmjN
- AFb7Baf8+0P/AHyKPsFp/wA+0P8A3yKs5ozQBW+wWn/PtD/3yKPsNp/z7Q/98irOaM0AVfsNp/z7Q/8A
- fApfsNp/z7Q/98CrNFAFb7Baf8+0P/fIo+w2n/PtD/3yKs5ozQBW+w2n/PtD/wB8ipFhjRQqIqqOgHGK
- looAQADoBR+FLRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAmKMUtFABRRRQAUUUUAFFFFABRRRQAUUU
- UAFFFFABRRRQAUUUUAFFFFAGe+kadJq8eqPY27alGhiS6MY8xV/uhuuOTWhRRQBUbTbJtQF+9pbtehQg
- nMY3hR2z1pmq6Rp2rrAuqWNtdiCQTRCaMP5bjowz0PvV6igCNoo5EZJEUqVKEEdQe30qLT9Ps9Og8mwt
- YbaL+5EgUfpVmigApkUUcQIiUIuc4UYFPooACARg8imIixrtjVVX0UYFPooASilooAMVS1bSrDV7X7Nq
- lnBeW24N5U8YdcjocGrtFACdKUUUUAFQXNnbXTRNdW8MzQtvjMiBtjYxkZ6Gp6KAK2pWFpqdnJaajbQ3
- VrIMPDMgdG+oPBotLK1tLSK1tbeKG3iGEijUKqj2AqzRQBALO3F59r8iL7Vs2ebtG7b6Z644p13bQ3lt
- Lb3UUc0EqlJI5FDK6nggg9RUtFAFOx0ux0+z+yWFnb21rgjyoowq8+wp62Fqv3baEfRB/hVmigCv9itO
- 9tB/37H+FKlpbRuHjgiVx0ZUAIqeigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
- oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooozQAUUUUAFFGaM0AFFGaM0AFFGaM0AF
- FGaM0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
- AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
- AUUUUAFFFFABRRmigAooooAKKKKACiiigAooooAKKKM0AFFGaM0AFFGaM0AFFGaM0AFFGaM0AFFGaM0A
- FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFcLoN/4q1jQ9P1KPUdEgS8t47gRHS5
- W2b1Dbc/aRnGcZwPpQB3VFcrt8Wf9BjQv/BTN/8AJNG3xZ/0GNC/8FM3/wAk0AdVRXK7fFn/AEGNC/8A
- BTN/8k0bPFn/AEGNC/8ABTN/8k0AdVRXK7fFn/QY0L/wUzf/ACTRs8Wf9BjQv/BTN/8AJNAHVUVyuzxZ
- /wBBjQv/AAUzf/JNGzxZ/wBBjQv/AAUzf/JNAHVUVyuzxZ/0GNC/8FM3/wAk1hXXifU7TWf7Kn8Q6Ml5
- 5kcRH9g3RQPIMopk8/YCewLU0m9kVGLlsrno9Fctt8Wf9BfQv/BTL/8AJNWfBuqXup2+oJqZtnubO8e2
- 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
- v97+goATj0o49KTcP8ijcP8AIoAWik3L/kGjcv8AkGgBcUYpNw/yKNw/yKAFxRik3D/Io3D/ACKAFxRi
- k3D/ACKNw/yKAFqaz/18n+6v9ag3D/Iqay5mkPONq9vrQBcooooAKKKKACiiigAooooAq3v3ov8Ae/pU
- FWrqJpNmzGVOeT7VD5EvpH/30f8ACgBlFP8As83pH/30f8KPs83pH/30f8KAGUU/7PN6R/8AfR/wo+zz
- ekf/AH0f8KAGUU/7PN6R/wDfR/wo+zzekf8A30f8KAGUU/7PN6R/99H/AAo+zzekf/fR/wAKAGUU/wCz
- zekf/fR/wo+zzekf/fR/woAjPVP99f5itGqXkTbl3CPqCfmPY/SrtABRRRQAUUUUAFFFFABWb/G/++38
- 60qptbSb2KlMEk80ARUVL9ml9U/Wj7NL6p+tAEVFS/ZpfVP1o+zS+qfrQBFRUv2aX1T9aPs0vqn60ARU
- VL9ml9U/Wj7NL6p+tAEVFS/ZpfVP1o+zS+qfrQBFU9n/AK2X6L/Wm/Zpf7yfrUttC0TOWIO7HSmBPRRR
- SAKKKKACiiigAooooAz5mCzybiOo/lTPMj/vD8608Um1fQflQBm70/vL+dG9P7y/nWltHoPyo2j0H5UA
- Zu9P76fnRvT++n51pbR6D8qNo9B+VAGbvT++n50b0/vp+daW0eg/KjaPQflQBm70/vp+dG9P76fnWltH
- oPyo2j0H5UAZu9P76fnRvT++n51pbR6D8qNo9B+VAFK0IM/DKflPQ+4q8OlJge1LQAUUUUAFFFFABRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVUW
- Y/56y/p/hVqigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P
- 8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/PWT9P8KPsY/56yfp/hVmigCt9jH/P
- WT9P8KlgiEMe0EnnOTUlFABRRRQAUUUUAFFFFABRRRQAUUUUAMnjEqbSSOQeKh+yr/ff9P8ACrNFAFb7
- Kv8Aff8AT/Cj7Kv99/0/wqzRQBW+yr/ff9P8KPsq/wB9/wBP8Ks0UAVvsq/33/T/AAo+yr/ff9P8Ks0U
- AVvsq/33/T/Cj7Kv99/0/wAKs0UAVvsq/wB9/wBP8KPsq/33/T/CrNFAFb7Iv/PST9P8Ks0UUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
- RRRQAUUUUAFFFFABRRRQAUUUUAf/2Q==
-
-
-
- 36
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEH3RightCarData.cs b/Analysis/CarDataDisplayForm/FEH3RightCarData.cs
deleted file mode 100644
index 0a58d08..0000000
--- a/Analysis/CarDataDisplayForm/FEH3RightCarData.cs
+++ /dev/null
@@ -1,323 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using DAL;
-using UserControlClass;
-using BaseFunction;
-
-namespace NSAnalysis
-{
- public partial class FEH3RightCarData : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
-
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private DataTable dtVINData = new DataTable();
- private string strLastVIN = "";
- CenterControl gCC = null;
- #endregion 全局变量
-
- #region 初始化控件
-
- #endregion 初始化控件
-
- public FEH3RightCarData(CenterControl cc)
- {
- InitializeComponent();
- gCC = cc;
- }
-
- ///
- /// 指定屏幕显示
- ///
- public void SpecifyScreenDisplay1()
- {
- try
- {
- Screen[] screens = Screen.AllScreens;
- // 指定显示在第二个显示器
- Screen secondScreen = screens[1]; //1
-
- // 设置窗体位置和大小
- this.StartPosition = FormStartPosition.Manual;
- this.Left = secondScreen.WorkingArea.Left;
- this.Top = secondScreen.WorkingArea.Top;
- this.Width = secondScreen.WorkingArea.Width;
- this.Height = secondScreen.WorkingArea.Height;
- this.Show();
- }
- catch { }
- }
- #region 初始化控件
-
-
- private void InitNextSenseControl()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- strNSName = "";//L0" + i.ToString();
- if (i <= 9)
- strNSName = "R0" + i.ToString();
- else
- {
- strNSName = "R" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- ucns.tlpBackColor = Color.White;
- ucns.tlpFBackColor = Color.White;
- ucns.tlpGBackColor = Color.White;
- ucns.labFVal = "";
- ucns.labFLowerUpper = "";
- ucns.labGVal = "";
- ucns.labGLowerUpper = "";
- }
- }
- }
-
- #endregion 初始化控件
-
- private void FEH3RightCarData_Load(object sender, EventArgs e)
- {
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- labVIN.Text = "";
- tmrRefreshData.Interval = 1100;
- tmrRefreshData.Start();
- SpecifyScreenDisplay1();
- }
-
- private void btnRefresh_Click(object sender, EventArgs e)
- {
- SpecifyScreenDisplay1();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length==17)
- {
- string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Right EH3 UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, strVIN.Length - 4);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(strVIN.Length - 3, 3);
- MyBase.TraceWriteLine("Right EH3 UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
-
- }
- }
-
- private void tmrRefreshData_Tick(object sender, EventArgs e)
- {
- tmrRefreshData.Stop();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strLastVIN != strVIN)
- {
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length == 17)
- {
- string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Right EH3 UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(1);
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EH3"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(1);
- }
- }
- }
- }
- strLastVIN = strVIN;
- tmrRefreshData.Start();
- }
-
- private Color analysisColorbyStatus(string strStatus)
- {
- Color colStatus = new Color();
- switch (strStatus.ToLower())
- {
- case "best":
- colStatus = Color.Lime;
- break;
-
- case "good":
- colStatus = Color.Lime;
- break;
-
- case "ng1":
- colStatus = Color.Yellow;
- break;
-
- case "ng2":
- colStatus = Color.Red;
- break;
-
- default:
- colStatus = Color.LightGray;
- break;
- }
- return colStatus;
- }
-
- private void analysisTitleColor()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- if (i <= 9)
- strNSName = "R0" + i.ToString();
- else
- {
- strNSName = "R" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
- {
- ucns.tlpBackColor = Color.Red;
- }
- else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
- {
- ucns.tlpBackColor = Color.LightGray;
- }
- else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
- {
- ucns.tlpBackColor = Color.Yellow;
- }
- else
- {
- ucns.tlpBackColor = Color.Lime;
- }
- }
- }
- }
-
- private void refreshCarUIData(DataTable dtData)
- {
- string strNSName = "";
- string strFGName = "";
- UCVWNextSense ucns = null;
- for (int i = 0; i < dtData.Rows.Count; i++)
- {
- strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", "");
- strFGName = dtData.Rows[i]["DimensionName"].ToString();
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (strFGName == "F")
- {
- ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- else
- {
- ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- }
- }
- }
-
- private void FEH3RightCarData_FormClosing(object sender, FormClosingEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs b/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs
deleted file mode 100644
index 3be3a4f..0000000
--- a/Analysis/CarDataDisplayForm/FEH3RightCarData.designer.cs
+++ /dev/null
@@ -1,516 +0,0 @@
-namespace NSAnalysis
-{
- partial class FEH3RightCarData
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEH3RightCarData));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.labTitle = new System.Windows.Forms.Label();
- this.labVIN = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.tmrRefreshData = new System.Windows.Forms.Timer(this.components);
- this.R14 = new UserControlClass.UCVWNextSense();
- this.R15 = new UserControlClass.UCVWNextSense();
- this.R16 = new UserControlClass.UCVWNextSense();
- this.R18 = new UserControlClass.UCVWNextSense();
- this.R10 = new UserControlClass.UCVWNextSense();
- this.R08 = new UserControlClass.UCVWNextSense();
- this.R12 = new UserControlClass.UCVWNextSense();
- this.R04 = new UserControlClass.UCVWNextSense();
- this.R02 = new UserControlClass.UCVWNextSense();
- this.R13 = new UserControlClass.UCVWNextSense();
- this.R01 = new UserControlClass.UCVWNextSense();
- this.R03 = new UserControlClass.UCVWNextSense();
- this.R06 = new UserControlClass.UCVWNextSense();
- this.btnRefresh = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.pbRightCar = new System.Windows.Forms.PictureBox();
- this.label2 = new System.Windows.Forms.Label();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(1918, 37);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "右侧车身测量数据";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "右侧车身测量数据";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(911, 7);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(164, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "右侧车身测量数据";
- //
- // labVIN
- //
- this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.labVIN.AutoSize = true;
- this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.labVIN.Location = new System.Drawing.Point(755, 970);
- this.labVIN.Name = "labVIN";
- this.labVIN.Size = new System.Drawing.Size(838, 104);
- this.labVIN.TabIndex = 32;
- this.labVIN.Text = "LNNACDEBXRDA20251";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.label3.Location = new System.Drawing.Point(495, 969);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(253, 104);
- this.label3.TabIndex = 33;
- this.label3.Text = "VIN:";
- //
- // tmrRefreshData
- //
- this.tmrRefreshData.Interval = 1000;
- this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick);
- //
- // R14
- //
- this.R14.BackColor = System.Drawing.Color.White;
- this.R14.ForeColor = System.Drawing.Color.Black;
- this.R14.labFLowerUpper = "-2.0/2.0";
- this.R14.labFText = "F";
- this.R14.labFVal = "-0.7";
- this.R14.labGLowerUpper = "1.0/6.0";
- this.R14.labGText = "G";
- this.R14.labGVal = "3.6";
- this.R14.labTitleText = "R-14";
- this.R14.Location = new System.Drawing.Point(354, 99);
- this.R14.Name = "R14";
- this.R14.Size = new System.Drawing.Size(220, 145);
- this.R14.TabIndex = 34;
- this.R14.tlpBackColor = System.Drawing.Color.Lime;
- this.R14.tlpFBackColor = System.Drawing.Color.Lime;
- this.R14.tlpGBackColor = System.Drawing.Color.Lime;
- this.R14.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R15
- //
- this.R15.BackColor = System.Drawing.Color.White;
- this.R15.ForeColor = System.Drawing.Color.Black;
- this.R15.labFLowerUpper = "-2.0/2.0";
- this.R15.labFText = "F";
- this.R15.labFVal = "-1.4";
- this.R15.labGLowerUpper = "1.0/6.0";
- this.R15.labGText = "G";
- this.R15.labGVal = "4.2";
- this.R15.labTitleText = "R-15";
- this.R15.Location = new System.Drawing.Point(94, 100);
- this.R15.Name = "R15";
- this.R15.Size = new System.Drawing.Size(220, 145);
- this.R15.TabIndex = 35;
- this.R15.tlpBackColor = System.Drawing.Color.Lime;
- this.R15.tlpFBackColor = System.Drawing.Color.Lime;
- this.R15.tlpGBackColor = System.Drawing.Color.Lime;
- this.R15.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R16
- //
- this.R16.BackColor = System.Drawing.Color.White;
- this.R16.ForeColor = System.Drawing.Color.Black;
- this.R16.labFLowerUpper = "-2.0/2.0";
- this.R16.labFText = "F";
- this.R16.labFVal = "-0.9mm";
- this.R16.labGLowerUpper = "1.0/6.0";
- this.R16.labGText = "G";
- this.R16.labGVal = "2.5mm";
- this.R16.labTitleText = "R-16";
- this.R16.Location = new System.Drawing.Point(3, 288);
- this.R16.Name = "R16";
- this.R16.Size = new System.Drawing.Size(220, 145);
- this.R16.TabIndex = 37;
- this.R16.tlpBackColor = System.Drawing.Color.Lime;
- this.R16.tlpFBackColor = System.Drawing.Color.Lime;
- this.R16.tlpGBackColor = System.Drawing.Color.Lime;
- this.R16.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R18
- //
- this.R18.BackColor = System.Drawing.Color.White;
- this.R18.ForeColor = System.Drawing.Color.Black;
- this.R18.labFLowerUpper = "-2.0/2.0";
- this.R18.labFText = "F";
- this.R18.labFVal = "-2.0";
- this.R18.labGLowerUpper = "1.0/6.0";
- this.R18.labGText = "G";
- this.R18.labGVal = "3.8";
- this.R18.labTitleText = "R-18";
- this.R18.Location = new System.Drawing.Point(3, 608);
- this.R18.Name = "R18";
- this.R18.Size = new System.Drawing.Size(220, 145);
- this.R18.TabIndex = 38;
- this.R18.tlpBackColor = System.Drawing.Color.Lime;
- this.R18.tlpFBackColor = System.Drawing.Color.Lime;
- this.R18.tlpGBackColor = System.Drawing.Color.Lime;
- this.R18.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R10
- //
- this.R10.BackColor = System.Drawing.Color.White;
- this.R10.ForeColor = System.Drawing.Color.Black;
- this.R10.labFLowerUpper = "-2.0/2.0";
- this.R10.labFText = "F";
- this.R10.labFVal = "0.2";
- this.R10.labGLowerUpper = "1.0/6.0";
- this.R10.labGText = "G";
- this.R10.labGVal = "2.9";
- this.R10.labTitleText = "R-10";
- this.R10.Location = new System.Drawing.Point(752, 795);
- this.R10.Name = "R10";
- this.R10.Size = new System.Drawing.Size(220, 145);
- this.R10.TabIndex = 42;
- this.R10.tlpBackColor = System.Drawing.Color.Lime;
- this.R10.tlpFBackColor = System.Drawing.Color.Lime;
- this.R10.tlpGBackColor = System.Drawing.Color.Lime;
- this.R10.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R08
- //
- this.R08.BackColor = System.Drawing.Color.White;
- this.R08.ForeColor = System.Drawing.Color.Black;
- this.R08.labFLowerUpper = "-2.0/2.0";
- this.R08.labFText = "F";
- this.R08.labFVal = "0.1mm";
- this.R08.labGLowerUpper = "1.0/6.0";
- this.R08.labGText = "G";
- this.R08.labGVal = "2.8mm";
- this.R08.labTitleText = "R-08";
- this.R08.Location = new System.Drawing.Point(880, 95);
- this.R08.Name = "R08";
- this.R08.Size = new System.Drawing.Size(220, 145);
- this.R08.TabIndex = 44;
- this.R08.tlpBackColor = System.Drawing.Color.Lime;
- this.R08.tlpFBackColor = System.Drawing.Color.Lime;
- this.R08.tlpGBackColor = System.Drawing.Color.Lime;
- this.R08.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R12
- //
- this.R12.BackColor = System.Drawing.Color.White;
- this.R12.ForeColor = System.Drawing.Color.Black;
- this.R12.labFLowerUpper = "-2.0/2.0";
- this.R12.labFText = "F";
- this.R12.labFVal = "0.2mm";
- this.R12.labGLowerUpper = "1.0/6.0";
- this.R12.labGText = "G";
- this.R12.labGVal = "3.5mm";
- this.R12.labTitleText = "R-12";
- this.R12.Location = new System.Drawing.Point(617, 92);
- this.R12.Name = "R12";
- this.R12.Size = new System.Drawing.Size(220, 145);
- this.R12.TabIndex = 46;
- this.R12.tlpBackColor = System.Drawing.Color.Lime;
- this.R12.tlpFBackColor = System.Drawing.Color.Lime;
- this.R12.tlpGBackColor = System.Drawing.Color.Lime;
- this.R12.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R04
- //
- this.R04.BackColor = System.Drawing.Color.White;
- this.R04.ForeColor = System.Drawing.Color.Black;
- this.R04.labFLowerUpper = "-2.0/2.0";
- this.R04.labFText = "F";
- this.R04.labFVal = "0.5mm";
- this.R04.labGLowerUpper = "1.0/6.0";
- this.R04.labGText = "G";
- this.R04.labGVal = "3.5mm";
- this.R04.labTitleText = "R-04";
- this.R04.Location = new System.Drawing.Point(1133, 95);
- this.R04.Name = "R04";
- this.R04.Size = new System.Drawing.Size(220, 145);
- this.R04.TabIndex = 48;
- this.R04.tlpBackColor = System.Drawing.Color.Lime;
- this.R04.tlpFBackColor = System.Drawing.Color.Lime;
- this.R04.tlpGBackColor = System.Drawing.Color.Lime;
- this.R04.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R02
- //
- this.R02.BackColor = System.Drawing.Color.White;
- this.R02.ForeColor = System.Drawing.Color.Black;
- this.R02.labFLowerUpper = "-2.0/2.0";
- this.R02.labFText = "F";
- this.R02.labFVal = "-0.5mm";
- this.R02.labGLowerUpper = "1.0/6.0";
- this.R02.labGText = "G";
- this.R02.labGVal = "4.0mm";
- this.R02.labTitleText = "R-02";
- this.R02.Location = new System.Drawing.Point(1662, 95);
- this.R02.Name = "R02";
- this.R02.Size = new System.Drawing.Size(220, 145);
- this.R02.TabIndex = 49;
- this.R02.tlpBackColor = System.Drawing.Color.Lime;
- this.R02.tlpFBackColor = System.Drawing.Color.Lime;
- this.R02.tlpGBackColor = System.Drawing.Color.Lime;
- this.R02.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R13
- //
- this.R13.BackColor = System.Drawing.Color.White;
- this.R13.ForeColor = System.Drawing.Color.Black;
- this.R13.labFLowerUpper = "-2.0/2.0";
- this.R13.labFText = "F";
- this.R13.labFVal = "0.1";
- this.R13.labGLowerUpper = "1.0/6.0";
- this.R13.labGText = "G";
- this.R13.labGVal = "3.8";
- this.R13.labTitleText = "R-13";
- this.R13.Location = new System.Drawing.Point(399, 795);
- this.R13.Name = "R13";
- this.R13.Size = new System.Drawing.Size(220, 145);
- this.R13.TabIndex = 54;
- this.R13.tlpBackColor = System.Drawing.Color.Lime;
- this.R13.tlpFBackColor = System.Drawing.Color.Lime;
- this.R13.tlpGBackColor = System.Drawing.Color.Lime;
- this.R13.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R01
- //
- this.R01.BackColor = System.Drawing.Color.White;
- this.R01.ForeColor = System.Drawing.Color.Black;
- this.R01.labFLowerUpper = "-2.0/2.0";
- this.R01.labFText = "F";
- this.R01.labFVal = "0.4mm";
- this.R01.labGLowerUpper = "1.0/6.0";
- this.R01.labGText = "G";
- this.R01.labGVal = "3.7mm";
- this.R01.labTitleText = "R-01";
- this.R01.Location = new System.Drawing.Point(1450, 790);
- this.R01.Name = "R01";
- this.R01.Size = new System.Drawing.Size(220, 145);
- this.R01.TabIndex = 55;
- this.R01.tlpBackColor = System.Drawing.Color.Lime;
- this.R01.tlpFBackColor = System.Drawing.Color.Lime;
- this.R01.tlpGBackColor = System.Drawing.Color.Lime;
- this.R01.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R03
- //
- this.R03.BackColor = System.Drawing.Color.White;
- this.R03.ForeColor = System.Drawing.Color.Black;
- this.R03.labFLowerUpper = "-3.0/2.0";
- this.R03.labFText = "F";
- this.R03.labFVal = "0.5mm";
- this.R03.labGLowerUpper = "1.0/6.0";
- this.R03.labGText = "G";
- this.R03.labGVal = "3.2mm";
- this.R03.labTitleText = "R-03";
- this.R03.Location = new System.Drawing.Point(1398, 95);
- this.R03.Name = "R03";
- this.R03.Size = new System.Drawing.Size(220, 145);
- this.R03.TabIndex = 56;
- this.R03.tlpBackColor = System.Drawing.Color.Lime;
- this.R03.tlpFBackColor = System.Drawing.Color.Lime;
- this.R03.tlpGBackColor = System.Drawing.Color.Lime;
- this.R03.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R06
- //
- this.R06.BackColor = System.Drawing.Color.White;
- this.R06.ForeColor = System.Drawing.Color.Black;
- this.R06.labFLowerUpper = "-2.0/2.0";
- this.R06.labFText = "F";
- this.R06.labFVal = "0.1mm";
- this.R06.labGLowerUpper = "1.0/6.0";
- this.R06.labGText = "G";
- this.R06.labGVal = "3.6mm";
- this.R06.labTitleText = "R-06";
- this.R06.Location = new System.Drawing.Point(1137, 795);
- this.R06.Name = "R06";
- this.R06.Size = new System.Drawing.Size(220, 145);
- this.R06.TabIndex = 57;
- this.R06.tlpBackColor = System.Drawing.Color.Lime;
- this.R06.tlpFBackColor = System.Drawing.Color.Lime;
- this.R06.tlpGBackColor = System.Drawing.Color.Lime;
- this.R06.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // btnRefresh
- //
- this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F);
- this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64;
- this.btnRefresh.Location = new System.Drawing.Point(1705, 978);
- this.btnRefresh.Name = "btnRefresh";
- this.btnRefresh.Size = new System.Drawing.Size(92, 97);
- this.btnRefresh.TabIndex = 31;
- this.btnRefresh.UseVisualStyleBackColor = false;
- this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
- //
- // pictureBox2
- //
- this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent;
- this.pictureBox2.Location = new System.Drawing.Point(92, 982);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(316, 83);
- this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox2.TabIndex = 30;
- this.pictureBox2.TabStop = false;
- //
- // pbRightCar
- //
- this.pbRightCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pbRightCar.Image = ((System.Drawing.Image)(resources.GetObject("pbRightCar.Image")));
- this.pbRightCar.Location = new System.Drawing.Point(2, 40);
- this.pbRightCar.Name = "pbRightCar";
- this.pbRightCar.Size = new System.Drawing.Size(1916, 923);
- this.pbRightCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbRightCar.TabIndex = 2;
- this.pbRightCar.TabStop = false;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(875, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14);
- this.label2.Size = new System.Drawing.Size(40, 50);
- this.label2.TabIndex = 1;
- //
- // FEH3RightCarData
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(1920, 1080);
- this.Controls.Add(this.R02);
- this.Controls.Add(this.R06);
- this.Controls.Add(this.R03);
- this.Controls.Add(this.R01);
- this.Controls.Add(this.R13);
- this.Controls.Add(this.R04);
- this.Controls.Add(this.R12);
- this.Controls.Add(this.R08);
- this.Controls.Add(this.R10);
- this.Controls.Add(this.R18);
- this.Controls.Add(this.R16);
- this.Controls.Add(this.R15);
- this.Controls.Add(this.R14);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.labVIN);
- this.Controls.Add(this.btnRefresh);
- this.Controls.Add(this.pictureBox2);
- this.Controls.Add(this.pbRightCar);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9F);
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximumSize = new System.Drawing.Size(1920, 1080);
- this.Name = "FEH3RightCarData";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "右侧车身测量数据";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEH3RightCarData_FormClosing);
- this.Load += new System.EventHandler(this.FEH3RightCarData_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private System.Windows.Forms.PictureBox pbRightCar;
- private System.Windows.Forms.PictureBox pictureBox2;
- private System.Windows.Forms.Button btnRefresh;
- private System.Windows.Forms.Label labVIN;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Timer tmrRefreshData;
- private UserControlClass.UCVWNextSense R14;
- private UserControlClass.UCVWNextSense R15;
- private UserControlClass.UCVWNextSense R16;
- private UserControlClass.UCVWNextSense R18;
- private UserControlClass.UCVWNextSense R10;
- private UserControlClass.UCVWNextSense R08;
- private UserControlClass.UCVWNextSense R12;
- private UserControlClass.UCVWNextSense R04;
- private UserControlClass.UCVWNextSense R02;
- private UserControlClass.UCVWNextSense R13;
- private UserControlClass.UCVWNextSense R01;
- private UserControlClass.UCVWNextSense R03;
- private UserControlClass.UCVWNextSense R06;
- }
-}
diff --git a/Analysis/CarDataDisplayForm/FEH3RightCarData.resx b/Analysis/CarDataDisplayForm/FEH3RightCarData.resx
deleted file mode 100644
index 2026d07..0000000
--- a/Analysis/CarDataDisplayForm/FEH3RightCarData.resx
+++ /dev/null
@@ -1,2286 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
-
-
-
- 17, 17
-
-
-
- /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa
- HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo
- KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKSBO0DASIAAhEBAxEB/8QA
- HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
- MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
- V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
- x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
- BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
- YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
- hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
- 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6n2r6D8qNq+g/Knc+tHPrQA3avoPyo2L6D8qUiuGuvGN3HcSo
- trFtRioyeaAO42r6D8qNq+g/KuC/4TS7/wCfWL8zVqDxLq067o9NDL6gGgDs9q+g/KjavoPyrlE1rWG6
- 2MKf7z4qVtT1tY95srbb6+YaAOm2L/dH5UbF9B+Vco2t6yBxYxP/ALr1Vn8T6tBzNYBF9TQB2uxP7oo2
- J/dFcH/wml5/z7RfmaX/AITS8/59ovzNAHd7E/uijYn90Vwn/CaXf/PvF+Zo/wCE0vP+faL8zQB3exP7
- oo2J/dFcH/wmt3/z7RfmaX/hNLz/AJ9ovzNAHd7E/uijYn90Vwn/AAml3/z7xfmaT/hNbv8A59ovzNAH
- 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
- /wDfArsaKAOO/wCEHh/5+3/74FWdN8JR2N/DcrdO7RnO0rjNdRRQByOofDrwxqF7Ld3elxvPKdzt5jjJ
- /A1VHwq8GLMZl0WISkYLh33EfXNdxRQBy2k+AvDmj3y3mnaeIblQQr72OM9epq/4Z8N6X4bt54dIthAs
- 8pmlOSS7nqSTW1SCgBQKMUUUAc3feCNCvruS5ubR2mkOWImcfoDVK3+GvhS2Di30tYg53N5crruPqcHk
- 12NFAGdo2i2ej2otrCMxwg52li3P1JNTalYW2pWc1pfQpNbTKUeNhwwNW6KAOLj+GXheONY47CREUYCr
- cSAAfTNbmj+G9J0ewWy06wghtVYv5eN3zHqee9bFFAFT+zrP/n1g/wC/a/4Uv9nWf/PrB/37X/CrVGaA
- MKLwxpMXiGTWxaIdRaMRLK3OxR2Udvwqpe+BvD1z4jg12XTYv7ThbeJhxlvUjua6ijigDj7b4faFH4pX
- xA8Es2oqzMjyzMwQnrgZwK7CiigAooooAKKKKACiiigAooooAKrS2FpLex3cttA93GuxJmjBdR6BuoFW
- aKACq72No92t09rA1yowJTGC4HoG61YooAr3tla30aJe20FyiOJFWaMOFYdGAPQj1qZ0RwQ6qwII5GeD
- 1FOooAr2lja2abLO3hgT+7EgUfpU+BgjHHpS0UARxxRxALEiovXaowKkxkYNFFACKir0UD8KWiigAooo
- oArX9jaajB5F/bQXMOQ3lzRhxkdDg1YHSlooATFLRRQBFPbQXDRtPDFKYzuQugbafUZ6GkvLS2vrdoL2
- 3huIG6xyoHU/geKmooAhhtbeC3SCCCKKBMbY0QKq/QDgUotoBc/aPJj+0bdvmbRux6Z64qWigCKe3iuI
- XiuI0licYZHUMGHoQetR21haWsBgtrWCGE/8s40CqfwHFWaKAK32C0/59bf/AL9ij7BZ/wDPrb/9+xVn
- FGBQBBFZ20Th4reFHHRlQA1PRiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
- oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
- oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACq8/3x9Ks
- VXn++PpQBYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAqvP98fSrFV5/vj6UAWKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKrz/AHx9KsVXn++PpQBY
- ooooAKKKKACiiigAooooAKKKKACiiigAozUN5d21lD5t5cQ28WQu+Vwi5PbJqh/wkmif9BnTf/ApP8aA
- NXNGayv+Ek0T/oM6b/4Ep/jR/wAJJon/AEGdN/8AAlP8aANXNGayv+Ek0T/oM6b/AOBKf40f8JJon/QZ
- 03/wJT/GgDVzRmsr/hJNE/6DOm/+BKf40f8ACSaJ/wBBnTf/AAJT/GgDVzRmsr/hJNE/6DOm/wDgSn+N
- H/CSaJ/0GdN/8CU/xoA1c0Vlf8JJon/QZ03/AMCU/wAaT/hJNE/6DOm/+BKf40Aa1FZP/CR6H/0GdN/8
- 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
- uf8AeX/0IVWq9PGJYyhJGcHI9jUH2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH
- 2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH2T/pq/6f4UAQUVP9k/6av+n+FH2T
- /pq/6f4UAQVasv8Aj3H+838zTPsn/TV/0/wqaCPyowuc8n+dAElFFFABRRRQAUUUUAFFFFABRRRQAUUU
- UAFFFFABRRRQAUUUUAFFFFABVef74+lWKrz/AHx9KALFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA
- BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXlt98hbfjPbGe1WKKAKv2Q/8A
- PU/98ij7If8Anqf++RVrmjn1oAq/ZW/56n/vkUfZW/56n/vkVaooAq/ZW/56n/vkUfZW/wCep/75FWqK
- AKv2Vv8Anqf++RR9lb/nqf8AvkVaooAq/ZW/56n/AL5FH2Vv+ep/75FWqKAKv2Vv+ep/75FCWpV1YyE4
- OcYq1RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABgE9BRgegoooAMD0ooooAKKKKACiii
- gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBjxrJjcKZ9mh/uf
- qamooAh+zQ/3f1NH2aH+7+pqaigCH7ND/d/U0fZof7v6mpqKAIfs0P8Ad/U0fZof7v6mpqKAIfssP939
- TR9lh/u/qamooAg+yw/3f1NH2WH+7+pqfFGKAIPskP8AdP5mplUKAB0FLRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABVef74+lWKrz/fH0oAsUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
- FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXn++PpViq8/wB8fSgCxRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
- QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
- QAUUUUAFFFFABVef74+lWKrz/fH0oAsUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU
- UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU
- UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU
- UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU
- UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU
- UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVXn++PpViq8/3x9KALFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFV5/vj6UUUAf//Z
-
-
-
- 86
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEHYLeftCarData.cs b/Analysis/CarDataDisplayForm/FEHYLeftCarData.cs
deleted file mode 100644
index 8cd21f3..0000000
--- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.cs
+++ /dev/null
@@ -1,317 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using UserControlClass;
-using BaseFunction;
-using DAL;
-
-namespace NSAnalysis
-{
- public partial class FEHYLeftCarData : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
-
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private DataTable dtVINData = new DataTable();
- private string strLastVIN = "";
- CenterControl gCC = null;
- #endregion 全局变量
-
- public FEHYLeftCarData(CenterControl cc)
- {
- InitializeComponent();
- gCC = cc;
- }
-
- ///
- /// 指定屏幕显示
- ///
- public void SpecifyScreenDisplay1()
- {
- try
- {
- Screen[] screens = Screen.AllScreens;
- // 指定显示在第二个显示器
- Screen secondScreen = screens[1]; //1
-
- // 设置窗体位置和大小
- this.StartPosition = FormStartPosition.Manual;
- this.Left = secondScreen.WorkingArea.Left;
- this.Top = secondScreen.WorkingArea.Top;
- this.Width = secondScreen.WorkingArea.Width;
- this.Height = secondScreen.WorkingArea.Height;
- this.Show();
- }
- catch { }
- }
- #region 初始化控件
-
-
- private void InitNextSenseControl()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- strNSName = "";//L0" + i.ToString();
- if (i <= 9)
- strNSName = "L0" + i.ToString();
- else
- {
- strNSName = "L" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- ucns.tlpBackColor = Color.White;
- ucns.tlpFBackColor = Color.White;
- ucns.tlpGBackColor = Color.White;
- ucns.labFVal = "";
- ucns.labFLowerUpper = "";
- ucns.labGVal = "";
- ucns.labGLowerUpper = "";
- }
- }
- }
-
- #endregion 初始化控件
-
- private void FEHYLeftCarData_Load(object sender, EventArgs e)
- {
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- labVIN.Text = "";
- tmrRefreshData.Interval = 1000;
- tmrRefreshData.Start();
- SpecifyScreenDisplay1();
- }
-
- private void btnRefresh_Click(object sender, EventArgs e)
- {
- SpecifyScreenDisplay1();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length==17)
- {
- string strSubVIN = strVIN;// strVIN.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Left EHY UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN =strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Left EHY UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- }
- }
-
- private void tmrRefreshData_Tick(object sender, EventArgs e)
- {
- tmrRefreshData.Stop();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strLastVIN != strVIN)
- {
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length==17)
- {
- string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Left EHY UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(2);
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "L");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(2);
- }
- }
- }
- }
- strLastVIN = strVIN;
- tmrRefreshData.Start();
- }
-
- private Color analysisColorbyStatus(string strStatus)
- {
- Color colStatus = new Color();
- switch (strStatus.ToLower())
- {
- case "best":
- colStatus = Color.Lime;
- break;
-
- case "good":
- colStatus = Color.Lime;
- break;
-
- case "ng1":
- colStatus = Color.Yellow;
- break;
-
- case "ng2":
- colStatus = Color.Red;
- break;
-
- default:
- colStatus = Color.LightGray;
- break;
- }
- return colStatus;
- }
-
- private void analysisTitleColor()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- if (i <= 9)
- strNSName = "L0" + i.ToString();
- else
- {
- strNSName = "L" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
- {
- ucns.tlpBackColor = Color.Red;
- }
- else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
- {
- ucns.tlpBackColor = Color.LightGray;
- }
- else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
- {
- ucns.tlpBackColor = Color.Yellow;
- }
- else
- {
- ucns.tlpBackColor = Color.Lime;
- }
- }
- }
- }
-
- private void refreshCarUIData(DataTable dtData)
- {
- string strNSName = "";
- string strFGName = "";
- UCVWNextSense ucns = null;
- for (int i = 0; i < dtData.Rows.Count; i++)
- {
- strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", "");
- strFGName = dtData.Rows[i]["DimensionName"].ToString();
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (strFGName == "F")
- {
- ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- else
- {
- ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- }
- }
- }
-
- private void FEHYLeftCarData_FormClosing(object sender, FormClosingEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs b/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs
deleted file mode 100644
index 8ffdedb..0000000
--- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.designer.cs
+++ /dev/null
@@ -1,562 +0,0 @@
-namespace NSAnalysis
-{
- partial class FEHYLeftCarData
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEHYLeftCarData));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.labVIN = new System.Windows.Forms.Label();
- this.tmrRefreshData = new System.Windows.Forms.Timer(this.components);
- this.btnRefresh = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.pbLeftCar = new System.Windows.Forms.PictureBox();
- this.L13 = new UserControlClass.UCVWNextSense();
- this.L14 = new UserControlClass.UCVWNextSense();
- this.L22 = new UserControlClass.UCVWNextSense();
- this.L16 = new UserControlClass.UCVWNextSense();
- this.L18 = new UserControlClass.UCVWNextSense();
- this.L15 = new UserControlClass.UCVWNextSense();
- this.L21 = new UserControlClass.UCVWNextSense();
- this.L12 = new UserControlClass.UCVWNextSense();
- this.L08 = new UserControlClass.UCVWNextSense();
- this.L01 = new UserControlClass.UCVWNextSense();
- this.L03 = new UserControlClass.UCVWNextSense();
- this.L02 = new UserControlClass.UCVWNextSense();
- this.L04 = new UserControlClass.UCVWNextSense();
- this.L06 = new UserControlClass.UCVWNextSense();
- this.L10 = new UserControlClass.UCVWNextSense();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(1918, 37);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "左侧车身测量数据";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "左侧车身测量数据";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(875, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14);
- this.label2.Size = new System.Drawing.Size(40, 50);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(911, 7);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(164, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "左侧车身测量数据";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.label3.Location = new System.Drawing.Point(502, 970);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(253, 104);
- this.label3.TabIndex = 37;
- this.label3.Text = "VIN:";
- //
- // labVIN
- //
- this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.labVIN.AutoSize = true;
- this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.labVIN.Location = new System.Drawing.Point(761, 970);
- this.labVIN.Name = "labVIN";
- this.labVIN.Size = new System.Drawing.Size(838, 104);
- this.labVIN.TabIndex = 36;
- this.labVIN.Text = "LNNACDEBXRDA20251";
- //
- // tmrRefreshData
- //
- this.tmrRefreshData.Interval = 1000;
- this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick);
- //
- // btnRefresh
- //
- this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F);
- this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64;
- this.btnRefresh.Location = new System.Drawing.Point(1695, 978);
- this.btnRefresh.Name = "btnRefresh";
- this.btnRefresh.Size = new System.Drawing.Size(86, 92);
- this.btnRefresh.TabIndex = 35;
- this.btnRefresh.UseVisualStyleBackColor = false;
- this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
- //
- // pictureBox2
- //
- this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent;
- this.pictureBox2.Location = new System.Drawing.Point(100, 981);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(316, 83);
- this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox2.TabIndex = 34;
- this.pictureBox2.TabStop = false;
- //
- // pbLeftCar
- //
- this.pbLeftCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pbLeftCar.Image = ((System.Drawing.Image)(resources.GetObject("pbLeftCar.Image")));
- this.pbLeftCar.Location = new System.Drawing.Point(3, 40);
- this.pbLeftCar.Name = "pbLeftCar";
- this.pbLeftCar.Size = new System.Drawing.Size(1916, 925);
- this.pbLeftCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbLeftCar.TabIndex = 1;
- this.pbLeftCar.TabStop = false;
- //
- // L13
- //
- this.L13.BackColor = System.Drawing.Color.White;
- this.L13.ForeColor = System.Drawing.Color.Black;
- this.L13.labFLowerUpper = "-2.0/2.0";
- this.L13.labFText = "F";
- this.L13.labFVal = "0.3";
- this.L13.labGLowerUpper = "1.0/6.0";
- this.L13.labGText = "G";
- this.L13.labGVal = "3.7";
- this.L13.labTitleText = "L-13";
- this.L13.Location = new System.Drawing.Point(1023, 801);
- this.L13.Name = "L13";
- this.L13.Size = new System.Drawing.Size(220, 145);
- this.L13.TabIndex = 62;
- this.L13.tlpBackColor = System.Drawing.Color.Lime;
- this.L13.tlpFBackColor = System.Drawing.Color.Lime;
- this.L13.tlpGBackColor = System.Drawing.Color.Lime;
- this.L13.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L14
- //
- this.L14.BackColor = System.Drawing.Color.White;
- this.L14.ForeColor = System.Drawing.Color.Black;
- this.L14.labFLowerUpper = "-2.0/2.0";
- this.L14.labFText = "F";
- this.L14.labFVal = "-1.5mm";
- this.L14.labGLowerUpper = "1.0/6.0";
- this.L14.labGText = "G";
- this.L14.labGVal = "3.2mm";
- this.L14.labTitleText = "L-14";
- this.L14.Location = new System.Drawing.Point(1508, 100);
- this.L14.Name = "L14";
- this.L14.Size = new System.Drawing.Size(220, 145);
- this.L14.TabIndex = 61;
- this.L14.tlpBackColor = System.Drawing.Color.Lime;
- this.L14.tlpFBackColor = System.Drawing.Color.Lime;
- this.L14.tlpGBackColor = System.Drawing.Color.Lime;
- this.L14.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L22
- //
- this.L22.BackColor = System.Drawing.Color.White;
- this.L22.ForeColor = System.Drawing.Color.Black;
- this.L22.labFLowerUpper = "-2.0/2.0";
- this.L22.labFText = "F";
- this.L22.labFVal = "0.0";
- this.L22.labGLowerUpper = "1.0/6.0";
- this.L22.labGText = "G";
- this.L22.labGVal = "6.0";
- this.L22.labTitleText = "L-22";
- this.L22.Location = new System.Drawing.Point(1641, 801);
- this.L22.Name = "L22";
- this.L22.Size = new System.Drawing.Size(220, 145);
- this.L22.TabIndex = 60;
- this.L22.tlpBackColor = System.Drawing.Color.Lime;
- this.L22.tlpFBackColor = System.Drawing.Color.Lime;
- this.L22.tlpGBackColor = System.Drawing.Color.Lime;
- this.L22.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L16
- //
- this.L16.BackColor = System.Drawing.Color.White;
- this.L16.ForeColor = System.Drawing.Color.Black;
- this.L16.labFLowerUpper = "-2.0/2.0";
- this.L16.labFText = "F";
- this.L16.labFVal = "-2.0mm";
- this.L16.labGLowerUpper = "1.0/6.0";
- this.L16.labGText = "G";
- this.L16.labGVal = "2.7mm";
- this.L16.labTitleText = "L-16";
- this.L16.Location = new System.Drawing.Point(1696, 413);
- this.L16.Name = "L16";
- this.L16.Size = new System.Drawing.Size(220, 145);
- this.L16.TabIndex = 59;
- this.L16.tlpBackColor = System.Drawing.Color.Lime;
- this.L16.tlpFBackColor = System.Drawing.Color.Lime;
- this.L16.tlpGBackColor = System.Drawing.Color.Lime;
- this.L16.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L18
- //
- this.L18.BackColor = System.Drawing.Color.White;
- this.L18.ForeColor = System.Drawing.Color.Black;
- this.L18.labFLowerUpper = "0.0/4.0";
- this.L18.labFText = "F";
- this.L18.labFVal = "-2.7";
- this.L18.labGLowerUpper = "1.0/6.0";
- this.L18.labGText = "G";
- this.L18.labGVal = "2.7";
- this.L18.labTitleText = "L-18";
- this.L18.Location = new System.Drawing.Point(1694, 596);
- this.L18.Name = "L18";
- this.L18.Size = new System.Drawing.Size(220, 145);
- this.L18.TabIndex = 58;
- this.L18.tlpBackColor = System.Drawing.Color.Red;
- this.L18.tlpFBackColor = System.Drawing.Color.Red;
- this.L18.tlpGBackColor = System.Drawing.Color.Lime;
- this.L18.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L15
- //
- this.L15.BackColor = System.Drawing.Color.White;
- this.L15.ForeColor = System.Drawing.Color.Black;
- this.L15.labFLowerUpper = "-2.0/2.0";
- this.L15.labFText = "F";
- this.L15.labFVal = "-1.9mm";
- this.L15.labGLowerUpper = "1.0/6.0";
- this.L15.labGText = "G";
- this.L15.labGVal = "2.8mm";
- this.L15.labTitleText = "L-15";
- this.L15.Location = new System.Drawing.Point(1692, 255);
- this.L15.Name = "L15";
- this.L15.Size = new System.Drawing.Size(220, 145);
- this.L15.TabIndex = 56;
- this.L15.tlpBackColor = System.Drawing.Color.Lime;
- this.L15.tlpFBackColor = System.Drawing.Color.Lime;
- this.L15.tlpGBackColor = System.Drawing.Color.Lime;
- this.L15.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L21
- //
- this.L21.BackColor = System.Drawing.Color.White;
- this.L21.ForeColor = System.Drawing.Color.Black;
- this.L21.labFLowerUpper = "-2.0/2.0";
- this.L21.labFText = "F";
- this.L21.labFVal = "-0.2mm";
- this.L21.labGLowerUpper = "1.0/6.0";
- this.L21.labGText = "G";
- this.L21.labGVal = "6.1mm";
- this.L21.labTitleText = "L-21";
- this.L21.Location = new System.Drawing.Point(1354, 801);
- this.L21.Name = "L21";
- this.L21.Size = new System.Drawing.Size(220, 145);
- this.L21.TabIndex = 50;
- this.L21.tlpBackColor = System.Drawing.Color.Lime;
- this.L21.tlpFBackColor = System.Drawing.Color.Lime;
- this.L21.tlpGBackColor = System.Drawing.Color.Lime;
- this.L21.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L12
- //
- this.L12.BackColor = System.Drawing.Color.White;
- this.L12.ForeColor = System.Drawing.Color.Black;
- this.L12.labFLowerUpper = "-2.0/2.0";
- this.L12.labFText = "F";
- this.L12.labFVal = "-0.2mm";
- this.L12.labGLowerUpper = "1.0/6.0";
- this.L12.labGText = "G";
- this.L12.labGVal = "3.0mm";
- this.L12.labTitleText = "L-12";
- this.L12.Location = new System.Drawing.Point(1195, 105);
- this.L12.Name = "L12";
- this.L12.Size = new System.Drawing.Size(220, 145);
- this.L12.TabIndex = 49;
- this.L12.tlpBackColor = System.Drawing.Color.Lime;
- this.L12.tlpFBackColor = System.Drawing.Color.Lime;
- this.L12.tlpGBackColor = System.Drawing.Color.Lime;
- this.L12.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L08
- //
- this.L08.BackColor = System.Drawing.Color.White;
- this.L08.ForeColor = System.Drawing.Color.Black;
- this.L08.labFLowerUpper = "-2.0/2.0";
- this.L08.labFText = "F";
- this.L08.labFVal = "0.3mm";
- this.L08.labGLowerUpper = "1.0/6.0";
- this.L08.labGText = "G";
- this.L08.labGVal = "3.1mm";
- this.L08.labTitleText = "L-08";
- this.L08.Location = new System.Drawing.Point(879, 103);
- this.L08.Name = "L08";
- this.L08.Size = new System.Drawing.Size(220, 145);
- this.L08.TabIndex = 48;
- this.L08.tlpBackColor = System.Drawing.Color.Lime;
- this.L08.tlpFBackColor = System.Drawing.Color.Lime;
- this.L08.tlpGBackColor = System.Drawing.Color.Lime;
- this.L08.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L01
- //
- this.L01.BackColor = System.Drawing.Color.White;
- this.L01.ForeColor = System.Drawing.Color.Black;
- this.L01.labFLowerUpper = "-3.0/2.0";
- this.L01.labFText = "F";
- this.L01.labFVal = "0.7mm";
- this.L01.labGLowerUpper = "1.0/5.0";
- this.L01.labGText = "G";
- this.L01.labGVal = "4.1mm";
- this.L01.labTitleText = "L-01";
- this.L01.Location = new System.Drawing.Point(7, 581);
- this.L01.Name = "L01";
- this.L01.Size = new System.Drawing.Size(220, 145);
- this.L01.TabIndex = 46;
- this.L01.tlpBackColor = System.Drawing.Color.Lime;
- this.L01.tlpFBackColor = System.Drawing.Color.Lime;
- this.L01.tlpGBackColor = System.Drawing.Color.Lime;
- this.L01.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L03
- //
- this.L03.BackColor = System.Drawing.Color.White;
- this.L03.ForeColor = System.Drawing.Color.Black;
- this.L03.labFLowerUpper = "-3.0/2.0";
- this.L03.labFText = "F";
- this.L03.labFVal = "-0.6";
- this.L03.labGLowerUpper = "1.0/6.0";
- this.L03.labGText = "G";
- this.L03.labGVal = "3.9";
- this.L03.labTitleText = "L-03";
- this.L03.Location = new System.Drawing.Point(323, 109);
- this.L03.Name = "L03";
- this.L03.Size = new System.Drawing.Size(220, 145);
- this.L03.TabIndex = 40;
- this.L03.tlpBackColor = System.Drawing.Color.Lime;
- this.L03.tlpFBackColor = System.Drawing.Color.Lime;
- this.L03.tlpGBackColor = System.Drawing.Color.Lime;
- this.L03.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L02
- //
- this.L02.BackColor = System.Drawing.Color.White;
- this.L02.ForeColor = System.Drawing.Color.Black;
- this.L02.labFLowerUpper = "-3.0/2.0";
- this.L02.labFText = "F";
- this.L02.labFVal = "-0.2";
- this.L02.labGLowerUpper = "1.0/6.0";
- this.L02.labGText = "G";
- this.L02.labGVal = "4.4";
- this.L02.labTitleText = "L-02";
- this.L02.Location = new System.Drawing.Point(46, 109);
- this.L02.Name = "L02";
- this.L02.Size = new System.Drawing.Size(220, 145);
- this.L02.TabIndex = 44;
- this.L02.tlpBackColor = System.Drawing.Color.Lime;
- this.L02.tlpFBackColor = System.Drawing.Color.Lime;
- this.L02.tlpGBackColor = System.Drawing.Color.Lime;
- this.L02.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L04
- //
- this.L04.BackColor = System.Drawing.Color.White;
- this.L04.ForeColor = System.Drawing.Color.Black;
- this.L04.labFLowerUpper = "-1.0/2.0";
- this.L04.labFText = "F";
- this.L04.labFVal = "-0.1";
- this.L04.labGLowerUpper = "1.0/6.0";
- this.L04.labGText = "G";
- this.L04.labGVal = "3.1";
- this.L04.labTitleText = "L-04";
- this.L04.Location = new System.Drawing.Point(604, 109);
- this.L04.Name = "L04";
- this.L04.Size = new System.Drawing.Size(220, 145);
- this.L04.TabIndex = 43;
- this.L04.tlpBackColor = System.Drawing.Color.Lime;
- this.L04.tlpFBackColor = System.Drawing.Color.Lime;
- this.L04.tlpGBackColor = System.Drawing.Color.Lime;
- this.L04.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L06
- //
- this.L06.BackColor = System.Drawing.Color.White;
- this.L06.ForeColor = System.Drawing.Color.Black;
- this.L06.labFLowerUpper = "-2.0/2.0";
- this.L06.labFText = "F";
- this.L06.labFVal = "-0.1";
- this.L06.labGLowerUpper = "1.0/6.0";
- this.L06.labGText = "G";
- this.L06.labGVal = "3.4";
- this.L06.labTitleText = "L-06";
- this.L06.Location = new System.Drawing.Point(423, 801);
- this.L06.Name = "L06";
- this.L06.Size = new System.Drawing.Size(220, 145);
- this.L06.TabIndex = 42;
- this.L06.tlpBackColor = System.Drawing.Color.Lime;
- this.L06.tlpFBackColor = System.Drawing.Color.Lime;
- this.L06.tlpGBackColor = System.Drawing.Color.Lime;
- this.L06.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // L10
- //
- this.L10.BackColor = System.Drawing.Color.White;
- this.L10.ForeColor = System.Drawing.Color.Black;
- this.L10.labFLowerUpper = "-2.0/2.0";
- this.L10.labFText = "F";
- this.L10.labFVal = "0.3";
- this.L10.labGLowerUpper = "1.0/6.0";
- this.L10.labGText = "G";
- this.L10.labGVal = "3.7";
- this.L10.labTitleText = "L-10";
- this.L10.Location = new System.Drawing.Point(715, 801);
- this.L10.Name = "L10";
- this.L10.Size = new System.Drawing.Size(220, 145);
- this.L10.TabIndex = 38;
- this.L10.tlpBackColor = System.Drawing.Color.Lime;
- this.L10.tlpFBackColor = System.Drawing.Color.Lime;
- this.L10.tlpGBackColor = System.Drawing.Color.Lime;
- this.L10.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // FEHYLeftCarData
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(1920, 1080);
- this.Controls.Add(this.L13);
- this.Controls.Add(this.L14);
- this.Controls.Add(this.L22);
- this.Controls.Add(this.L16);
- this.Controls.Add(this.L18);
- this.Controls.Add(this.L15);
- this.Controls.Add(this.L21);
- this.Controls.Add(this.L12);
- this.Controls.Add(this.L08);
- this.Controls.Add(this.L01);
- this.Controls.Add(this.L03);
- this.Controls.Add(this.L02);
- this.Controls.Add(this.L04);
- this.Controls.Add(this.L06);
- this.Controls.Add(this.labVIN);
- this.Controls.Add(this.L10);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.btnRefresh);
- this.Controls.Add(this.pictureBox2);
- this.Controls.Add(this.pbLeftCar);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9F);
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximumSize = new System.Drawing.Size(1920, 1080);
- this.Name = "FEHYLeftCarData";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "左侧车身测量数据";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEHYLeftCarData_FormClosing);
- this.Load += new System.EventHandler(this.FEHYLeftCarData_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbLeftCar)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label labVIN;
- private System.Windows.Forms.Button btnRefresh;
- private System.Windows.Forms.PictureBox pictureBox2;
- private System.Windows.Forms.Timer tmrRefreshData;
- private System.Windows.Forms.PictureBox pbLeftCar;
- private UserControlClass.UCVWNextSense L10;
- private UserControlClass.UCVWNextSense L03;
- private UserControlClass.UCVWNextSense L06;
- private UserControlClass.UCVWNextSense L04;
- private UserControlClass.UCVWNextSense L02;
- private UserControlClass.UCVWNextSense L01;
- private UserControlClass.UCVWNextSense L08;
- private UserControlClass.UCVWNextSense L12;
- private UserControlClass.UCVWNextSense L21;
- private UserControlClass.UCVWNextSense L15;
- private UserControlClass.UCVWNextSense L18;
- private UserControlClass.UCVWNextSense L16;
- private UserControlClass.UCVWNextSense L22;
- private UserControlClass.UCVWNextSense L14;
- private UserControlClass.UCVWNextSense L13;
- }
-}
diff --git a/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx b/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx
deleted file mode 100644
index 50cce2e..0000000
--- a/Analysis/CarDataDisplayForm/FEHYLeftCarData.resx
+++ /dev/null
@@ -1,2182 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
-
-
-
- 17, 17
-
-
-
- /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa
- HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo
- KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKSBNcDASIAAhEBAxEB/8QA
- HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
- MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
- V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
- x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
- BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
- YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
- hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
- 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6popssiRIWkYKPUmq/wDaFt/z2j/76oAtUVV/tC2/57R/99Uf
- 2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z2j/76oAtUVV/tC2/
- 57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z2j/76oAt
- UVV/tC2/57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX+0Lb/ntH/31R/aFt/z
- 2j/76oAtUVV/tC2/57R/99Uf2hbf89o/++qALVFVf7Qtv+e0f/fVH9oW3/PaP/vqgC1RVX7fbf8APaP/
- AL6q0DkAjoaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
- gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
- gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
- gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
- gAooooAKKKKACiiigAooooAKKKKACiiigAooooA57xx/yA5PqK86hieV1jiQu7dAK9F8cf8AIDk/3hWZ
- 4XtkXQLi4tQGuyCMnnH0oAwxojQoGvbmG1z0Ut835U0x6RF96S4nI9ABWdcmd5yZw5lPUNnNb2i+GnuV
- FzfEwW684PU0AJpdvZ3su2205zGPvSu5wK1W03RZg0VqI5LleqeZ1rK1jWk8s2WmL5dsvDMOrVz6O0bh
- kJDA5B70AbFythbzNFdadPA47hutRrbaTMf3dzPCx/56dK1dOv7bW4hZ6oAJ8Yjl6Z9qy9a0K50tixBk
- h7OKAGXGizohltnW6i7mNs4rOIwcNuU+h4rQ0Br3+0oPsW7lhuHYj3rT8c2sEF3C8QCyyA71HSgDm8Cr
- 0Gj388YkitJWQ9Dim6LHFJqtuk/+rLfnWr4kvNQj1WWNGmSFcbAnTHrxQBnf2FqX/PnL+VQJp1y8zRLC
- 5kQZYAdBT/7Q1H/ntcfma2PBhZ9RuTMW3GM5LUAc0VwcHrUttay3Unl26F3xnArYaz0TzWJvZf8AvmtT
- w7b6ZHqStZXMjy7T8pGO1AHK29jc3MjxwQPI6feA7VbGg6kR/wAecn5V0ei7Vs9WeR2jzM2XUciqoltP
- +gpe/k1AGHNo1/DE0ktrIqL1JFMttLvLqESW8DyKeOKt6xOQmy2ubqZD97eDir9lawW2jQXc2oTwJKfu
- p0zQBlf2Fqf/AD6SflUMul3kLKs0LIW4XI6mtzz9P/6C9z+tP8SyJZaVFZrI8/m/OsrdvoaAOau7S4tG
- C3ETIT0yKjhjeaVY4lLO3QAVv6VqguljsNUHmxv8qP8AxLVnUGtvDe63sk8y8dQTK/OwGgDm7mzntZUW
- 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
- ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADFFFFA
- CUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
- AFFFFABRRRQAUUUUAFFFFABRRRQAUUZooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
- oAKKKKACiiigAooooAKKKKACiiigAooooAKKKx9Z8Sado91DbXrXRuJUMiR29pNcNtBAJIjRsDJHWgDY
- ormv+E20j/nnrP8A4Jrz/wCNUf8ACbaR/wA8tZ/8E15/8aoA6Wiua/4TbSP+ees/+Ca8/wDjVH/CbaR/
- zz1n/wAE15/8aoA6Wiua/wCE20j/AJ56z/4Jrz/41R/wm2kf889Z/wDBNef/ABqgDpaK5r/hNtI/556z
- /wCCa8/+NUf8JtpH/PPWf/BNef8AxqgDpaK5r/hNtI/556z/AOCa8/8AjVH/AAm2kf8APPWf/BNef/Gq
- AOlormv+E20j/nnrP/gmvP8A41R/wm2kf889Z/8ABNef/GqAOloqppOo2urafDfafL5trMCUfaVJwcHI
- IBByDwRVugAooooAKKKKACiiigAooooAKKKKACisvWfEGl6LNbxaldCGWdWaNNjMzBdoY4UHgbl/MVQ/
- 4Tfw/wD8/wA3/gPL/wDE0AdHRXN/8Jv4f/5/n/8AAeX/AOJo/wCE38P/APP8/wD4Dy//ABNAHSUVzf8A
- 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
- UtA4PldyK1njubeOaBg8UihlYdwalrGiB0nUTGeLG7clCTxFKeSPoxOfrn1ArZpJjnHl22CiiimSFFFF
- ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF
- ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVLVbs2dk8qANKS
- EjQnG5ycKPzP9au1jr/xMNZZxgwWPyr/ALUrDk/8BU4/4E3pSbLgle72Rc0u0FjYxQby7KCXcjG9ics3
- 4kk/jVygUUWJbbd2FFFFAgooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRQaACsvVriRnjs
- bRttzODlx/yyQdW+vYe/sDVu/u47O2eeQMQuAFUZLEnAUe5JAqtpVo8CyXF1ta9uCGlYdBjoo9gPz5Pe
- lK+yLgkveZdtLaK0t44LdAkSDCqO1S0lFFiW29WLRRRQIKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFF
- FABRRRQAUYooNABisfS/9O1C5vzkxr+4t+eAoPzt+LDH0VTUuu3EkdqsFs2Lq5byYiOoJ6t+Cgt+FW7O
- 2jtLaK3gXbFEoRV9AOlJmq92DfV/1/XzJ6KKKZkFFFFAC0UUUAFFFFABRRRQAUYHpRRQAYHoKTaPQUtF
- ADSintTTChqSigCLyEpfJT0qSigBojUdqXaPSlzRkUAFFGRRkUAFZV6NviDTH/6ZTx/idh/9lNauRWTq
- 3y6jozelywP0MT/1xUy2NKXxfJ/ka2KMCiimZiUUUUwFooooAKKKKACiiigAooooAKKKKACiiigAoooo
- AKKKKACiiigCve2sV5bSQTDMbjBwefqD2PvVTRrqRvMsrxs3lvgM2MeYpztf8QOfQg+1adZmsWsknk3V
- moN5b52DON6nG5CffHXsQDQaQaa5JbfqadFVrK6iu7WOeEko4yM8Eex9+2Ks0ENNOzCiiigQUUUUAFFF
- FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
- FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXOS+NNHjubiADVJnglaGRoNKupkDqcMA6RlTg8cE0Ad
- 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
- kVLRQBF9mg/54x/98ij7NB/zxj/75FS0UARfZoP+eMf/AHyKPs0H/PGP/vkVLRQBF9mg/wCeMf8A3yKP
- s0H/ADxj/wC+RUtFAEX2aD/njH/3yKPs0H/PGP8A75FS0UARfZoP+eMf/fIo+zQf88Y/++RUtFAEYgiH
- SNB+FSUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAYoxRRQAYoxRRQAYoxRRQAYooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
- KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k=
-
-
-
- 36
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEHYRightCarData.cs b/Analysis/CarDataDisplayForm/FEHYRightCarData.cs
deleted file mode 100644
index 944d868..0000000
--- a/Analysis/CarDataDisplayForm/FEHYRightCarData.cs
+++ /dev/null
@@ -1,322 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using DAL;
-using UserControlClass;
-using BaseFunction;
-
-namespace NSAnalysis
-{
- public partial class FEHYRightCarData : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
-
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private DataTable dtVINData = new DataTable();
- private string strLastVIN = "";
- CenterControl gCC = null;
- #endregion 全局变量
-
- #region 初始化控件
-
- #endregion 初始化控件
-
- public FEHYRightCarData(CenterControl cc)
- {
- InitializeComponent();
- gCC = cc;
- }
-
- ///
- /// 指定屏幕显示
- ///
- public void SpecifyScreenDisplay1()
- {
- try
- {
- Screen[] screens = Screen.AllScreens;
- // 指定显示在第二个显示器
- Screen secondScreen = screens[1]; //1
-
- // 设置窗体位置和大小
- this.StartPosition = FormStartPosition.Manual;
- this.Left = secondScreen.WorkingArea.Left;
- this.Top = secondScreen.WorkingArea.Top;
- this.Width = secondScreen.WorkingArea.Width;
- this.Height = secondScreen.WorkingArea.Height;
- this.Show();
- }
- catch { }
- }
- #region 初始化控件
-
-
- private void InitNextSenseControl()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- strNSName = "";//L0" + i.ToString();
- if (i <= 9)
- strNSName = "R0" + i.ToString();
- else
- {
- strNSName = "R" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- ucns.tlpBackColor = Color.White;
- ucns.tlpFBackColor = Color.White;
- ucns.tlpGBackColor = Color.White;
- ucns.labFVal = "";
- ucns.labFLowerUpper = "";
- ucns.labGVal = "";
- ucns.labGLowerUpper = "";
- }
- }
- }
-
- #endregion 初始化控件
-
- private void FEHYRightCarData_Load(object sender, EventArgs e)
- {
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- labVIN.Text = "";
- tmrRefreshData.Interval = 1100;
- tmrRefreshData.Start();
- SpecifyScreenDisplay1();
- }
-
- private void btnRefresh_Click(object sender, EventArgs e)
- {
- SpecifyScreenDisplay1();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length == 17)
- {
- string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Right EHY UI Refresh Button (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Right EHY UI Refresh Button (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- }
- }
- }
- }
-
- private void tmrRefreshData_Tick(object sender, EventArgs e)
- {
- tmrRefreshData.Stop();
- string strVIN = tmdal.SelectMaintenanceStation7VIN();
- if (strLastVIN != strVIN)
- {
- if (strVIN.ToLower().Contains("empty"))
- {
- labVIN.Text = "VIN码为空";
- //InitNextSenseOneItemControl();
- InitNextSenseControl();
- }
- else
- {
- if (strVIN.Length == 17)
- {
- string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
- MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==17):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(2);
- }
- }
- if (strVIN.Length == 21)
- {
- string strSubVIN = strVIN.Substring(0, 17);
- dtVINData.Clear();
- labVIN.Text = strSubVIN;
- string strCarType = strVIN.Substring(18, 3);
- MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:" + strCarType + " ;VIN: " + strSubVIN);
- if (strCarType.ToUpper().Contains("EHY"))
- {
- SpecifyScreenDisplay1();
- dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
- if (dtVINData.Rows.Count > 0)
- {
- refreshCarUIData(dtVINData);
- analysisTitleColor();
- }
- else
- {
- InitNextSenseControl();
- }
- gCC.ShowCarMeasureDataByCarType(2);
- }
- }
- }
- }
- strLastVIN = strVIN;
- tmrRefreshData.Start();
- }
-
- private Color analysisColorbyStatus(string strStatus)
- {
- Color colStatus = new Color();
- switch (strStatus.ToLower())
- {
- case "best":
- colStatus = Color.Lime;
- break;
-
- case "good":
- colStatus = Color.Lime;
- break;
-
- case "ng1":
- colStatus = Color.Yellow;
- break;
-
- case "ng2":
- colStatus = Color.Red;
- break;
-
- default:
- colStatus = Color.LightGray;
- break;
- }
- return colStatus;
- }
-
- private void analysisTitleColor()
- {
- string strNSName = "";
- UCVWNextSense ucns = null;
- for (int i = 1; i <= 25; i++)
- {
- if (i <= 9)
- strNSName = "R0" + i.ToString();
- else
- {
- strNSName = "R" + i.ToString();
- }
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
- {
- ucns.tlpBackColor = Color.Red;
- }
- else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
- {
- ucns.tlpBackColor = Color.LightGray;
- }
- else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
- {
- ucns.tlpBackColor = Color.Yellow;
- }
- else
- {
- ucns.tlpBackColor = Color.Lime;
- }
- }
- }
- }
-
- private void refreshCarUIData(DataTable dtData)
- {
- string strNSName = "";
- string strFGName = "";
- UCVWNextSense ucns = null;
- for (int i = 0; i < dtData.Rows.Count; i++)
- {
- strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", "");
- strFGName = dtData.Rows[i]["DimensionName"].ToString();
- ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
- if (ucns != null)
- {
- if (strFGName == "F")
- {
- ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- else
- {
- ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
- ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
- ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
- }
- }
- }
- }
-
- private void FEHYRightCarData_FormClosing(object sender, FormClosingEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs b/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs
deleted file mode 100644
index 3e4a35b..0000000
--- a/Analysis/CarDataDisplayForm/FEHYRightCarData.designer.cs
+++ /dev/null
@@ -1,516 +0,0 @@
-namespace NSAnalysis
-{
- partial class FEHYRightCarData
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEHYRightCarData));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.labVIN = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.tmrRefreshData = new System.Windows.Forms.Timer(this.components);
- this.R14 = new UserControlClass.UCVWNextSense();
- this.R15 = new UserControlClass.UCVWNextSense();
- this.R16 = new UserControlClass.UCVWNextSense();
- this.R18 = new UserControlClass.UCVWNextSense();
- this.R10 = new UserControlClass.UCVWNextSense();
- this.R08 = new UserControlClass.UCVWNextSense();
- this.R12 = new UserControlClass.UCVWNextSense();
- this.R13 = new UserControlClass.UCVWNextSense();
- this.R04 = new UserControlClass.UCVWNextSense();
- this.R02 = new UserControlClass.UCVWNextSense();
- this.R01 = new UserControlClass.UCVWNextSense();
- this.R03 = new UserControlClass.UCVWNextSense();
- this.R06 = new UserControlClass.UCVWNextSense();
- this.btnRefresh = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.pbRightCar = new System.Windows.Forms.PictureBox();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(1918, 37);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "右侧车身测量数据";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "右侧车身测量数据";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(875, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(20, 14, 20, 14);
- this.label2.Size = new System.Drawing.Size(40, 50);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(911, 7);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(164, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "右侧车身测量数据";
- //
- // labVIN
- //
- this.labVIN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.labVIN.AutoSize = true;
- this.labVIN.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.labVIN.Location = new System.Drawing.Point(760, 970);
- this.labVIN.Name = "labVIN";
- this.labVIN.Size = new System.Drawing.Size(838, 104);
- this.labVIN.TabIndex = 32;
- this.labVIN.Text = "LNNACDEBXRDA20251";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("Segoe UI", 58F);
- this.label3.Location = new System.Drawing.Point(500, 969);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(253, 104);
- this.label3.TabIndex = 33;
- this.label3.Text = "VIN:";
- //
- // tmrRefreshData
- //
- this.tmrRefreshData.Interval = 1000;
- this.tmrRefreshData.Tick += new System.EventHandler(this.tmrRefreshData_Tick);
- //
- // R14
- //
- this.R14.BackColor = System.Drawing.Color.White;
- this.R14.ForeColor = System.Drawing.Color.Black;
- this.R14.labFLowerUpper = "-2.0/2.0";
- this.R14.labFText = "F";
- this.R14.labFVal = "-0.7";
- this.R14.labGLowerUpper = "1.0/6.0";
- this.R14.labGText = "G";
- this.R14.labGVal = "3.4";
- this.R14.labTitleText = "R-14";
- this.R14.Location = new System.Drawing.Point(280, 115);
- this.R14.Name = "R14";
- this.R14.Size = new System.Drawing.Size(220, 145);
- this.R14.TabIndex = 34;
- this.R14.tlpBackColor = System.Drawing.Color.Lime;
- this.R14.tlpFBackColor = System.Drawing.Color.Lime;
- this.R14.tlpGBackColor = System.Drawing.Color.Lime;
- this.R14.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R15
- //
- this.R15.BackColor = System.Drawing.Color.White;
- this.R15.ForeColor = System.Drawing.Color.Black;
- this.R15.labFLowerUpper = "-2.0/2.0";
- this.R15.labFText = "F";
- this.R15.labFVal = "-1.4";
- this.R15.labGLowerUpper = "1.0/6.0";
- this.R15.labGText = "G";
- this.R15.labGVal = "4.2";
- this.R15.labTitleText = "R-15";
- this.R15.Location = new System.Drawing.Point(4, 113);
- this.R15.Name = "R15";
- this.R15.Size = new System.Drawing.Size(220, 145);
- this.R15.TabIndex = 35;
- this.R15.tlpBackColor = System.Drawing.Color.Lime;
- this.R15.tlpFBackColor = System.Drawing.Color.Lime;
- this.R15.tlpGBackColor = System.Drawing.Color.Lime;
- this.R15.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R16
- //
- this.R16.BackColor = System.Drawing.Color.White;
- this.R16.ForeColor = System.Drawing.Color.Black;
- this.R16.labFLowerUpper = "-2.0/2.0";
- this.R16.labFText = "F";
- this.R16.labFVal = "-0.9mm";
- this.R16.labGLowerUpper = "1.0/6.0";
- this.R16.labGText = "G";
- this.R16.labGVal = "2.5mm";
- this.R16.labTitleText = "R-16";
- this.R16.Location = new System.Drawing.Point(3, 358);
- this.R16.Name = "R16";
- this.R16.Size = new System.Drawing.Size(220, 145);
- this.R16.TabIndex = 37;
- this.R16.tlpBackColor = System.Drawing.Color.Lime;
- this.R16.tlpFBackColor = System.Drawing.Color.Lime;
- this.R16.tlpGBackColor = System.Drawing.Color.Lime;
- this.R16.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R18
- //
- this.R18.BackColor = System.Drawing.Color.White;
- this.R18.ForeColor = System.Drawing.Color.Black;
- this.R18.labFLowerUpper = "-2.0/2.0";
- this.R18.labFText = "F";
- this.R18.labFVal = "-2.0";
- this.R18.labGLowerUpper = "1.0/6.0";
- this.R18.labGText = "G";
- this.R18.labGVal = "3.8";
- this.R18.labTitleText = "R-18";
- this.R18.Location = new System.Drawing.Point(2, 560);
- this.R18.Name = "R18";
- this.R18.Size = new System.Drawing.Size(220, 145);
- this.R18.TabIndex = 38;
- this.R18.tlpBackColor = System.Drawing.Color.Lime;
- this.R18.tlpFBackColor = System.Drawing.Color.Lime;
- this.R18.tlpGBackColor = System.Drawing.Color.Lime;
- this.R18.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R10
- //
- this.R10.BackColor = System.Drawing.Color.White;
- this.R10.ForeColor = System.Drawing.Color.Black;
- this.R10.labFLowerUpper = "-2.0/2.0";
- this.R10.labFText = "F";
- this.R10.labFVal = "0.2mm";
- this.R10.labGLowerUpper = "1.0/6.0";
- this.R10.labGText = "G";
- this.R10.labGVal = "2.9mm";
- this.R10.labTitleText = "R-10";
- this.R10.Location = new System.Drawing.Point(844, 799);
- this.R10.Name = "R10";
- this.R10.Size = new System.Drawing.Size(220, 145);
- this.R10.TabIndex = 42;
- this.R10.tlpBackColor = System.Drawing.Color.Lime;
- this.R10.tlpFBackColor = System.Drawing.Color.Lime;
- this.R10.tlpGBackColor = System.Drawing.Color.Lime;
- this.R10.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R08
- //
- this.R08.BackColor = System.Drawing.Color.White;
- this.R08.ForeColor = System.Drawing.Color.Black;
- this.R08.labFLowerUpper = "-2.0/2.0";
- this.R08.labFText = "F";
- this.R08.labFVal = "0.1";
- this.R08.labGLowerUpper = "1.0/6.0";
- this.R08.labGText = "G";
- this.R08.labGVal = "2.8";
- this.R08.labTitleText = "R-08";
- this.R08.Location = new System.Drawing.Point(856, 99);
- this.R08.Name = "R08";
- this.R08.Size = new System.Drawing.Size(220, 145);
- this.R08.TabIndex = 44;
- this.R08.tlpBackColor = System.Drawing.Color.Lime;
- this.R08.tlpFBackColor = System.Drawing.Color.Lime;
- this.R08.tlpGBackColor = System.Drawing.Color.Lime;
- this.R08.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R12
- //
- this.R12.BackColor = System.Drawing.Color.White;
- this.R12.ForeColor = System.Drawing.Color.Black;
- this.R12.labFLowerUpper = "-2.0/2.0";
- this.R12.labFText = "F";
- this.R12.labFVal = "0.2mm";
- this.R12.labGLowerUpper = "1.0/6.0";
- this.R12.labGText = "G";
- this.R12.labGVal = "3.5mm";
- this.R12.labTitleText = "R-12";
- this.R12.Location = new System.Drawing.Point(560, 99);
- this.R12.Name = "R12";
- this.R12.Size = new System.Drawing.Size(220, 145);
- this.R12.TabIndex = 46;
- this.R12.tlpBackColor = System.Drawing.Color.Lime;
- this.R12.tlpFBackColor = System.Drawing.Color.Lime;
- this.R12.tlpGBackColor = System.Drawing.Color.Lime;
- this.R12.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R13
- //
- this.R13.BackColor = System.Drawing.Color.White;
- this.R13.ForeColor = System.Drawing.Color.Black;
- this.R13.labFLowerUpper = "-4.0/1.0";
- this.R13.labFText = "F";
- this.R13.labFVal = "-0.6";
- this.R13.labGLowerUpper = "3.0/9.0";
- this.R13.labGText = "G";
- this.R13.labGVal = "7.3";
- this.R13.labTitleText = "R-13";
- this.R13.Location = new System.Drawing.Point(457, 799);
- this.R13.Name = "R13";
- this.R13.Size = new System.Drawing.Size(220, 145);
- this.R13.TabIndex = 47;
- this.R13.tlpBackColor = System.Drawing.Color.Lime;
- this.R13.tlpFBackColor = System.Drawing.Color.Lime;
- this.R13.tlpGBackColor = System.Drawing.Color.Lime;
- this.R13.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R04
- //
- this.R04.BackColor = System.Drawing.Color.White;
- this.R04.ForeColor = System.Drawing.Color.Black;
- this.R04.labFLowerUpper = "-2.0/2.0";
- this.R04.labFText = "F";
- this.R04.labFVal = "0.5mm";
- this.R04.labGLowerUpper = "1.0/6.0";
- this.R04.labGText = "G";
- this.R04.labGVal = "3.5mm";
- this.R04.labTitleText = "R-04";
- this.R04.Location = new System.Drawing.Point(1128, 111);
- this.R04.Name = "R04";
- this.R04.Size = new System.Drawing.Size(220, 145);
- this.R04.TabIndex = 48;
- this.R04.tlpBackColor = System.Drawing.Color.Lime;
- this.R04.tlpFBackColor = System.Drawing.Color.Lime;
- this.R04.tlpGBackColor = System.Drawing.Color.Lime;
- this.R04.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R02
- //
- this.R02.BackColor = System.Drawing.Color.White;
- this.R02.ForeColor = System.Drawing.Color.Black;
- this.R02.labFLowerUpper = "-2.0/2.0";
- this.R02.labFText = "F";
- this.R02.labFVal = "-0.5mm";
- this.R02.labGLowerUpper = "1.0/6.0";
- this.R02.labGText = "G";
- this.R02.labGVal = "4.0mm";
- this.R02.labTitleText = "R-02";
- this.R02.Location = new System.Drawing.Point(1688, 115);
- this.R02.Name = "R02";
- this.R02.Size = new System.Drawing.Size(220, 145);
- this.R02.TabIndex = 49;
- this.R02.tlpBackColor = System.Drawing.Color.Lime;
- this.R02.tlpFBackColor = System.Drawing.Color.Lime;
- this.R02.tlpGBackColor = System.Drawing.Color.Lime;
- this.R02.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R01
- //
- this.R01.BackColor = System.Drawing.Color.White;
- this.R01.ForeColor = System.Drawing.Color.Black;
- this.R01.labFLowerUpper = "-2.0/2.0";
- this.R01.labFText = "F";
- this.R01.labFVal = "0.4mm";
- this.R01.labGLowerUpper = "1.0/6.0";
- this.R01.labGText = "G";
- this.R01.labGVal = "3.7mm";
- this.R01.labTitleText = "R-01";
- this.R01.Location = new System.Drawing.Point(1687, 723);
- this.R01.Name = "R01";
- this.R01.Size = new System.Drawing.Size(220, 145);
- this.R01.TabIndex = 55;
- this.R01.tlpBackColor = System.Drawing.Color.Lime;
- this.R01.tlpFBackColor = System.Drawing.Color.Lime;
- this.R01.tlpGBackColor = System.Drawing.Color.Lime;
- this.R01.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R03
- //
- this.R03.BackColor = System.Drawing.Color.White;
- this.R03.ForeColor = System.Drawing.Color.Black;
- this.R03.labFLowerUpper = "-3.0/2.0";
- this.R03.labFText = "F";
- this.R03.labFVal = "0.5mm";
- this.R03.labGLowerUpper = "1.0/6.0";
- this.R03.labGText = "G";
- this.R03.labGVal = "3.2mm";
- this.R03.labTitleText = "R-03";
- this.R03.Location = new System.Drawing.Point(1393, 115);
- this.R03.Name = "R03";
- this.R03.Size = new System.Drawing.Size(220, 145);
- this.R03.TabIndex = 56;
- this.R03.tlpBackColor = System.Drawing.Color.Lime;
- this.R03.tlpFBackColor = System.Drawing.Color.Lime;
- this.R03.tlpGBackColor = System.Drawing.Color.Lime;
- this.R03.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // R06
- //
- this.R06.BackColor = System.Drawing.Color.White;
- this.R06.ForeColor = System.Drawing.Color.Black;
- this.R06.labFLowerUpper = "-2.0/2.0";
- this.R06.labFText = "F";
- this.R06.labFVal = "0.1mm";
- this.R06.labGLowerUpper = "1.0/6.0";
- this.R06.labGText = "G";
- this.R06.labGVal = "3.6mm";
- this.R06.labTitleText = "R-06";
- this.R06.Location = new System.Drawing.Point(1186, 799);
- this.R06.Name = "R06";
- this.R06.Size = new System.Drawing.Size(220, 145);
- this.R06.TabIndex = 57;
- this.R06.tlpBackColor = System.Drawing.Color.Lime;
- this.R06.tlpFBackColor = System.Drawing.Color.Lime;
- this.R06.tlpGBackColor = System.Drawing.Color.Lime;
- this.R06.tlpTitleBackSize = new System.Drawing.Size(216, 49);
- //
- // btnRefresh
- //
- this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btnRefresh.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.btnRefresh.Font = new System.Drawing.Font("宋体", 3F);
- this.btnRefresh.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.btnRefresh.Image = global::NSAnalysis.Properties.Resources.Refresh64;
- this.btnRefresh.Location = new System.Drawing.Point(1705, 978);
- this.btnRefresh.Name = "btnRefresh";
- this.btnRefresh.Size = new System.Drawing.Size(92, 97);
- this.btnRefresh.TabIndex = 31;
- this.btnRefresh.UseVisualStyleBackColor = false;
- this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
- //
- // pictureBox2
- //
- this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.pictureBox2.Image = global::NSAnalysis.Properties.Resources.hexagonlogotransparent;
- this.pictureBox2.Location = new System.Drawing.Point(98, 982);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(316, 83);
- this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox2.TabIndex = 30;
- this.pictureBox2.TabStop = false;
- //
- // pbRightCar
- //
- this.pbRightCar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pbRightCar.Image = ((System.Drawing.Image)(resources.GetObject("pbRightCar.Image")));
- this.pbRightCar.Location = new System.Drawing.Point(2, 40);
- this.pbRightCar.Name = "pbRightCar";
- this.pbRightCar.Size = new System.Drawing.Size(1916, 923);
- this.pbRightCar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pbRightCar.TabIndex = 2;
- this.pbRightCar.TabStop = false;
- //
- // FEHYRightCarData
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(1920, 1080);
- this.Controls.Add(this.R02);
- this.Controls.Add(this.R06);
- this.Controls.Add(this.R03);
- this.Controls.Add(this.R01);
- this.Controls.Add(this.R04);
- this.Controls.Add(this.R13);
- this.Controls.Add(this.R12);
- this.Controls.Add(this.R08);
- this.Controls.Add(this.R10);
- this.Controls.Add(this.R18);
- this.Controls.Add(this.R16);
- this.Controls.Add(this.R15);
- this.Controls.Add(this.R14);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.labVIN);
- this.Controls.Add(this.btnRefresh);
- this.Controls.Add(this.pictureBox2);
- this.Controls.Add(this.pbRightCar);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9F);
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximumSize = new System.Drawing.Size(1920, 1080);
- this.Name = "FEHYRightCarData";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "右侧车身测量数据";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FEHYRightCarData_FormClosing);
- this.Load += new System.EventHandler(this.FEHYRightCarData_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pbRightCar)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private System.Windows.Forms.PictureBox pbRightCar;
- private System.Windows.Forms.PictureBox pictureBox2;
- private System.Windows.Forms.Button btnRefresh;
- private System.Windows.Forms.Label labVIN;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Timer tmrRefreshData;
- private UserControlClass.UCVWNextSense R14;
- private UserControlClass.UCVWNextSense R15;
- private UserControlClass.UCVWNextSense R16;
- private UserControlClass.UCVWNextSense R18;
- private UserControlClass.UCVWNextSense R10;
- private UserControlClass.UCVWNextSense R08;
- private UserControlClass.UCVWNextSense R12;
- private UserControlClass.UCVWNextSense R13;
- private UserControlClass.UCVWNextSense R04;
- private UserControlClass.UCVWNextSense R02;
- private UserControlClass.UCVWNextSense R01;
- private UserControlClass.UCVWNextSense R03;
- private UserControlClass.UCVWNextSense R06;
- }
-}
diff --git a/Analysis/CarDataDisplayForm/FEHYRightCarData.resx b/Analysis/CarDataDisplayForm/FEHYRightCarData.resx
deleted file mode 100644
index 0a028bc..0000000
--- a/Analysis/CarDataDisplayForm/FEHYRightCarData.resx
+++ /dev/null
@@ -1,2229 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
-
-
-
- 17, 17
-
-
-
- /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYa
- HSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgo
- KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAKQBRIDASIAAhEBAxEB/8QA
- HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
- MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
- V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
- x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
- BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
- YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
- hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
- 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6nT/Vj6U7uaan+rH0p3c0AAooHSuI1jxRe2mpTW8SRlEPdaAO
- 3orzweL9Q/uRflTo/FepyNtjhR29FGaAPQaK4qPWdecZFooHuMVPFqWuyHAhgB9CaAOuorkptQ1+JgHg
- hGfeon1bX16Wsbf7vNAHZUVwM3ibWIT++tVT3IqL/hMNQ/55x/lQB6HRXnn/AAmGof8APOP8qP8AhMNQ
- /wCecf5UAeh0V55/wl+of884fyo/4S/UP+eUP5UAeh0V55/wl+of88ofyo/4S/UP+eUP5UAeh0V55/wl
- +of88ofyo/4S/UP+eUP5UAeh0V55/wAJfqH/ADyh/Kj/AIS/UP8AnlD+VAHodFeef8JfqH/PKH8qP+Ev
- 1D/nlD+VAHodFeef8JfqH/PKH8qP+Ev1D/nlD+VAHodFeef8JfqH/PKH8qP+Ev1D/nlD+VAHodFcd4c8
- RXeo6j5EyRqMZ4Fb+ta3YaJarc6pcpbwswQM5wMmgDSorCm8VaTDr9torXKf2hcR+ZHHn7y1uUALRRWT
- rviHTNBW3bVrpLZbiQRRs5wCx7UAa1FNjdZI0dCCjAMCO4NOoAKKxdL8T6Vqmr32m2dyJLuy/wBcv92k
- 8Q+J9L8PtZrqlwITeSeVDn+JvT9aANuimI+aztG1/TdZkuo9Nuo53tX8uVVPKn3oA1KKxfEPifS/D8lg
- mq3Aha+lEEGf4nPatqgAooooAKKKyrXxDpl3c39vbXUckthxcqp/1fGeaANWisW28U6Lc6cl/HqEH2R3
- Mays2AWHUVLaeItIvLhYLTUbWaVuiJICTQBq0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
- RTZX2Rs2C2ATgdTQA6iuB+H/AMT9J8YTX9n5cum6vZM4m0+64lVVJ+b3GMH2pv8AwuT4f/8AQz2P5n/C
- gD0CiuR8PfEfwl4j1NNP0TW7a8vHBZYo85IAyT0qn4/+J+geBdQtLPXGnWa5jMkYjQtkA4NAHdUVwngv
- 4o+HvF6Xs2mSTR2lntEtxcL5aBmOAuT3qpY/FTTpfHWt+H7y3Npb6XsD6hLMoiZnxsXHXJz+lAHo1FVN
- S1G103TbjUL2ZYrOCJppJTyFQDJPHtXFf8Lk+H//AEM9j+bf4UAegUV5/wD8Lk+H/wD0M9j+bf4Uf8Lk
- +H//AEM9j+bf4UAegUVU0rUrTVtOt7/Tp1ntLhd8Ui5wy+ozXJ6z8R9K0PxxbeHNYinsxdRBre+lGIJX
- J/1YPrQB29FcR8RfiJY+Cp9KtZLS41HUNSm8qC0tSDIw7sB7cV2NpP8AaLeOQo0bMoYxv95c9j70ATUU
- VwPxG+JNt4K1nQdLbTLrUr3V5THDFbsoYcgd+Dyw7igDvqKjt5DLbxSNG0bOoYo3VcjoakoAKK4bw/8A
- EjTNc8fav4Wsra6afTQPMuVXdET3XI6GmfFb4i2/w9j0Z7rTp71dSuTbL5LhSjcY69etAHeUVzHgfxzo
- PjS3uJNBvVmktnMc8RBV4z7g9veq/wATPHVp4A0e31PULG8urSScRSPbqD5IP8bZ7UAdfRXEz/FXwRbN
- Etx4k0+IyxrKheTAKt0Oau6L8QvCetzyw6Tr1jdPEAz+XJkKD056UAdTRXD+E/HyeIPG/iHw6mnyRNo5
- XfceYGSQN0wMZq74y+IPhzwbeWdt4ivjaSXas0P7pn3Y6/dBoA6vNFecf8Lq8B/9Bpv/AAEm/wDiK0fD
- vxS8I+I9Zh0rRtU+030wZlj8mROFGScsoFAHbUUUUAFFFFABRUck8URxLLGh/wBpgKal1buwVJ4mY9lY
- GgCaimedEZNgkTeP4c80sjhFLMQAOpJwBQA6iojcQhA5ljCHo24YqUEEAg5B9KACimLNG0hQOpcdVzzT
- 6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
- KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAbH/
- AKtfpThTY/8AVr9KcKACvL9fieXxJcRRjc7sABXqFea6vdfYvFb3GN2x849aALE9hY6GiPeqbi6bkRnh
- RWfda7cyDbDst07LGBxXTalaWviaKKe0nVbhB0J/SqGm+DpvPDXzqIx2U8mgDI0221HVptqSPs7ux4Fa
- 1zdW3h9BDaYnvP45GOQKteJ9Q/sq1Sw0+MxhhhmA6CuKZssWYksepNAHTWmuR6gDb6yoZW+7KOCtVdU0
- m80399azyPbtyrKelYfUV0nhTVpkuFspgZYJOACM7aAMu31m9hPMgkHo4zWjZPYazMIJoRa3LD5JE6E+
- 4rX13wok7NNp5CueSnY1HpHh+LS5BeanMuY+QvYUAcxqdhNp120M4JI6HsaitYXurqOCMfM5xWh4o1Rd
- T1APD/qkG1T6+9UdNuvsd/BcYyEPP0oA2bu00TTZPs915k1wPvEcYqHzNA/54TfnVu/06z1O5a7t76KI
- yclXPINVT4ei/wCglB/31QBHp0Flf66kEULra7c47k1Sv7KaK8njihlMYbCnb1FaWiRxaf4jRPtCMiLy
- wPFLqPiK9W9nWKSIoG44oAybSzme4iV4JdrMAeO1bcmhQN4iFjEWSEJvPNVrPxHem7hWSSPyy4BO3Fba
- 3cH/AAlhl86MoYsZz3oAzZINIilKm0umK8ZwaY66OF3NZ3QUdyDWtI928zFNUtgpOcE9KhuIbi6jMcms
- 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
- FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF
- FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2P/Vr9
- KcKbH/q1+lOFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
- RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
- RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
- RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
- RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
- RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADY/uL9KMiuc1LxO9lq7aXaaLqOpXEdtHcSN
- bPAqors6qCZJEJOY26A1H/wk+o/9Cfrf/f8Asv8A5IoA6nIoyK5b/hJ9R/6E/W/+/wDZf/JFH/CT6j/0
- J+t/9/7L/wCSKAOpyKMiuW/4SfUf+hP1v/v/AGX/AMkUf8JPqP8A0J+t/wDf+y/+SKAOpyKM1y3/AAk+
- o/8AQn63/wB/7L/5Io/4SfUf+hP1v/v/AGX/AMkUAdTRXLf8JPqX/Qoa3/3/ALL/AOSKX/hJ9S/6FDW/
- +/8AZf8AyRQB1FFcv/wk+pf9Chrf/f8Asv8A5Io/4SfUv+hQ1v8A7/2X/wAkUAdRRXL/APCT6l/0KGt/
- 9/7L/wCSKbF4vkXVdOstR0DVNP8At0phimnkt3TeEZ8Hy5WPRT2oA6qiiigAooooAKKKKACiiigAoooo
- AKKKzNa13TtF8galceU05IiURs7PgZOAoJ4oA06M1zH/AAnXh/8A5+5//AOb/wCIpf8AhOvD/wDz9z/+
- Ac3/AMRQB02aM1zP/CdeH/8An7n/APAOb/4ij/hOvD//AD9z/wDgHN/8RQB02aM1zP8AwnXh/wD5+5//
- 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
- r/aP2U/aPN8/b5z+V5uMeZ5Wdm//AGtufetiuV/4QXS/+frWP/BlP/8AFUf8ILpX/PzrH/gyn/8AiqAO
- qorlf+EF0r/n51j/AMGU/wD8VR/wgulf8/Osf+DKf/4qgDqqK5X/AIQXSv8An51j/wAGU/8A8VR/wgul
- f8/Osf8Agyn/APiqAOqorlf+EF0r/n51j/wZT/8AxVJ/wgulf8/Wsf8Agyn/APiqALNj/wAlUuf+wLH/
- AOj3rs65fwz4YsNF1We7tDdyTyQCJnuLl5jt3ZAG4nHNdQOlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF
- ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF
- ABRRRQAUUUUAFFFFADV+4v0FOpq/cX6CnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU
- UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFQXv/AB7P+H86nqC9/wCPZ/w/nQBV
- ooooAKKKKACiiigAooooAKKKKACiiigAq5Z/8ekH+4v8qp1cs/8Aj0g/3F/lQBLRRRQAUUUUAFFFFABR
- RRQAUUUUAFFFFABRRRQAUUUUAFFFFAFK8/4+E/3TUZ71Jef8fCf7pqM96AAUUCigAooooAKKKKACiiig
- AooooAO1Kn+vh/3v6Gk7Uqf6+H/e/oaANCiiigAooooAKKKKACiiigAooooAKKKKACiiigArPb/Xy/73
- 9BWhWe3+ul/3v6CgBKKKKACiiigAooooAKKKKACiiigAooooAltP9e/+6P5mrhqnaf69/wDdH8zVw0AF
- FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF
- FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUANX7i/QU6mr9xfoKdQAUUUUAFFFFABRRRQ
- AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
- AVFcqzQMFGWqWigDPEc3eJvzH+NO2Sf88m/Mf41eooAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAz/AC5f
- +eTfmP8AGjy5f+eTfmP8a0MUYoAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAz/AC5f+eTfmP8AGjy5f+eT
- fmP8a0MUYoAoeXL/AM8m/Mf40eXL/wA8m/Mf41fooAoeXL/zyb8x/jVu2BW3iDdQoH6VJRQAUUUUAFFF
- FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBSvP+PhP901HV6SNJB86K31GaZ9lt/wDnjH/3yKAK
- lFW/stv/AM8Y/wDvkUfZbf8A54x/98igCpRVv7Lb/wDPGP8A75FH2W3/AOeMf/fIoAqUVb+y2/8Azxj/
- AO+RR9lt/wDnjH/3yKAKmKMVc+zQf88Y/wDvkUfZoP8AnjH/AN8igCnijFXPs0H/ADxj/wC+RR9mg/54
- x/8AfIoAp0qf6+H/AHv6GrX2a3/54x/98inLBCrBkjRSO4UCgCSiiigAooooAKKKKACiiigAooooAKKK
- KACiiigAqk8EvmOV2bWORliO30q7RQBQ+zz/AN2L/vs/4Uv2ef8Auxf99n/Cr1FAFH7PP/di/wC+z/hR
- 9nn/ALsX/fZ/wq9RQBR+zz/3Yv8Avs/4UfZ5/wC7F/32f8KvUUAUfs8/92L/AL7P+FH2ef8Auxf99n/C
- r1FAFH7PP/di/wC+z/hR9nn/ALsX/fZ/wq9RQBR8if8Aux/99n/CjyJ/7sf/AH2f8KvUUAVbeJ0lZnC/
- dA4JNWqKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA
- ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGr9xfoKdTV+4v0FOoAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
- ACiiigAooooAKKKKACiiigAooooAMUYoooAMUYoooAMUYoooAMUYoooAKKKKACiiigAooooAKKKKACii
- igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
- igAooooAKKKKACiiigAooooAKKKKACiiigBq/cX6CnU1fuL9BTqACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
- KKKAP//Z
-
-
-
- 86
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/Define/Define.cs b/Analysis/Define/Define.cs
index cc90385..547bfbd 100644
--- a/Analysis/Define/Define.cs
+++ b/Analysis/Define/Define.cs
@@ -19,306 +19,340 @@
using BaseFunction;
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Web;
using System.Windows.Forms;
namespace NSAnalysis
{
- public class LogDebugDfn
- {
- public static string strDebugFile = Application.StartupPath + "\\Debug.txt"; //保存操作log的文件
- public static string strStartTime = "";//程序启动时间
- public static string strEndTime = ""; //程序关闭时间
- }
+ public class LogDebugDfn
+ {
+ public static string strDebugFile = Application.StartupPath + "\\Debug.txt"; //保存操作log的文件
+ public static string strStartTime = "";//程序启动时间
+ public static string strEndTime = ""; //程序关闭时间
+ }
- public class ConfigDfn
- {
- #region 全局变量
+ public class ConfigDfn
+ {
+ #region 全局变量
- public static string strKeyFolder = Application.StartupPath + "\\Key";
- public static string strFileFolder = Application.StartupPath + "\\File";
- public static string strDFQFolder = Application.StartupPath + "\\DFQFiles";
- public static string strDebugFileFolder = Application.StartupPath + "\\File\\DebugFiles\\";
- public static string strThemePath = Application.StartupPath + "\\ThemeSkin\\";
- public static string strTheme = Application.StartupPath + "\\ThemeSkin\\";
+ public static string strKeyFolder = Application.StartupPath + "\\Key";
+ public static string strFileFolder = Application.StartupPath + "\\File";
+ public static string strDFQFolder = Application.StartupPath + "\\DFQFiles";
+ public static string strDebugFileFolder = Application.StartupPath + "\\File\\DebugFiles\\";
+ public static string strThemePath = Application.StartupPath + "\\ThemeSkin\\";
+ public static string strTheme = Application.StartupPath + "\\ThemeSkin\\";
- /// CheryAnalysisConfig.ini绝对路径地址
- public static string strConfigFile = Application.StartupPath + "\\File\\AnalysisConfig.ini";
+ ///
+ /// CheryAnalysisConfig.ini绝对路径地址
+ ///
+ public static string strConfigFile = Application.StartupPath + "\\File\\AnalysisConfig.ini";
- public static string strImageFile = Application.StartupPath + "\\Images\\";
- public static string strExpiredTime = "";
+ public static string strImageFile = Application.StartupPath + "\\Images\\";
+ public static string strExpiredTime = "";
- public static string strSkinName = "";
- public static string strHelpDocumentName = "";
- public static int iDeleteFlieTime;
- public static string strImagePath = "";
+ public static string strSkinName = "";
+ public static string strHelpDocumentName = "";
+ public static int iDeleteFlieTime;
+ public static string strImagePath = "";
- /// true =中文 false =英语
- public static bool bLanguage = true;
+ ///
+ /// true =中文 false =英语
+ ///
+ public static bool bLanguage = true;
- public static bool bRememberMe = false;
- public static string UserName = "";
- public static string Password = "";
+ public static bool bRememberMe = false;
+ public static string UserName = "";
+ public static string Password = "";
- public static int gtm1_60 = 5000;
- public static int gtmRMIDMode = 5000;
- public static int gtmRCMMStatus = 6000;
+ public static int gtm1_60 = 5000;
+ public static int gtmRMIDMode = 5000;
+ public static int gtmRCMMStatus = 6000;
- public static string strNextSenseCSVEH3Path = "";
- public static string strNextSenseCSVEHYPath = "";
- public static string strNextSenseSelfMeasurePath = "";
- public static string strPLCIP = "";
+ public static string strNextSenseCSVEH3Path = "";
+ public static string strNextSenseCSVEHYPath = "";
+ public static string strNextSenseSelfMeasurePath = "";
+ public static string strPLCIP = "";
- /// NextSense 测量结果
- public static bool bMeasureResult = false;
+ ///
+ /// NextSense 测量结果
+ ///
+ public static bool bMeasureResult = false;
- public static string strMeasureTime = "";
+ public static string strMeasureTime = "";
- public static double dFPY = 0.8;
- public static double dFPY2 = 0.6;
+ public static double dFPY = 0.8;
+ public static double dFPY2 = 0.6;
- public static string strCarModel = "";
- public static string strEquipNo = "";
- public static string strEquipName = "";
- public static string strIOTAddress = "";
- public static string strIOTCarTypeAddress = "";
- public static int iStartIOTFlag = 1;
- public static int iShowCarDataFlag = 0;
- public static string strShowCarLR="";
- public static string strCOMPort = "";
+ public static string strCarModel = "";
+ public static string strEquipNo = "";
+ public static string strEquipName = "";
+ public static string strIOTAddress = "";
+ public static string strIOTCarTypeAddress = "";
+ public static int iStartIOTFlag = 1;
+ public static int iShowCarDataFlag = 0;
+ public static string strShowCarLR = "";
+ public static string strCOMPort = "";
- public static int iCreateReportFlag = 0;
- public static string strStationName = "";
- public static string strUploadPath = "";
- public static string strUploadPath2 = "";
- public static double dLevel2 = 1.5;
+ public static int iCreateReportFlag = 0;
+ public static string strStationName = "";
+ public static string strUploadPath = "";
+ public static string strUploadPath2 = "";
+ public static double dLevel2 = 1.5;
- public static double dLevel3 = 2.0;
- public static string strReportPath = "";
- public static string strReportPath2 = "";
- ///
- /// 公差带百分比
- ///
- public static double dTolerancePer = 0.0;
- public static double dExceptionTolerancePer = 0.0;
- public static string strPwd = "";
- public static int iAnalysisCSVFlag=1;
- public static int iRecordEncoderFlag = 0;
- public static int iIncludeRangeFlag = 0;
- public static int iMeasureItemsCount = 0;
- public static int iFailedCarCount = 0;
- #endregion 全局变量
+ public static double dLevel3 = 2.0;
+ public static string strReportPath = "";
+ public static string strReportPath2 = "";
- public static void LoadConfig()
- {
- string strSection = "";
+ ///
+ /// 公差带百分比
+ ///
+ public static double dTolerancePer = 0.0;
- #region 读取系统配置参数
+ public static double dExceptionTolerancePer = 0.0;
+ public static string strPwd = "";
+ public static int iAnalysisCSVFlag = 1;
+ public static int iRecordEncoderFlag = 0;
+ public static int iIncludeRangeFlag = 0;
+ public static int iMeasureItemsCount = 0;
+ public static int iFailedCarCount = 0;
- strSection = "Chery";
- iDeleteFlieTime = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "DeleteDebugFileIntervalTime");
- strSkinName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ConfigSkinName");
- strTheme += strSkinName;
- strHelpDocumentName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SoftwareHelpDocument");
- strImagePath = strImageFile + FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CNCPictureName");
- bLanguage = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "Language", 0);
- bRememberMe = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "RememberMe", 0);
- strNextSenseCSVEH3Path = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEH3Path");
- strNextSenseCSVEHYPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEHYPath");
- strNextSenseSelfMeasurePath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextseneSelfMeasurePath");
- dFPY = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY"));
- dFPY2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY2"));
- strCarModel = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CarModel");
- strEquipNo = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentNo");
- strEquipName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentName");
- iStartIOTFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "StartIOTFlag");
- strIOTAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTAddress");
- strIOTCarTypeAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTCarTypeAddr");
- iShowCarDataFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "ShowDataFlag");
- strShowCarLR = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ShowData");
- dTolerancePer = FileIni.ReadDouble(ConfigDfn.strConfigFile, strSection, "TolerancePercentage");
- dExceptionTolerancePer = FileIni.ReadDouble(strConfigFile, strSection, "ExceptionPercentage");
- strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password");
- strCOMPort = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "COMPort");
+ #endregion 全局变量
- iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag");
- strStationName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "StationName");
- strUploadPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "tavascanUploadPath");
- strUploadPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "blacklabelUploadPath");
- dLevel2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level2Times"));
- dLevel3 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level3Times"));
- strReportPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath");
- strReportPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath2");
- iAnalysisCSVFlag= FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag");
- iRecordEncoderFlag = FileIni.ReadInt(strConfigFile, strSection, "RecordEncoderFlag");
+ public static void LoadConfig()
+ {
+ string strSection = "";
+
+ #region 读取系统配置参数
+
+ strSection = "Chery";
+ iDeleteFlieTime = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "DeleteDebugFileIntervalTime");
+ strSkinName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ConfigSkinName");
+ strTheme += strSkinName;
+ strHelpDocumentName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SoftwareHelpDocument");
+ strImagePath = strImageFile + FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CNCPictureName");
+ bLanguage = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "Language", 0);
+ bRememberMe = FileIni.ReadBool(ConfigDfn.strConfigFile, strSection, "RememberMe", 0);
+ strNextSenseCSVEH3Path = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEH3Path");
+ strNextSenseCSVEHYPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextsenseCSVEHYPath");
+ strNextSenseSelfMeasurePath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "NextseneSelfMeasurePath");
+ dFPY = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY"));
+ dFPY2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "FPY2"));
+ strCarModel = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "CarModel");
+ strEquipNo = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentNo");
+ strEquipName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "EquipmentName");
+ iStartIOTFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "StartIOTFlag");
+ strIOTAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTAddress");
+ strIOTCarTypeAddress = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "IOTCarTypeAddr");
+ iShowCarDataFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "ShowDataFlag");
+ strShowCarLR = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ShowData");
+ dTolerancePer = FileIni.ReadDouble(ConfigDfn.strConfigFile, strSection, "TolerancePercentage");
+ dExceptionTolerancePer = FileIni.ReadDouble(strConfigFile, strSection, "ExceptionPercentage");
+ strPwd = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Password");
+ strCOMPort = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "COMPort");
+
+ iCreateReportFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "CreateReportFlag");
+ strStationName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "StationName");
+ strUploadPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "tavascanUploadPath");
+ strUploadPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "blacklabelUploadPath");
+ dLevel2 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level2Times"));
+ dLevel3 = double.Parse(FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "Level3Times"));
+ strReportPath = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath");
+ strReportPath2 = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ReportCSVPath2");
+ iAnalysisCSVFlag = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "AnalysisCSVFlag");
+ iRecordEncoderFlag = FileIni.ReadInt(strConfigFile, strSection, "RecordEncoderFlag");
iIncludeRangeFlag = FileIni.ReadInt(strConfigFile, strSection, "IncludeRangeFlag");
- iMeasureItemsCount = FileIni.ReadInt(strConfigFile, strSection, "MeasureCarItemsCount");
- iFailedCarCount = FileIni.ReadInt(strConfigFile, strSection, "ContinuousCarCount");
- #endregion 读取系统配置参数
+ iMeasureItemsCount = FileIni.ReadInt(strConfigFile, strSection, "MeasureCarItemsCount");
+ iFailedCarCount = FileIni.ReadInt(strConfigFile, strSection, "ContinuousCarCount");
- #region 读[PLC] 参数
+ #endregion 读取系统配置参数
- strSection = "PLC";
- strPLCIP = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ModbusTcp_IP");
+ #region 读[PLC] 参数
- #endregion 读[PLC] 参数
+ strSection = "PLC";
+ strPLCIP = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "ModbusTcp_IP");
- #region 读[Timer] 参数
+ #endregion 读[PLC] 参数
- strSection = "Timer";
- gtm1_60 = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerFixedStorage") * 1000;
- gtmRMIDMode = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshMIDMode") * 1000;
- gtmRCMMStatus = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshCMMStatus") * 1000;
+ #region 读[Timer] 参数
- #endregion 读[Timer] 参数
- }
+ strSection = "Timer";
+ gtm1_60 = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerFixedStorage") * 1000;
+ gtmRMIDMode = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshMIDMode") * 1000;
+ gtmRCMMStatus = FileIni.ReadInt(ConfigDfn.strConfigFile, strSection, "TimerRefreshCMMStatus") * 1000;
- public static void LoadConfigFile()
- {
- try
- {
- #region 检查DLL是否存在
+ #endregion 读[Timer] 参数
+ }
- //if (!File.Exists(Application.StartupPath + "\\Fwlib32.dll"))
- // MyBase.TraceWriteLine("错误:Fwlib32.dll 文件丢失,程序将不能正确运行!");
- //else
- // MyBase.TraceWriteLine("Fwlib32.dll 文件存在!");
+ public static void LoadConfigFile()
+ {
+ try
+ {
+ #region 检查DLL是否存在
- #endregion 检查DLL是否存在
+ //if (!File.Exists(Application.StartupPath + "\\Fwlib32.dll"))
+ // MyBase.TraceWriteLine("错误:Fwlib32.dll 文件丢失,程序将不能正确运行!");
+ //else
+ // MyBase.TraceWriteLine("Fwlib32.dll 文件存在!");
- MyBase.TraceWriteLine("加载配置文件——>开始");
- if (File.Exists(strConfigFile))
- {
- LoadConfig();
- ConfigPlc.LoadConfig();
- DatabaseDfn.LoadConfig();
- MyBase.TraceWriteLine("加载配置文件——>完成");
- }
- else
- {
- MyBase.TraceWriteLine("配置文件不存在!");
- }
+ #endregion 检查DLL是否存在
- #region 检测文件夹,没有则创建
+ MyBase.TraceWriteLine("加载配置文件——>开始");
+ if (File.Exists(strConfigFile))
+ {
+ LoadConfig();
+
+ DatabaseDfn.LoadConfig();
+ MyBase.TraceWriteLine("加载配置文件——>完成");
+ }
+ else
+ {
+ MyBase.TraceWriteLine("配置文件不存在!");
+ }
- if (!Directory.Exists(ConfigDfn.strFileFolder))
- Directory.CreateDirectory(ConfigDfn.strFileFolder);
- if (!Directory.Exists(ConfigDfn.strDebugFileFolder))
- Directory.CreateDirectory(ConfigDfn.strDebugFileFolder);
- if (!Directory.Exists(ConfigDfn.strKeyFolder))
- Directory.CreateDirectory(ConfigDfn.strKeyFolder);
- if (!Directory.Exists(ConfigDfn.strThemePath))
- Directory.CreateDirectory(ConfigDfn.strThemePath);
- if (!Directory.Exists(ConfigDfn.strImageFile))
- Directory.CreateDirectory(ConfigDfn.strImageFile);
- if (!Directory.Exists(ConfigDfn.strDFQFolder))
- Directory.CreateDirectory(ConfigDfn.strDFQFolder);
+ #region 检测文件夹,没有则创建
- #endregion 检测文件夹,没有则创建
- }
- catch (Exception ex)
- {
- MyBase.TraceWriteLine("加载配置文件错误:" + ex.ToString());
- }
- }
- }
+ if (!Directory.Exists(ConfigDfn.strFileFolder))
+ Directory.CreateDirectory(ConfigDfn.strFileFolder);
+ if (!Directory.Exists(ConfigDfn.strDebugFileFolder))
+ Directory.CreateDirectory(ConfigDfn.strDebugFileFolder);
+ if (!Directory.Exists(ConfigDfn.strKeyFolder))
+ Directory.CreateDirectory(ConfigDfn.strKeyFolder);
+ if (!Directory.Exists(ConfigDfn.strThemePath))
+ Directory.CreateDirectory(ConfigDfn.strThemePath);
+ if (!Directory.Exists(ConfigDfn.strImageFile))
+ Directory.CreateDirectory(ConfigDfn.strImageFile);
+ if (!Directory.Exists(ConfigDfn.strDFQFolder))
+ Directory.CreateDirectory(ConfigDfn.strDFQFolder);
- public class PLCDfn
- {
- /// 上料完成状态 10=OK,其他=false
- public static int CmmPartOk = -1;
+ #endregion 检测文件夹,没有则创建
+ }
+ catch (Exception ex)
+ {
+ MyBase.TraceWriteLine("加载配置文件错误:" + ex.ToString());
+ }
+ }
+ }
- /// 清除测量结果标志位
- public static int CMMResultClear = -1;
+ public class PLCDfn
+ {
+ ///
+ /// 上料完成状态 10=OK,其他=false
+ ///
+ public static int CmmPartOk = -1;
- /// PLC心跳状态: 0 1 定时闪烁
- public static bool bPlcLiveHeart = false;
+ ///
+ /// 清除测量结果标志位
+ ///
+ public static int CMMResultClear = -1;
- /// CMM外部急停(PLC给出)
- public static bool bCMMEmengency = false;
+ ///
+ /// PLC心跳状态: 0 1 定时闪烁
+ ///
+ public static bool bPlcLiveHeart = false;
- /// PLC当前模式10:手动;20:自动;30:联机自动;40:脱机运行
- public static int bPLCMode;
+ ///
+ /// CMM外部急停(PLC给出)
+ ///
+ public static bool bCMMEmengency = false;
- /// PLC自动运行
- public static bool bAllowHome = false;
+ ///
+ /// PLC当前模式10:手动;20:自动;30:联机自动;40:脱机运行
+ ///
+ public static int bPLCMode;
- /// 托盘到位状态:10:托盘到位;0 :默认
- public static int TrayStatus;
+ ///
+ /// PLC自动运行
+ ///
+ public static bool bAllowHome = false;
- /// 允许启动指令:0=禁止启动, 1611或10 = 允许启动, -1= 未知(PLC未连接)
- public static int StartCmd = -1;
+ ///
+ /// 托盘到位状态:10:托盘到位;0 :默认
+ ///
+ public static int TrayStatus;
- /// 启动测量:10:开始测量;0 :默认
- public static int NSStartMeasure;
+ ///
+ /// 允许启动指令:0=禁止启动, 1611或10 = 允许启动, -1= 未知(PLC未连接)
+ ///
+ public static int StartCmd = -1;
- public static int CarPassFlag;
- /// 读码完成:10:默认为;0 :默认
- public static int ReadVINFinishFlag;
+ ///
+ /// 启动测量:10:开始测量;0 :默认
+ ///
+ public static int NSStartMeasure;
- /// 从工位1流向工位2:10:station1->2;0 :默认
- public static int Station1To2;
+ public static int CarPassFlag;
- /// 从工位2流向工位3:10:station1->2;0 :默认
- public static int Station2To3;
+ ///
+ /// 读码完成:10:默认为;0 :默认
+ ///
+ public static int ReadVINFinishFlag;
- /// 工件ID
- public static string PartID = "";
+ ///
+ /// 从工位1流向工位2:10:station1->2;0 :默认
+ ///
+ public static int Station1To2;
- /// 1:EH3;2:EHY
- public static int CarType;
+ ///
+ /// 从工位2流向工位3:10:station1->2;0 :默认
+ ///
+ public static int Station2To3;
- /// PLC心跳状态: 0 1 定时闪烁
- public static bool bPlcLiveTick = false;
- }
+ ///
+ /// 工件ID
+ ///
+ public static string PartID = "";
- public class HYPLCDfn
- {
- public static int testValue = 1;
- }
+ ///
+ /// 1:EH3;2:EHY
+ ///
+ public static int CarType;
- public class DatabaseDfn
- {
- public static string SqlServerName = "";
- public static string SqlDbName = "";
- public static string SqlUserName = "";
- public static string SqlPassword = "";
+ ///
+ /// PLC心跳状态: 0 1 定时闪烁
+ ///
+ public static bool bPlcLiveTick = false;
+ }
- public static string SqlConnectStr()
- {
- string strConnectString = "";
+ public class HYPLCDfn
+ {
+ public static int testValue = 1;
+ }
- LoadConfig();
+ public class DatabaseDfn
+ {
+ public static string SqlServerName = "";
+ public static string SqlDbName = "";
+ public static string SqlUserName = "";
+ public static string SqlPassword = "";
+
+ public static string SqlConnectStr()
+ {
+ string strConnectString = "";
+
+ LoadConfig();
strConnectString = @"Data Source=" + SqlServerName
- + ";initial Catalog=" + SqlDbName
- + ";User ID=" + SqlUserName
- + ";password=" + SqlPassword + ";";
+ + ";initial Catalog=" + SqlDbName
+ + ";User ID=" + SqlUserName
+ + ";password=" + SqlPassword + ";";
MyBase.TraceWriteLine("数据库连接字符串:" + strConnectString);
return strConnectString;
- }
-
- public static void LoadConfig()
- {
- string strSection = "MSDB";
- SqlServerName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlServerName");
- SqlUserName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlUserName");
- SqlPassword = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlPassword");
- SqlDbName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlDbName");
+ }
+ public static void LoadConfig()
+ {
+ string strSection = "MSDB";
+ SqlServerName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlServerName");
+ SqlUserName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlUserName");
+ SqlPassword = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlPassword");
+ SqlDbName = FileIni.ReadString(ConfigDfn.strConfigFile, strSection, "SqlDbName");
//写入日志的
MyBase.TraceWriteLine("数据库连接 SqlServerName:" + SqlServerName);
MyBase.TraceWriteLine("数据库连接 SqlUserName:" + SqlUserName);
MyBase.TraceWriteLine("数据库连接 SqlPassword:" + SqlPassword);
MyBase.TraceWriteLine("数据库连接 SqlDbName:" + SqlDbName);
-
}
}
}
\ No newline at end of file
diff --git a/Analysis/Define/MyExtensions.cs b/Analysis/Define/MyExtensions.cs
deleted file mode 100644
index 09bb0d4..0000000
--- a/Analysis/Define/MyExtensions.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace NSAnalysis
-{
- public static class EnumerableExtensions
- {
- public static double StandardDeviation(this IEnumerable values)
- {
- double avg = values.Average();
- double sum = values.Sum(d => Math.Pow(d - avg, 2));
- return Math.Sqrt((sum) / (values.Count() - 1));
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/FSoftwareSetup.cs b/Analysis/FSoftwareSetup.cs
index 8f7f3b0..8b50de0 100644
--- a/Analysis/FSoftwareSetup.cs
+++ b/Analysis/FSoftwareSetup.cs
@@ -1,17 +1,9 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
+using BaseFunction;
+using System;
using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
using System.IO;
-using System.Xml;
-
+using System.Windows.Forms;
using Telerik.WinControls.UI;
-using BaseFunction;
namespace NSAnalysis
{
diff --git a/Analysis/FormMain.cs b/Analysis/FormMain.cs
index 0ca9334..1636d4b 100644
--- a/Analysis/FormMain.cs
+++ b/Analysis/FormMain.cs
@@ -1,9 +1,9 @@
using BaseFunction;
using DAL;
-using HslCommunication.Profinet.Siemens;
+
using Newtonsoft.Json;
using NSAnalysis.Properties;
-using PLCModule;
+
using System;
using System.Collections.Generic;
using System.Data;
@@ -91,8 +91,6 @@ namespace NSAnalysis
InitializeComponent();
SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
-
-
#region 加载皮肤
ThemeResolutionService.LoadPackageFile(ConfigDfn.strTheme);
@@ -461,7 +459,7 @@ namespace NSAnalysis
{
aryLineContent = strLine.Split(',');
MyBase.TraceWriteLine("解析出NextSense CSV中的VIN为:" + aryLineContent[1]);
- strCarID = tmdal.SelectVINByCSVVIN(aryLineContent[1]);
+ //strCarID = tmdal.SelectVINByCSVVIN(aryLineContent[1]);
MyBase.TraceWriteLine("通过CSV VIN从数据库中获取的完整VIN为:" + strCarID);
if (strCarID.ToLower().Contains("nofind"))
{
@@ -588,7 +586,7 @@ namespace NSAnalysis
if (iCurrentMeasureItemsFailedCount >= ConfigDfn.iFailedCarCount)
{
MyBase.TraceWriteLine("iCurrentMeasureItemsFailedCount=" + iCurrentMeasureItemsFailedCount.ToString() + "超过报警数量" + ConfigDfn.iFailedCarCount.ToString() + " ;给PLC发送报警10。");
- PlcObject.InsertWriteQueue(PlcSignalDfn.MeasureError, (byte)10);
+
}
// 单个报告内 invalued 项超过某个值
@@ -597,8 +595,6 @@ namespace NSAnalysis
#endregion 解析EH3 CSV报告
-
-
#region 界面显示功能
labCarType.Text = "EH3";
@@ -617,7 +613,7 @@ namespace NSAnalysis
labResult.ForeColor = Color.LimeGreen;
pbResult.Image = Resources.OK;
//tmrm.Result = 1;
- PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)10);
+
}
else if (FPYPercent >= ConfigDfn.dFPY2 && FPYPercent < ConfigDfn.dFPY)
{
@@ -627,7 +623,7 @@ namespace NSAnalysis
labResult.ForeColor = Color.Yellow;
pbResult.Image = Resources.OK;
//tmrm.Result = 1;
- PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)20);
+
}
else
{
@@ -637,7 +633,7 @@ namespace NSAnalysis
labResult.ForeColor = Color.Red;
pbResult.Image = Resources.NG;
//tmrm.Result = 2;
- PlcObject.InsertWriteQueue(PlcSignalDfn.CMMResult, (byte)30);
+
}
xValues[0] = "合格 : " + OKCount.ToString();
xValues[1] = "不合格 : " + OutCount.ToString();
@@ -695,73 +691,34 @@ namespace NSAnalysis
//{
// #region 解析完报告后,重新生成客户模板报告
- // string filePath = strSaveReprotPath + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + strCarID + ".csv"; //wsp 后期还要再改
- // string strWithoutLCarVin = strCarID.Substring(1);
- // StringBuilder sb = new StringBuilder();
- // //添加表头
- // sb.Append("Measurement Info Name");
- // sb.Append(",");
- // sb.Append("Measurement Info");
- // sb.AppendLine();
- // sb.Append("Date_Time");
- // sb.Append(",");
- // sb.Append(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
- // sb.AppendLine();
- // for (int i = 0; i < listCSVTitleInfo.Count; i++)
- // {
- // if (listCSVTitleInfo[i].Contains("prodnum"))
- // {
- // listCSVTitleInfo[i] = listCSVTitleInfo[i].Replace("prodnum", "Part_ident");
- // }
- // if (listCSVTitleInfo[i].Contains(strWithoutLCarVin))
- // {
- // listCSVTitleInfo[i] = listCSVTitleInfo[i].Replace(strWithoutLCarVin, strCarID);
- // }
- // sb.Append(listCSVTitleInfo[i]);
- // sb.AppendLine();
- // }
- // sb.AppendLine();
- // sb.AppendLine();
- // sb.AppendLine();
- // sb.AppendLine();
- // sb.AppendLine();
- // //添加测量数据
- // sb.Append("Characteristic");
- // sb.Append(",");
- // sb.Append("Extension");
- // sb.Append(",");
- // sb.Append("Measured_Value");
- // sb.AppendLine();
- // foreach (DataRow row in dtCSVContent.Rows)
- // {
- // sb.Append(row.ItemArray[2]);
- // sb.Append(",");
- // sb.Append(row.ItemArray[3]);
- // sb.Append(",");
- // sb.Append(row.ItemArray[7]);
- // sb.AppendLine();
- // }
- // if (dtAllRangeDate.Rows.Count > 0)
- // {
- // foreach (DataRow row in dtAllRangeDate.Rows)
- // {
- // sb.Append(row.ItemArray[2]);
- // sb.Append(",");
- // sb.Append("G");
- // sb.Append(",");
- // sb.Append(row.ItemArray[3]);
- // sb.AppendLine();
- // }
- // }
- // sb.Append("POP");
- // sb.Append(",");
- // sb.Append("P");
- // sb.Append(",");
- // sb.Append(Math.Round(FPYPercent * 100.00d, 2).ToString("F2"));
- // sb.AppendLine();
- // // 将数据写入CSV文件
- // File.WriteAllText(filePath, sb.ToString());
- // MyBase.TraceWriteLine("客户csv报告生成完毕,路径为:" + filePath);
+ // string filePath = strSaveReprotPath +
+ // DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + strCarID + ".csv";
+ // //wsp 后期还要再改 string strWithoutLCarVin = strCarID.Substring(1);
+ // StringBuilder sb = new StringBuilder(); //添加表头 sb.Append("Measurement
+ // Info Name"); sb.Append(","); sb.Append("Measurement Info");
+ // sb.AppendLine(); sb.Append("Date_Time"); sb.Append(",");
+ // sb.Append(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+ // sb.AppendLine(); for (int i = 0; i < listCSVTitleInfo.Count; i++) {
+ // if (listCSVTitleInfo[i].Contains("prodnum")) { listCSVTitleInfo[i] =
+ // listCSVTitleInfo[i].Replace("prodnum", "Part_ident"); } if
+ // (listCSVTitleInfo[i].Contains(strWithoutLCarVin)) {
+ // listCSVTitleInfo[i] = listCSVTitleInfo[i].Replace(strWithoutLCarVin,
+ // strCarID); } sb.Append(listCSVTitleInfo[i]); sb.AppendLine(); }
+ // sb.AppendLine(); sb.AppendLine(); sb.AppendLine(); sb.AppendLine();
+ // sb.AppendLine(); //添加测量数据 sb.Append("Characteristic");
+ // sb.Append(","); sb.Append("Extension"); sb.Append(",");
+ // sb.Append("Measured_Value"); sb.AppendLine(); foreach (DataRow row in
+ // dtCSVContent.Rows) { sb.Append(row.ItemArray[2]); sb.Append(",");
+ // sb.Append(row.ItemArray[3]); sb.Append(",");
+ // sb.Append(row.ItemArray[7]); sb.AppendLine(); } if
+ // (dtAllRangeDate.Rows.Count > 0) { foreach (DataRow row in
+ // dtAllRangeDate.Rows) { sb.Append(row.ItemArray[2]); sb.Append(",");
+ // sb.Append("G"); sb.Append(","); sb.Append(row.ItemArray[3]);
+ // sb.AppendLine(); } } sb.Append("POP"); sb.Append(",");
+ // sb.Append("P"); sb.Append(","); sb.Append(Math.Round(FPYPercent *
+ // 100.00d, 2).ToString("F2")); sb.AppendLine(); // 将数据写入CSV文件
+ // File.WriteAllText(filePath, sb.ToString());
+ // MyBase.TraceWriteLine("客户csv报告生成完毕,路径为:" + filePath);
// #endregion 解析完报告后,重新生成客户模板报告
//}
@@ -1127,7 +1084,7 @@ namespace NSAnalysis
}
}
- #endregion 解析Nextsense CSV文件功能
+ #endregion 界面显示功能
#region Home Page
@@ -1481,33 +1438,7 @@ namespace NSAnalysis
}
}
- private void lpcRange_Click(object sender, EventArgs e)
- {
- }
-
- private void lpcPLCAddress_Click(object sender, EventArgs e)
- {
- string strInputPwd = MyBase.InputBox("密码", "请输入密码 : ", "", "确定", "取消");
- if (strInputPwd.Contains("-999.999"))
- {
- return;
- }
- else if (strInputPwd == ConfigDfn.strPwd)
- {
- PlcAddrSetup PLCAS = new PlcAddrSetup(3, ConfigDfn.strConfigFile);
- PLCAS.Show();
- }
- else
- {
- MessageBox.Show("密码错误! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- private void lpcPLCTest_Click(object sender, EventArgs e)
- {
- FormDebugSiemensS7 FDS7 = new FormDebugSiemensS7(SiemensPLCS.S1200);
- FDS7.Show();
- }
+
private void lpcAboutSoftware_Click(object sender, EventArgs e)
{
@@ -1598,9 +1529,6 @@ namespace NSAnalysis
{
}
-
-
-
private void tmrMonitorDBToCreateReport_Tick(object sender, EventArgs e)
{
tmrMonitorDBToCreateReport.Stop();
@@ -1881,7 +1809,9 @@ namespace NSAnalysis
{
}
}
+
#endregion
+
public class CheryIOTData
{
///
@@ -2062,4 +1992,4 @@ namespace NSAnalysis
return JsonToObject>(jsonText);
}
}
-}
+}
\ No newline at end of file
diff --git a/Analysis/FormMain.designer.cs b/Analysis/FormMain.designer.cs
index d3b4701..3dec989 100644
--- a/Analysis/FormMain.designer.cs
+++ b/Analysis/FormMain.designer.cs
@@ -32,26 +32,26 @@ namespace NSAnalysis
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
- System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
- System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
- System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title();
- Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem();
- Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem();
- Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem();
- Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem();
- System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
- System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
- System.Windows.Forms.DataVisualization.Charting.Title title2 = new System.Windows.Forms.DataVisualization.Charting.Title();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+ System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
+ System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series();
+ System.Windows.Forms.DataVisualization.Charting.Title title3 = new System.Windows.Forms.DataVisualization.Charting.Title();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem7 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem8 = new Telerik.WinControls.UI.RadListDataItem();
+ System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea4 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+ System.Windows.Forms.DataVisualization.Charting.Series series4 = new System.Windows.Forms.DataVisualization.Charting.Series();
+ System.Windows.Forms.DataVisualization.Charting.Title title4 = new System.Windows.Forms.DataVisualization.Charting.Title();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
this.label2 = new System.Windows.Forms.Label();
this.labTitle = new System.Windows.Forms.Label();
@@ -61,16 +61,7 @@ namespace NSAnalysis
this.commandBarSeparator4 = new Telerik.WinControls.UI.CommandBarSeparator();
this.radLabelElement2 = new Telerik.WinControls.UI.RadLabelElement();
this.rleReadCSVStatus = new Telerik.WinControls.UI.RadLabelElement();
- this.commandBarSeparator1 = new Telerik.WinControls.UI.CommandBarSeparator();
- this.rlePLCText = new Telerik.WinControls.UI.RadLabelElement();
- this.rlePLCStatus = new Telerik.WinControls.UI.RadLabelElement();
- this.commandBarSeparator2 = new Telerik.WinControls.UI.CommandBarSeparator();
- this.radLabelElement1 = new Telerik.WinControls.UI.RadLabelElement();
- this.rlePLCHeart = new Telerik.WinControls.UI.RadLabelElement();
this.commandBarSeparator3 = new Telerik.WinControls.UI.CommandBarSeparator();
- this.radLabelElement3 = new Telerik.WinControls.UI.RadLabelElement();
- this.rleReadDBStatus = new Telerik.WinControls.UI.RadLabelElement();
- this.commandBarSeparator5 = new Telerik.WinControls.UI.CommandBarSeparator();
this.rleMessageText = new Telerik.WinControls.UI.RadLabelElement();
this.rleMessage = new Telerik.WinControls.UI.RadLabelElement();
this.RPV = new Telerik.WinControls.UI.RadPageView();
@@ -159,10 +150,6 @@ namespace NSAnalysis
this.lpcAboutSoftware = new UserControlClass.LabPictureControl();
this.tmSystem = new System.Windows.Forms.Timer(this.components);
this.tmReadNextsenseCSV = new System.Windows.Forms.Timer(this.components);
- this.tmrReadPLCData = new System.Windows.Forms.Timer(this.components);
- this.tmrRefreshPLCStatus = new System.Windows.Forms.Timer(this.components);
- this.tmrHeartBeatConnect = new System.Windows.Forms.Timer(this.components);
- this.tmrWritePLCLive = new System.Windows.Forms.Timer(this.components);
this.tmrMonitorDBToCreateReport = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
this.radTitleBar1.SuspendLayout();
@@ -260,9 +247,9 @@ namespace NSAnalysis
this.labTitle.ForeColor = System.Drawing.Color.White;
this.labTitle.Location = new System.Drawing.Point(835, 8);
this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(240, 25);
+ this.labTitle.Size = new System.Drawing.Size(164, 25);
this.labTitle.TabIndex = 0;
- this.labTitle.Text = "海克斯康间隙面差分析系统";
+ this.labTitle.Text = "间隙面差分发软件";
//
// radStatusStrip1
//
@@ -276,16 +263,7 @@ namespace NSAnalysis
this.commandBarSeparator4,
this.radLabelElement2,
this.rleReadCSVStatus,
- this.commandBarSeparator1,
- this.rlePLCText,
- this.rlePLCStatus,
- this.commandBarSeparator2,
- this.radLabelElement1,
- this.rlePLCHeart,
this.commandBarSeparator3,
- this.radLabelElement3,
- this.rleReadDBStatus,
- this.commandBarSeparator5,
this.rleMessageText,
this.rleMessage});
this.radStatusStrip1.Location = new System.Drawing.Point(1, 1052);
@@ -340,58 +318,6 @@ namespace NSAnalysis
this.rleReadCSVStatus.Text = "●";
this.rleReadCSVStatus.TextWrap = true;
//
- // commandBarSeparator1
- //
- this.commandBarSeparator1.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
- this.commandBarSeparator1.Name = "commandBarSeparator1";
- this.radStatusStrip1.SetSpring(this.commandBarSeparator1, false);
- this.commandBarSeparator1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
- this.commandBarSeparator1.UseCompatibleTextRendering = false;
- this.commandBarSeparator1.VisibleInOverflowMenu = false;
- //
- // rlePLCText
- //
- this.rlePLCText.Name = "rlePLCText";
- this.radStatusStrip1.SetSpring(this.rlePLCText, false);
- this.rlePLCText.Text = "PLC连接状态:";
- this.rlePLCText.TextWrap = true;
- this.rlePLCText.UseCompatibleTextRendering = false;
- //
- // rlePLCStatus
- //
- this.rlePLCStatus.Font = new System.Drawing.Font("宋体", 11F);
- this.rlePLCStatus.Name = "rlePLCStatus";
- this.radStatusStrip1.SetSpring(this.rlePLCStatus, false);
- this.rlePLCStatus.Text = "●";
- this.rlePLCStatus.TextWrap = true;
- this.rlePLCStatus.UseCompatibleTextRendering = false;
- //
- // commandBarSeparator2
- //
- this.commandBarSeparator2.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
- this.commandBarSeparator2.Name = "commandBarSeparator2";
- this.radStatusStrip1.SetSpring(this.commandBarSeparator2, false);
- this.commandBarSeparator2.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
- this.commandBarSeparator2.UseCompatibleTextRendering = false;
- this.commandBarSeparator2.VisibleInOverflowMenu = false;
- //
- // radLabelElement1
- //
- this.radLabelElement1.Name = "radLabelElement1";
- this.radStatusStrip1.SetSpring(this.radLabelElement1, false);
- this.radLabelElement1.Text = "PLC心跳:";
- this.radLabelElement1.TextWrap = true;
- this.radLabelElement1.UseCompatibleTextRendering = false;
- //
- // rlePLCHeart
- //
- this.rlePLCHeart.Font = new System.Drawing.Font("宋体", 11F);
- this.rlePLCHeart.Name = "rlePLCHeart";
- this.radStatusStrip1.SetSpring(this.rlePLCHeart, false);
- this.rlePLCHeart.Text = "●";
- this.rlePLCHeart.TextWrap = true;
- this.rlePLCHeart.UseCompatibleTextRendering = false;
- //
// commandBarSeparator3
//
this.commandBarSeparator3.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
@@ -401,27 +327,6 @@ namespace NSAnalysis
this.commandBarSeparator3.UseCompatibleTextRendering = false;
this.commandBarSeparator3.VisibleInOverflowMenu = false;
//
- // radLabelElement3
- //
- this.radLabelElement3.Name = "radLabelElement3";
- this.radStatusStrip1.SetSpring(this.radLabelElement3, false);
- this.radLabelElement3.Text = "读取数据库状态:";
- this.radLabelElement3.TextWrap = true;
- //
- // rleReadDBStatus
- //
- this.rleReadDBStatus.Font = new System.Drawing.Font("宋体", 11F);
- this.rleReadDBStatus.Name = "rleReadDBStatus";
- this.radStatusStrip1.SetSpring(this.rleReadDBStatus, false);
- this.rleReadDBStatus.Text = "●";
- this.rleReadDBStatus.TextWrap = true;
- //
- // commandBarSeparator5
- //
- this.commandBarSeparator5.Name = "commandBarSeparator5";
- this.radStatusStrip1.SetSpring(this.commandBarSeparator5, false);
- this.commandBarSeparator5.VisibleInOverflowMenu = false;
- //
// rleMessageText
//
this.rleMessageText.Name = "rleMessageText";
@@ -449,7 +354,7 @@ namespace NSAnalysis
this.RPV.ItemSizeMode = ((Telerik.WinControls.UI.PageViewItemSizeMode)((Telerik.WinControls.UI.PageViewItemSizeMode.EqualWidth | Telerik.WinControls.UI.PageViewItemSizeMode.EqualHeight)));
this.RPV.Location = new System.Drawing.Point(1, 42);
this.RPV.Name = "RPV";
- this.RPV.SelectedPage = this.rpvpSetup;
+ this.RPV.SelectedPage = this.rpvpAnalysis;
this.RPV.Size = new System.Drawing.Size(1918, 1008);
this.RPV.TabIndex = 127;
this.RPV.ViewMode = Telerik.WinControls.UI.PageViewMode.NavigationView;
@@ -532,7 +437,7 @@ namespace NSAnalysis
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161)))));
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161)))));
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).HorizontalLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).Text = " 软件设置";
+ ((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).Text = " 分析主界面";
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).FocusBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(135)))), ((int)(((byte)(161)))));
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.White;
((Telerik.WinControls.UI.NavigationViewHeaderElement)(this.RPV.GetChildAt(0).GetChildAt(2))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
@@ -636,14 +541,14 @@ namespace NSAnalysis
this.dgvMeasureContent.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
this.dgvMeasureContent.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dgvMeasureContent.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- dataGridViewCellStyle1.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvMeasureContent.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle10.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ dataGridViewCellStyle10.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvMeasureContent.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
this.dgvMeasureContent.ColumnHeadersHeight = 38;
this.dgvMeasureContent.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.DimensionID,
@@ -660,20 +565,20 @@ namespace NSAnalysis
this.dgvMeasureContent.Name = "dgvMeasureContent";
this.dgvMeasureContent.ReadOnly = true;
this.dgvMeasureContent.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvMeasureContent.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle11.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ dataGridViewCellStyle11.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvMeasureContent.RowHeadersDefaultCellStyle = dataGridViewCellStyle11;
this.dgvMeasureContent.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
- dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle3.Font = new System.Drawing.Font("Segoe UI", 10F);
- dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle3;
+ dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle12.Font = new System.Drawing.Font("Segoe UI", 10F);
+ dataGridViewCellStyle12.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ this.dgvMeasureContent.RowsDefaultCellStyle = dataGridViewCellStyle12;
this.dgvMeasureContent.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 10F);
this.dgvMeasureContent.RowTemplate.Height = 38;
this.dgvMeasureContent.Size = new System.Drawing.Size(1082, 846);
@@ -993,18 +898,18 @@ namespace NSAnalysis
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.chartResultPie.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- chartArea1.Name = "ChartArea1";
- this.chartResultPie.ChartAreas.Add(chartArea1);
- legend1.Alignment = System.Drawing.StringAlignment.Center;
- legend1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- legend1.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom;
- legend1.Font = new System.Drawing.Font("Segoe UI", 10F);
- legend1.ForeColor = System.Drawing.Color.White;
- legend1.IsTextAutoFit = false;
- legend1.Name = "Legend1";
- legend1.TitleForeColor = System.Drawing.Color.White;
- this.chartResultPie.Legends.Add(legend1);
+ chartArea3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ chartArea3.Name = "ChartArea1";
+ this.chartResultPie.ChartAreas.Add(chartArea3);
+ legend2.Alignment = System.Drawing.StringAlignment.Center;
+ legend2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ legend2.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom;
+ legend2.Font = new System.Drawing.Font("Segoe UI", 10F);
+ legend2.ForeColor = System.Drawing.Color.White;
+ legend2.IsTextAutoFit = false;
+ legend2.Name = "Legend1";
+ legend2.TitleForeColor = System.Drawing.Color.White;
+ this.chartResultPie.Legends.Add(legend2);
this.chartResultPie.Location = new System.Drawing.Point(3, 3);
this.chartResultPie.Name = "chartResultPie";
this.chartResultPie.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.None;
@@ -1012,21 +917,21 @@ namespace NSAnalysis
System.Drawing.Color.Green,
System.Drawing.Color.Orange,
System.Drawing.Color.Red};
- series1.ChartArea = "ChartArea1";
- series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
- series1.Font = new System.Drawing.Font("微软雅黑", 10F);
- series1.LabelForeColor = System.Drawing.Color.White;
- series1.Legend = "Legend1";
- series1.Name = "Series1";
- this.chartResultPie.Series.Add(series1);
+ series3.ChartArea = "ChartArea1";
+ series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
+ series3.Font = new System.Drawing.Font("微软雅黑", 10F);
+ series3.LabelForeColor = System.Drawing.Color.White;
+ series3.Legend = "Legend1";
+ series3.Name = "Series1";
+ this.chartResultPie.Series.Add(series3);
this.chartResultPie.Size = new System.Drawing.Size(728, 584);
this.chartResultPie.TabIndex = 0;
this.chartResultPie.Text = "chartFPY";
- title1.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- title1.ForeColor = System.Drawing.Color.White;
- title1.Name = "Title1";
- title1.Text = "合格率";
- this.chartResultPie.Titles.Add(title1);
+ title3.Font = new System.Drawing.Font("微软雅黑", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ title3.ForeColor = System.Drawing.Color.White;
+ title3.Name = "Title1";
+ title3.Text = "合格率";
+ this.chartResultPie.Titles.Add(title3);
//
// rpvpSearch
//
@@ -1066,14 +971,14 @@ namespace NSAnalysis
this.rddlPageRecorderCount.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
this.rddlPageRecorderCount.Font = new System.Drawing.Font("Segoe UI", 12F);
this.rddlPageRecorderCount.ForeColor = System.Drawing.Color.White;
- radListDataItem1.Text = "20";
- radListDataItem2.Text = "50";
- radListDataItem3.Text = "100";
- radListDataItem4.Text = "200";
- this.rddlPageRecorderCount.Items.Add(radListDataItem1);
- this.rddlPageRecorderCount.Items.Add(radListDataItem2);
- this.rddlPageRecorderCount.Items.Add(radListDataItem3);
- this.rddlPageRecorderCount.Items.Add(radListDataItem4);
+ radListDataItem5.Text = "20";
+ radListDataItem6.Text = "50";
+ radListDataItem7.Text = "100";
+ radListDataItem8.Text = "200";
+ this.rddlPageRecorderCount.Items.Add(radListDataItem5);
+ this.rddlPageRecorderCount.Items.Add(radListDataItem6);
+ this.rddlPageRecorderCount.Items.Add(radListDataItem7);
+ this.rddlPageRecorderCount.Items.Add(radListDataItem8);
this.rddlPageRecorderCount.Location = new System.Drawing.Point(718, 9);
this.rddlPageRecorderCount.Name = "rddlPageRecorderCount";
//
@@ -1618,43 +1523,43 @@ namespace NSAnalysis
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.chartFPYLine.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- chartArea2.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White;
- chartArea2.AxisX.LineColor = System.Drawing.Color.White;
- chartArea2.AxisX.MajorGrid.LineColor = System.Drawing.Color.White;
- chartArea2.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet;
- chartArea2.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White;
- chartArea2.AxisX.MinorGrid.LineColor = System.Drawing.Color.White;
- chartArea2.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White;
- chartArea2.AxisX.TitleForeColor = System.Drawing.Color.White;
- chartArea2.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White;
- chartArea2.AxisY.LineColor = System.Drawing.Color.White;
- chartArea2.AxisY.MajorGrid.LineColor = System.Drawing.Color.White;
- chartArea2.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash;
- chartArea2.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White;
- chartArea2.AxisY.MinorGrid.LineColor = System.Drawing.Color.White;
- chartArea2.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White;
- chartArea2.AxisY.TitleForeColor = System.Drawing.Color.White;
- chartArea2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- chartArea2.Name = "ChartArea1";
- this.chartFPYLine.ChartAreas.Add(chartArea2);
+ chartArea4.AxisX.LabelStyle.ForeColor = System.Drawing.Color.White;
+ chartArea4.AxisX.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisX.MajorGrid.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisX.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.NotSet;
+ chartArea4.AxisX.MajorTickMark.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisX.MinorGrid.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisX.MinorTickMark.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisX.TitleForeColor = System.Drawing.Color.White;
+ chartArea4.AxisY.LabelStyle.ForeColor = System.Drawing.Color.White;
+ chartArea4.AxisY.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisY.MajorGrid.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash;
+ chartArea4.AxisY.MajorTickMark.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisY.MinorGrid.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisY.MinorTickMark.LineColor = System.Drawing.Color.White;
+ chartArea4.AxisY.TitleForeColor = System.Drawing.Color.White;
+ chartArea4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ chartArea4.Name = "ChartArea1";
+ this.chartFPYLine.ChartAreas.Add(chartArea4);
this.chartFPYLine.Location = new System.Drawing.Point(1240, 127);
this.chartFPYLine.Name = "chartFPYLine";
- series2.BorderWidth = 3;
- series2.ChartArea = "ChartArea1";
- series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
- series2.Color = System.Drawing.Color.Lime;
- series2.MarkerSize = 9;
- series2.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
- series2.Name = "Series1";
- this.chartFPYLine.Series.Add(series2);
+ series4.BorderWidth = 3;
+ series4.ChartArea = "ChartArea1";
+ series4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
+ series4.Color = System.Drawing.Color.Lime;
+ series4.MarkerSize = 9;
+ series4.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
+ series4.Name = "Series1";
+ this.chartFPYLine.Series.Add(series4);
this.chartFPYLine.Size = new System.Drawing.Size(596, 517);
this.chartFPYLine.TabIndex = 77;
this.chartFPYLine.Text = "chartFPY";
- title2.Font = new System.Drawing.Font("微软雅黑", 12F);
- title2.ForeColor = System.Drawing.Color.White;
- title2.Name = "Title1";
- title2.Text = "合格率";
- this.chartFPYLine.Titles.Add(title2);
+ title4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ title4.ForeColor = System.Drawing.Color.White;
+ title4.Name = "Title1";
+ title4.Text = "合格率";
+ this.chartFPYLine.Titles.Add(title4);
this.chartFPYLine.Visible = false;
//
// dgvSelectMeasureData
@@ -1667,14 +1572,14 @@ namespace NSAnalysis
this.dgvSelectMeasureData.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
this.dgvSelectMeasureData.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dgvSelectMeasureData.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle4.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvSelectMeasureData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
+ dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle13.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle13.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvSelectMeasureData.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle13;
this.dgvSelectMeasureData.ColumnHeadersHeight = 37;
this.dgvSelectMeasureData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column2,
@@ -1692,20 +1597,20 @@ namespace NSAnalysis
this.dgvSelectMeasureData.Name = "dgvSelectMeasureData";
this.dgvSelectMeasureData.ReadOnly = true;
this.dgvSelectMeasureData.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle5.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle5;
+ dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle14.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle14.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvSelectMeasureData.RowHeadersDefaultCellStyle = dataGridViewCellStyle14;
this.dgvSelectMeasureData.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
- dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 10F);
- dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle6;
+ dataGridViewCellStyle15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 10F);
+ dataGridViewCellStyle15.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle15.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ this.dgvSelectMeasureData.RowsDefaultCellStyle = dataGridViewCellStyle15;
this.dgvSelectMeasureData.RowTemplate.Height = 37;
this.dgvSelectMeasureData.Size = new System.Drawing.Size(1204, 805);
this.dgvSelectMeasureData.TabIndex = 174;
@@ -1795,14 +1700,14 @@ namespace NSAnalysis
this.dgvFPYResult.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
this.dgvFPYResult.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dgvFPYResult.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
+ dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle16.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvFPYResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle16;
this.dgvFPYResult.ColumnHeadersHeight = 37;
this.dgvFPYResult.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn9,
@@ -1819,20 +1724,20 @@ namespace NSAnalysis
this.dgvFPYResult.Name = "dgvFPYResult";
this.dgvFPYResult.ReadOnly = true;
this.dgvFPYResult.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle8;
+ dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle17.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle17.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle17.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dgvFPYResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle17;
this.dgvFPYResult.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
- dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 10F);
- dataGridViewCellStyle9.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle9;
+ dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 10F);
+ dataGridViewCellStyle18.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle18.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ this.dgvFPYResult.RowsDefaultCellStyle = dataGridViewCellStyle18;
this.dgvFPYResult.RowTemplate.Height = 37;
this.dgvFPYResult.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvFPYResult.Size = new System.Drawing.Size(1205, 798);
@@ -2021,22 +1926,6 @@ namespace NSAnalysis
this.tmReadNextsenseCSV.Interval = 300;
this.tmReadNextsenseCSV.Tick += new System.EventHandler(this.tmReadNextsenseCSV_Tick);
//
- // tmrReadPLCData
- //
- this.tmrReadPLCData.Interval = 300;
- //
- // tmrRefreshPLCStatus
- //
- this.tmrRefreshPLCStatus.Interval = 500;
- //
- // tmrHeartBeatConnect
- //
- this.tmrHeartBeatConnect.Interval = 1000;
- //
- // tmrWritePLCLive
- //
- this.tmrWritePLCLive.Interval = 1000;
- //
// tmrMonitorDBToCreateReport
//
this.tmrMonitorDBToCreateReport.Interval = 1000;
@@ -2120,12 +2009,6 @@ namespace NSAnalysis
private Telerik.WinControls.UI.RadStatusStrip radStatusStrip1;
private Telerik.WinControls.UI.RadLabelElement rleTimeText;
private Telerik.WinControls.UI.RadLabelElement rleTime;
- private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator1;
- private Telerik.WinControls.UI.RadLabelElement rlePLCText;
- private Telerik.WinControls.UI.RadLabelElement rlePLCStatus;
- private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator2;
- private Telerik.WinControls.UI.RadLabelElement radLabelElement1;
- private Telerik.WinControls.UI.RadLabelElement rlePLCHeart;
private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator3;
private Telerik.WinControls.UI.RadLabelElement rleMessageText;
public Telerik.WinControls.UI.RadLabelElement rleMessage;
@@ -2171,10 +2054,6 @@ namespace NSAnalysis
private Telerik.WinControls.UI.RadButton rbtSelectFPY;
private LabPictureControl lpcAboutSoftware;
private System.Windows.Forms.Label labSearchResult;
- private System.Windows.Forms.Timer tmrReadPLCData;
- private System.Windows.Forms.Timer tmrRefreshPLCStatus;
- private System.Windows.Forms.Timer tmrHeartBeatConnect;
- private System.Windows.Forms.Timer tmrWritePLCLive;
private System.Windows.Forms.Label labSumMeasureCount;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Panel pnlPage;
@@ -2212,9 +2091,6 @@ namespace NSAnalysis
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn MeasureItemResult;
private System.Windows.Forms.Timer tmrMonitorDBToCreateReport;
- private Telerik.WinControls.UI.RadLabelElement radLabelElement3;
- private Telerik.WinControls.UI.RadLabelElement rleReadDBStatus;
- private Telerik.WinControls.UI.CommandBarSeparator commandBarSeparator5;
private System.Windows.Forms.DataGridViewTextBoxColumn DimensionID;
private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName;
private System.Windows.Forms.DataGridViewTextBoxColumn NormalVal;
diff --git a/Analysis/FormMain.resx b/Analysis/FormMain.resx
index 26553b0..a80429b 100644
--- a/Analysis/FormMain.resx
+++ b/Analysis/FormMain.resx
@@ -150,6 +150,65 @@
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
+ aT/60aOoqt9oGogfMlqpmgAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+ JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AQOAhEQGbTF3QAABH1JREFU
+ WEe111mobmMcx/FtnnKcDJlFiDLPM+UgQy50RIZSCDdKUUKIQm7IkIgoKQ7HPAtlvJFypSjKPBbKPP8+
+ 613/09rLepe95fzqe1rredd+hv/4nJn/oLXDHeHP8FfLH+H+sF5Y7jo2/BK+Dx+0eP49LA7/m1YJq00e
+ Z+mS4NS3hc1abmzHrg59rdoyL+0floanw6mhNrJCuC9Y7CwDrU4Jxh4PKxmIHODE8FQwfniYkw4I7wYT
+ 4tdwe9gu7BHeDj+Fg0PJ+HfhvbBf2DrcHHxX83wcjg6jcvJ3Qp3mivB5+87X9fxG2CCUFoZXgt++CO+3
+ z1+GK4O5vNvEkWFQTMbsPvQHGwdikWeC03wdHgoHhb72CtzzVfg5vBgODbRJeCyYm0uGYqsZtJCPnLwr
+ Jzww7BrGAsohdgm+XddARxcGcz8fVjcwJAHH558F7hjTgrBlyzoGRrRb4MLfwhkGpokVBJydsoaT97Vj
+ uCow6Ustj7ZjfutrrVCuvSesEUYl2u2Wz5myJL1OD8+FywKfb9Gye1Af/HZ2qFSkfYNCJThZYlTyXEqJ
+ dgHH5yWLvxz2bN4m324YBOuKBiIWeCSc07xNtH34JHwTBK+/myW1XXm9OIhiec5cD4YKOBM7XS1uk3cH
+ qYcHQtWFHYJva/M2d2cwpxTXMy4Nx4UmUDUWtd0HYHp53k01/mV2svibwdhOwYKXh7dCpd0F4brJYyOm
+ fz38GGodAWnjTVfjI7VdeXWSbpER7QKOz5nPyS3elxhgtZXDzkEZ73bH9YOYOjPcGqxpI80/gk5TGZI0
+ E+mCbaPA5E7el+B9LZjHARScrcKQfGPNOW9A8NmAgLMBZu9rm/Bq2DzYwJNh2gY2Dcs24DLBHDeEkwMf
+ d/NfkZHn/Cig+K3ioavzg3xXDW3w2dB1pXmk60nh+rDMBaLSZcILdDUmr4gnPudjOiQIuIsCszu5xQXm
+ okDnhZsmj41s6IVg7lrHmg7WBMrx4ZrwRKhOdm9wGqo0rEon2gUcn3OJk9fi2wbf7t28TaxW1fXDIDau
+ DSeEf1zhRLAeoI3qaqK5pMI9HMr/vhU3fF4btfiScG7zNhEracPfhsOCvxuVywQraKn9UqzCOZ08lwl8
+ LL1sitn53eLdUuxAPwQNbqhXzJKTuMkwl37eb6kkGAWRPBfp3GZhPi+zd6XS1oXkrjB4Fyi5w6mEXFBV
+ bZr4T5qhG+1DsjH9QKs/zcCQ1H0BYqeuUV1pqfsEjaUaz5D8xufuhU7eVd2mp15IbIA5faT01pVMUxHl
+ 8tYpNJZulyyJA9H+UeDzKt+0ZrglmJvrprrhiCBifShHXaOqYnGLlupZYxF8Jf1CnvtNtAs4zzasy9bi
+ n4ajwqiOCbUJ6FpuMoJPh9RSdbVuhqhwiow8l2qiXcDxec1jcW1/TrJL8eBU7nB1jdINlWITdu92yqsx
+ f1N5zswCjs+Z/V9P3pcJhoLFZcJiWqpCpLFIS2MqXF/mGE29+cpNhlsEpfiAZ7VdeV3uUpzKDV0E7Tz/
+ ez4z8zeeNDGa23P9IwAAAABJRU5ErkJggg==
@@ -176,21 +235,11 @@
True
-
+
- iVBORw0KGgoAAAANSUhEUgAAAB4AAAAYCAYAAADtaU2/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AkVCAAngM/SOwAAAoNJREFU
- SEu1lsvLTWEUh7cIJQbEwIRipoSRiRiIAf4AxcB1YGJgIkWhFBHKyOQrA5JigmKipIQJGZCJWwauySWX
- iOf5etfu/XbrHMftV0/tvd61fr/O2e9+z2kG1GRYAUfgGjyFtwWvrblmj71/rSmwGa7Ce/jxC+yx1xln
- f1ujYDlo8h26AbdhS8Hr7rozzuqh10AaC9vgNXQN5Q0shpDX1rJePfTSs69s2A1fIDOS+zANQlPBWtYr
- X0HPvuFbIUJvwTG4At9KTd7BKgh5bS3W7XXGWT2s6al3Kr+yF2DjdZgByl16DsJYHsK+gtf1mr2xs/XQ
- y7reS2CEJsEliOG9UGsjxFoXN5LPODbhBqilV/SaYVar1eCziIaTMAZC+yHWupyA+XC53Nsb0kOv6DXD
- rGFNgIsQi/IRNFgK2+EV1OuBz24lqONgzV5nnNVDr3rGLDObRdDL+HNSq3kEM8Gv72apBb1mzTKz2VUK
- f8J5GA0LoNe7nGFmc6Eq+CoMcjQGO0F5RGbrgZ71K2lm+/J72G+ChbAHPkA0ZnyCZaCGIOvRQy899TbD
- upnN83Kzw5sid+MZqE26PIDp4I/BnVLrokf9dphh3cz22azxptJRqE0Cd7KGsZvnwkvIevWoZYZ1M5sn
- 5eYseO6qOXAXapPgIIyHkNeHIOvVQy+ltxnWzWzPU08ejzcPhHul1uUxzIKurLmWzeilp95xuvnq9dwY
- GQ6MOPKKJsINyGYyzGzWQ31c9sNPNRu66veJu5i1DoaH3KFZU4bPeByEvD4AWW+GWe3jOgxZU4ZH4SlY
- C+7S06WW9WaY1WoePIOs8V9ihlmt/EPm3xP/SXja/A/0NoOspvkJxD7h7QqkS00AAAAASUVORK5CYII=
+ iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAACFJREFUGFdjEHXq/o+OGf4DAbIACDCAAEwCLgADCAEGBgDP4STWpID5ywAAAABJ
+ RU5ErkJggg==
@@ -251,68 +300,14 @@
True
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AEGATc06Xu77gAAAihJREFU
- WEft1j1rFUEUgOH1IwYLCzEKSSAQVLBRkkZ/gEYs468w1iJoY6ud2gqKIfEXWAh2GhNrP8DYRcEETaNi
- YSHq+152YLKe3J1ELiLcAw8sO2fO7MfM7Fb96Mf/GIPYj0MYrXnsOdt6EgdwGlcwjwW8wErNY8/ZZo65
- 9vnrGMclLOIzfhUy1z72tcaWYx8uwDv7iWiQEva1hrWsWRSHMYfviIomX7FW8zjKSaxlTWt3jUk8RVQk
- ccDbOIcjNY89Z1vUJ7H2BMI4jueIOiYvcRY7sAvOfnls2GZO1Dd5hmPYEMN4hKhD4t05gOFd3MNy7S58
- eoY5bU/iIRyzEwO4jrbJdgs7YVxEc468wkkY5uZtTY51A3tQnccnRInJF5xBir24hm/I8+5jN8y1T97W
- 5JiO3VmvUUJuFc5g372PbgRHcQc/kPLe4CBc+/bJa0Qcu1rKTmzGYhZ1d3uCD3iPj8hfnRfgpCy9AFdF
- 8Stwe3W+uN1GOZpF6StYxzQ6E8EJ0TYJb8I4hddotnvONsPcZntuwyQ0fK8ujSg5cWlNwXDJufTe1vJl
- aM6WlmEKNwc3iahD4iaTLiLaiGxr24iceH9sRClO4DGijomTy3Xe3Io91zbxrO0YXWMMTqaSj5EDquRj
- ZE1rF4Wfzhn4ONsmZzf2tYa1ij/HebieL2O7PyT23dYPSTOG4D5wFQ/g75d39q7msedsM8dc+/Qk/slP
- aT/60aOoqt9oGogfMlqpmgAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AQOAhEQGbTF3QAABH1JREFU
- WEe111mobmMcx/FtnnKcDJlFiDLPM+UgQy50RIZSCDdKUUKIQm7IkIgoKQ7HPAtlvJFypSjKPBbKPP8+
- 613/09rLepe95fzqe1rredd+hv/4nJn/oLXDHeHP8FfLH+H+sF5Y7jo2/BK+Dx+0eP49LA7/m1YJq00e
- Z+mS4NS3hc1abmzHrg59rdoyL+0floanw6mhNrJCuC9Y7CwDrU4Jxh4PKxmIHODE8FQwfniYkw4I7wYT
- 4tdwe9gu7BHeDj+Fg0PJ+HfhvbBf2DrcHHxX83wcjg6jcvJ3Qp3mivB5+87X9fxG2CCUFoZXgt++CO+3
- z1+GK4O5vNvEkWFQTMbsPvQHGwdikWeC03wdHgoHhb72CtzzVfg5vBgODbRJeCyYm0uGYqsZtJCPnLwr
- Jzww7BrGAsohdgm+XddARxcGcz8fVjcwJAHH558F7hjTgrBlyzoGRrRb4MLfwhkGpokVBJydsoaT97Vj
- uCow6Ustj7ZjfutrrVCuvSesEUYl2u2Wz5myJL1OD8+FywKfb9Gye1Af/HZ2qFSkfYNCJThZYlTyXEqJ
- dgHH5yWLvxz2bN4m324YBOuKBiIWeCSc07xNtH34JHwTBK+/myW1XXm9OIhiec5cD4YKOBM7XS1uk3cH
- qYcHQtWFHYJva/M2d2cwpxTXMy4Nx4UmUDUWtd0HYHp53k01/mV2svibwdhOwYKXh7dCpd0F4brJYyOm
- fz38GGodAWnjTVfjI7VdeXWSbpER7QKOz5nPyS3elxhgtZXDzkEZ73bH9YOYOjPcGqxpI80/gk5TGZI0
- E+mCbaPA5E7el+B9LZjHARScrcKQfGPNOW9A8NmAgLMBZu9rm/Bq2DzYwJNh2gY2Dcs24DLBHDeEkwMf
- d/NfkZHn/Cig+K3ioavzg3xXDW3w2dB1pXmk60nh+rDMBaLSZcILdDUmr4gnPudjOiQIuIsCszu5xQXm
- okDnhZsmj41s6IVg7lrHmg7WBMrx4ZrwRKhOdm9wGqo0rEon2gUcn3OJk9fi2wbf7t28TaxW1fXDIDau
- DSeEf1zhRLAeoI3qaqK5pMI9HMr/vhU3fF4btfiScG7zNhEracPfhsOCvxuVywQraKn9UqzCOZ08lwl8
- LL1sitn53eLdUuxAPwQNbqhXzJKTuMkwl37eb6kkGAWRPBfp3GZhPi+zd6XS1oXkrjB4Fyi5w6mEXFBV
- bZr4T5qhG+1DsjH9QKs/zcCQ1H0BYqeuUV1pqfsEjaUaz5D8xufuhU7eVd2mp15IbIA5faT01pVMUxHl
- 8tYpNJZulyyJA9H+UeDzKt+0ZrglmJvrprrhiCBifShHXaOqYnGLlupZYxF8Jf1CnvtNtAs4zzasy9bi
- n4ajwqiOCbUJ6FpuMoJPh9RSdbVuhqhwiow8l2qiXcDxec1jcW1/TrJL8eBU7nB1jdINlWITdu92yqsx
- f1N5zswCjs+Z/V9P3pcJhoLFZcJiWqpCpLFIS2MqXF/mGE29+cpNhlsEpfiAZ7VdeV3uUpzKDV0E7Tz/
- ez4z8zeeNDGa23P9IwAAAABJRU5ErkJggg==
-
-
17, 17
127, 14
-
- 310, 14
-
-
- 463, 14
-
-
- 640, 18
-
-
- 821, 18
-
- 970, 18
+ 310, 14
61
diff --git a/Analysis/LabPictureControl.cs b/Analysis/LabPictureControl.cs
deleted file mode 100644
index 861858b..0000000
--- a/Analysis/LabPictureControl.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace UserControlClass
-{
- public partial class LabPictureControl : UserControl
- {
- public LabPictureControl()
- {
- InitializeComponent();
- }
-
- ///
- /// 添加LabelText属性,可以对labelText进行设置
- ///
- public string LabelText
- {
- get { return labText.Text; }
- set { labText.Text = value; }
- }
-
- ///
- /// 上面Label的图片图片连接
- ///
- public Image LabelTopImage
- {
- get { return labPicture.Image; }
- set { labPicture.Image = value; }
- }
-
- ///
- /// 文字位置坐标
- ///
- public Point LabelPoint
- {
- get { return labText.Location; }
- set { labText.Location = value; }
- }
-
- private void labPicture_MouseHover(object sender, EventArgs e)
- {
- LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent;
- lpc.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void labPicture_MouseLeave(object sender, EventArgs e)
- {
- LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent;
- lpc.BackColor = Color.FromArgb(19, 46, 53);
- }
-
- private void labText_MouseHover(object sender, EventArgs e)
- {
- LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent;
- lpc.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void labText_MouseLeave(object sender, EventArgs e)
- {
- LabPictureControl lpc = (LabPictureControl)(sender as Label).Parent;
- lpc.BackColor = Color.FromArgb(19, 46, 53);
- }
-
- private void LabPictureControl_MouseHover(object sender, EventArgs e)
- {
- LabPictureControl lpc = sender as LabPictureControl;
- lpc.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void LabPictureControl_MouseLeave(object sender, EventArgs e)
- {
- LabPictureControl lpc = sender as LabPictureControl;
- lpc.BackColor = Color.FromArgb(19, 46, 53);
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/LabPictureControl.designer.cs b/Analysis/LabPictureControl.designer.cs
deleted file mode 100644
index 9899bbd..0000000
--- a/Analysis/LabPictureControl.designer.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-namespace UserControlClass
-{
- public partial class LabPictureControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- this.labText = new System.Windows.Forms.Label();
- this.labPicture = new System.Windows.Forms.Label();
- this.SuspendLayout();
- //
- // labText
- //
- this.labText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.labText.Location = new System.Drawing.Point(2, 59);
- this.labText.Name = "labText";
- this.labText.Size = new System.Drawing.Size(83, 25);
- this.labText.TabIndex = 1;
- this.labText.Text = "添加抽屉";
- this.labText.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- this.labText.MouseLeave += new System.EventHandler(this.labText_MouseLeave);
- this.labText.MouseHover += new System.EventHandler(this.labText_MouseHover);
- //
- // labPicture
- //
- this.labPicture.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.labPicture.Location = new System.Drawing.Point(0, 3);
- this.labPicture.Name = "labPicture";
- this.labPicture.Padding = new System.Windows.Forms.Padding(17, 21, 17, 21);
- this.labPicture.Size = new System.Drawing.Size(86, 54);
- this.labPicture.TabIndex = 0;
- this.labPicture.MouseLeave += new System.EventHandler(this.labPicture_MouseLeave);
- this.labPicture.MouseHover += new System.EventHandler(this.labPicture_MouseHover);
- //
- // LabPictureControl
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.Controls.Add(this.labText);
- this.Controls.Add(this.labPicture);
- this.Font = new System.Drawing.Font("Segoe UI", 9.75F);
- this.ForeColor = System.Drawing.Color.White;
- this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.Name = "LabPictureControl";
- this.Size = new System.Drawing.Size(86, 85);
- this.MouseLeave += new System.EventHandler(this.LabPictureControl_MouseLeave);
- this.MouseHover += new System.EventHandler(this.LabPictureControl_MouseHover);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- public System.Windows.Forms.Label labPicture;
- public System.Windows.Forms.Label labText;
- }
-}
diff --git a/Analysis/LabPictureControl.resx b/Analysis/LabPictureControl.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/Analysis/LabPictureControl.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/Analysis/Model/SQLHelper.cs b/Analysis/Model/SQLHelper.cs
deleted file mode 100644
index a703f7c..0000000
--- a/Analysis/Model/SQLHelper.cs
+++ /dev/null
@@ -1,317 +0,0 @@
-
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Data.SqlClient;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace DAL
-{
- public class SQLHelper
- {
- private static SqlConnection conn = null;
- private static SqlCommand cmd = null;
- private static SqlDataReader sdr = null;
- public static string connStr = "";
-
- public static int iFlag = 0;
-
- private static SqlConnection GetConn()
- {
- conn = new SqlConnection(connStr);
- if (conn.State == ConnectionState.Closed)
- {
- try
- {
- conn.Open();
- }
- catch (Exception ex)
- {
- if (iFlag == 0)
- {
- iFlag++;//必须放在前面,这样才起左右,放在后面,不会赋值 如果不点击确定的话
-
- //MyBase.TraceWriteLine(" 数据库打开连接失败" +ex.ToString());
- MessageBox.Show("数据库打开连接失败,请检查数据库是否正确连接!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- return conn;
- }
- }
- return conn;
- }
-
- #region 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
-
- ///
- /// 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
- ///
- /// 增删改SQL语句或存储过程
- /// 命令类型
- /// 返回受影响的行数
- public static int ExecuteNonQuery(string cmdText, CommandType ct)
- {
- int res = 0;
- try
- {
- cmd = new SqlCommand(cmdText, GetConn());
- cmd.CommandType = ct;
- res = cmd.ExecuteNonQuery(); //返回受影响的行数
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn.State == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- return res;
- }
-
- #endregion 执行不带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
-
- #region 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
-
- ///
- /// 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
- ///
- /// 增删改SQL语句或存储过程
- /// 命令类型
- /// 返回受影响的行数
- public static int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
- {
- int res = 0;
-
- using (cmd = new SqlCommand(cmdText, GetConn()))
- {
- cmd.CommandType = ct;
- cmd.Parameters.AddRange(paras);
- res = cmd.ExecuteNonQuery();
- }
- return res;
- }
-
- #endregion 执行带参数的增删改SQL语句或存储过程 返回int类型 返回受影响的行数
-
- #region 执行不带参数的查询SQL语句或存储过程 返回DataTable类型
-
- ///
- /// 执行不带参数的查询SQL语句或存储过程 返回DataTable类型
- ///
- /// 查询SQL语句或存储过程
- /// 命令类型
- /// DataTable型
- public static DataTable ExecuteQuery(string cmdText, CommandType ct)
- {
- DataTable dt = new DataTable();
- cmd = new SqlCommand(cmdText, GetConn());
- cmd.CommandType = ct;
- using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
- {
- dt.Load(sdr);
- }
- return dt;
- }
-
- #endregion 执行不带参数的查询SQL语句或存储过程 返回DataTable类型
-
- #region 执行带参数的查询SQL语句或存储过程 返回DataTable类型
-
- ///
- /// 执行带参数的查询SQL语句或存储过程 返回DataTable类型
- ///
- /// 查询SQL语句或存储过程
- /// 参数集合
- /// 命令类型
- /// DataTable型
- public static DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
- {
- DataTable dt = new DataTable();
- cmd = new SqlCommand(cmdText, GetConn());
- cmd.CommandType = ct;
- cmd.Parameters.AddRange(paras);
- using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
- {
- dt.Load(sdr);
- }
- return dt;
- }
-
- #endregion 执行带参数的查询SQL语句或存储过程 返回DataTable类型
-
- ///
- /// 执行SQL语句并返回DataSet
- ///
- /// SQL语句
- ///
- public static DataSet ExecuteDs(String Sqlstr)
- {
- using (SqlDataAdapter da = new SqlDataAdapter(Sqlstr, GetConn()))
- {
- DataSet ds = new DataSet();
- da.Fill(ds);
- return ds;
- }
- }
-
- ///
- /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
- ///
- /// 数据库连接
- /// 存储过程名
- /// 存储过程参数
- /// SqlCommand
- private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, SqlParameter[] parameters)
- {
- SqlCommand command = new SqlCommand(storedProcName, connection);
- command.CommandType = CommandType.StoredProcedure;
- foreach (SqlParameter parameter in parameters)
- {
- if (parameter != null)
- {
- // 检查未分配值的输出参数,将其分配以DBNull.Value.
- if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null))
- {
- parameter.Value = DBNull.Value;
- }
- command.Parameters.Add(parameter);
- }
- }
-
- return command;
- }
-
- ///
- /// 执行存储过程
- ///
- /// 存储过程名
- /// 存储过程参数
- /// DataSet结果中的表名
- /// DataSet
- public static DataSet RunProcedure(string storedProcName, SqlParameter[] parameters, string tableName)
- {
- using (SqlConnection connection = new SqlConnection(connStr))
- {
- DataSet dataSet = new DataSet();
- connection.Open();
- SqlDataAdapter sqlDA = new SqlDataAdapter();
- sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
- sqlDA.Fill(dataSet, tableName);
- connection.Close();
- return dataSet;
- }
- }
-
- #region 使用SqlBulkCopy插入测量数据
-
- ///
- /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样
- ///
- /// 要插入的数据表
- public static int InsertMeasureDataToDB(DataTable InsertDT)
- {
- int iResult = 1;
- using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn()))
- {
- try
- {
- bulkCopy.DestinationTableName = "TMeasureData";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活
- bulkCopy.ColumnMappings.Add("CarID", "CarID");//映射字段名 DataTable列名 ,数据库 对应的列名
- bulkCopy.ColumnMappings.Add("CarType", "CarType");//映射字段名 DataTable列名 ,数据库 对应的列名
- bulkCopy.ColumnMappings.Add("MeasPointName", "MeasPointName");
- bulkCopy.ColumnMappings.Add("DimensionName", "DimensionName");
- bulkCopy.ColumnMappings.Add("NormalValue", "NormalValue");
- bulkCopy.ColumnMappings.Add("LowerTolVal", "LowerTolVal");
- bulkCopy.ColumnMappings.Add("UpperTolVal", "UpperTolVal");
- bulkCopy.ColumnMappings.Add("MeasureValue", "MeasureValue");
- bulkCopy.ColumnMappings.Add("MeasureItemResult", "MeasureItemResult");
- bulkCopy.ColumnMappings.Add("MeasureDate", "MeasureDate");
- bulkCopy.ColumnMappings.Add("Remark", "Remark");
- bulkCopy.WriteToServer(InsertDT);
- }
- catch (Exception ex)
- {
- MessageBox.Show("批量插入测量数据到数据库失败!原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- iResult = -1;
- }
- }
- return iResult;
- }
-
-
- #endregion 使用SqlBulkCopy插入测量数据
-
- #region 使用SqlBulkCopy插入批量数据方法
-
- ///
- /// 要插入的数据表的结构,与函数内部定义的映射表要一模一样
- ///
- /// 要插入的数据表
- public static void TWorkpieceListToSQLServer(DataTable InsertDT)
- {
- using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetConn()))
- {
- try
- {
- bulkCopy.DestinationTableName = "TWorkpieceList";//要插入的表的表明,创造映射关系,比下面的直接写表名称 更加灵活
- bulkCopy.ColumnMappings.Add("WorkpieceID", "WorkpieceID");//映射字段名 DataTable列名 ,数据库 对应的列名
- bulkCopy.ColumnMappings.Add("DrawerID", "DrawerID");
- bulkCopy.ColumnMappings.Add("WorkpieceType", "WorkpieceType");
- bulkCopy.ColumnMappings.Add("TrayType", "TrayType");
- bulkCopy.ColumnMappings.Add("WorkpieceStatus", "WorkpieceStatus");
- bulkCopy.ColumnMappings.Add("WorkpiecePos", "WorkpiecePos");
- bulkCopy.WriteToServer(InsertDT);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- finally
- {
- // Close the SqlDataReader. The SqlBulkCopy
- // object is automatically closed at the end
- // of the using block.
- }
- }
- }
-
- #endregion 使用SqlBulkCopy插入批量数据方法
-
- #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
-
- ///
- /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中,用此函数,创建的InsertDataTable类型必须跟数据库中的类型,列数一模一样
- ///
- /// 数据库中对应的表名
- /// 数据集
- public static void SqlBulkCopyInsert(string strDBTableName, DataTable InsertDataTable)
- {
- try
- {
- using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(GetConn()))//引用SqlBulkCopy
- {
- sqlRevdBulkCopy.DestinationTableName = strDBTableName;//数据库中对应的表名
-
- sqlRevdBulkCopy.NotifyAfter = InsertDataTable.Rows.Count;//有几行数据
-
- sqlRevdBulkCopy.WriteToServer(InsertDataTable);//数据导入数据库
-
- sqlRevdBulkCopy.Close();//关闭连接
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("数据库处理出错,SqlBulkCopyInsert,原因:" + ex.Message);
- throw (ex);
- }
- }
-
- #endregion 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- }
-}
\ No newline at end of file
diff --git a/Analysis/Model/TMeasureDataModel.cs b/Analysis/Model/TMeasureDataModel.cs
index 2a2e6b1..70d508b 100644
--- a/Analysis/Model/TMeasureDataModel.cs
+++ b/Analysis/Model/TMeasureDataModel.cs
@@ -1,69 +1,65 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DAL
+namespace DAL
{
- public class TMeasureDataModel
- {
- ///
- /// Id
- ///
- public int? Id { get; set; }
+ public class TMeasureDataModel
+ {
+ ///
+ /// Id
+ ///
+ public int? Id { get; set; }
- ///
- /// 车身ID
- ///
- public string CarID { get; set; }
- ///
- /// 车身类型
- ///
- public string CarType{ get; set; }
- ///
- /// 测量点名称
- ///
- public string MeasPointName { get; set; }
+ ///
+ /// 车身ID
+ ///
+ public string CarID { get; set; }
- ///
- /// 测点尺寸名称:F面差 G间隙
- ///
- public string DimensionName { get; set; }
+ ///
+ /// 车身类型
+ ///
+ public string CarType { get; set; }
- ///
- /// 测量值
- ///
- public string MeasureValue { get; set; }
+ ///
+ /// 测量点名称
+ ///
+ public string MeasPointName { get; set; }
- ///
- /// 测量结果 :Good NoGood Rejected
- ///
- public string MeasureItemResult { get; set; }
+ ///
+ /// 测点尺寸名称:F面差 G间隙
+ ///
+ public string DimensionName { get; set; }
- ///
- /// 标准值
- ///
- public string NormalValue { get; set; }
+ ///
+ /// 测量值
+ ///
+ public string MeasureValue { get; set; }
- ///
- /// 测量时间
- ///
- public string MeasureDate { get; set; }
+ ///
+ /// 测量结果 :Good NoGood Rejected
+ ///
+ public string MeasureItemResult { get; set; }
- ///
- /// 下公差
- ///
- public string LowerTolVal { get; set; }
+ ///
+ /// 标准值
+ ///
+ public string NormalValue { get; set; }
- ///
- /// 上公差
- ///
- public string UpperTolVal { get; set; }
+ ///
+ /// 测量时间
+ ///
+ public string MeasureDate { get; set; }
- ///
- /// 备注
- ///
- public string Remark { get; set; }
- }
+ ///
+ /// 下公差
+ ///
+ public string LowerTolVal { get; set; }
+
+ ///
+ /// 上公差
+ ///
+ public string UpperTolVal { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ }
}
\ No newline at end of file
diff --git a/Analysis/Model/TMeasureMSSQLDAL.cs b/Analysis/Model/TMeasureMSSQLDAL.cs
deleted file mode 100644
index 14bfa42..0000000
--- a/Analysis/Model/TMeasureMSSQLDAL.cs
+++ /dev/null
@@ -1,366 +0,0 @@
-using System.Data;
-using System.Data.SqlClient;
-
-namespace DAL
-{
- public class TMeasureMSSQLDAL
- {
- #region Select Function
-
- public int SelectTMeasureResultCount()
- {
- string strSql = "select COUNT(*) from TMeasureResult";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return int.Parse(dt.Rows[0][0].ToString());
- }
-
- public string SelectNo6MeasureResult()
- {
- string strSql = "select top 6 CarID from TMeasureResult order by MeasureDate desc";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt.Rows[5][0].ToString();
- }
-
- public DataTable SelectNewestTMeasureResult()
- {
- string strSql = "select top(1) Id,CarID,MeasureDate,Remark from TMeasureResult order by MeasureDate DESC";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectTMeasureDataByVIN(string strVIN)
- {
- string strSql = "select * from TMeasureData where CarID ='" + strVIN + "'";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public string SelectOneMeasureValueByCondition(string strCarID, string strMeaPointName, string strDimensionName = "G")
- {
- DataTable dt = new DataTable();
- string strSql = "select MeasureValue from TMeasureData where CarID = '" + strCarID + "' and MeasPointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count == 1)
- {
- return dt.Rows[0][0].ToString();
- }
- else
- {
- return "NoFind";
- }
- }
-
- public bool CheckVINExistInDB(string strVIN)
- {
- bool bReusult = false;
- string strSql = "select Id from TMeasureResult where CarID = '" + strVIN + "'";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count >= 2)
- {
- bReusult = true;
- }
- return bReusult;
- }
-
- public string SelectCarTypeByVIN(string strVIN)
- {
- string strSql = "select CarType from TMeasureResult where CarID = '" + strVIN + "'";
- DataTable dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count == 1)
- {
- return dt.Rows[0][0].ToString();
- }
- else
- {
- return "unknown";
- }
- }
-
- public DataTable SelectMeasureValuebyMeasureNameAndSize(string strMeasureName, string strSizeName, int topCount)
- {
- string strSql = "select top " + topCount.ToString() + " MeasureValue,NormalValue ,LowerTolVal,UpperTolVal from TMeasureData where MeasPointName='" + strMeasureName + "' and DimensionName='" + strSizeName + "' order by MeasureDate DESC ";
- return SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- }
-
- public DataTable SelectAllMeasPointName()
- {
- string strSql = "select distinct MeasPointName from TMeasureData";
- return SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- }
-
- public DataTable SelectTMeasureDataByCarIDAndTime(string strCarID, string strStartTime, string strEndTime)
- {
- DataTable dt = new DataTable();
- string strSql = "select CarID, MeasPointName,DimensionName,NormalValue ,LowerTolVal,UpperTolVal,MeasureValue, MeasureDate, MeasureItemResult from TMeasureData where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectTMeasureDataByCarIDAndMPN(string strCarID, string strMeaPointName)
- {
- DataTable dt = new DataTable();
- string strSql = "select MeasPointName,DimensionName,LowerTolVal,UpperTolVal,MeasureValue, MeasureItemResult,Remark from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS ";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectMeasureItems(string strCarID, string strMeaPointName)
- {
- DataTable dt = new DataTable();
- string strSql = "select distinct MeasPointName from TMeasureData where CarID like '%" + strCarID + "%' and MeasPointName like '%" + strMeaPointName + "%' COLLATE Chinese_PRC_CS_AI_WS ";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectAllTMeasureResult()
- {
- DataTable dt = new DataTable();
- string strSql = "select * from TMeasureResult";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectTMeasureResultByTime(string strCarID, string strStartTime, string strEndTime)
- {
- DataTable dt = new DataTable();
- string strSql = "select CarID,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,case Result when 1 then '合格' else '不合格' end as Result from TMeasureResult where CarID like '%" + strCarID + "%' and MeasureDate >= '" + strStartTime + "' and MeasureDate <= '" + strEndTime + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public string SelectMaintenanceStation7VIN()
- {
- DataTable dt = new DataTable();
- string strSql = "select Station7PartID from MaintenanceInfo where Id=1";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt.Rows[0][0].ToString();
- }
-
- public string SelectMaintenanceStationVINbyStationNo(int sno)
- {
- DataTable dt = new DataTable();
- string strSql = "";
- switch (sno)
- {
- case 1:
- strSql = "select Station1PartID from MaintenanceInfo where Id=1";
- break;
-
- case 2:
- strSql = "select Station2PartID from MaintenanceInfo where Id=1";
- break;
-
- case 3:
- strSql = "select Station3PartID from MaintenanceInfo where Id=1";
- break;
-
- case 4:
- strSql = "select Station4PartID from MaintenanceInfo where Id=1";
- break;
-
- case 5:
- strSql = "select Station5PartID from MaintenanceInfo where Id=1";
- break;
-
- case 6:
- strSql = "select Station6PartID from MaintenanceInfo where Id=1";
- break;
-
- case 7:
- strSql = "select Station7PartID from MaintenanceInfo where Id=1";
- break;
- }
- if (strSql == "")
- {
- return "empty";
- }
- else
- {
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows[0][0] == null)
- {
- return "empty";
- }
- else
- {
- return dt.Rows[0][0].ToString();
- }
- }
- }
-
- public DataTable SelectAllToleranceByCondition(string strCartType, string strMeaPointName, string strDimensionName)
- {
- DataTable dt = new DataTable();
- string strSql = "select Id,CarType,MeasurePointName,DimensionName,TolLower,TolUpper, Remark from TTolerance where CarType like '%" + strCartType + "%' and MeasurePointName like '%" + strMeaPointName + "%' and DimensionName like '%" + strDimensionName + "%'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectAllRangeByCondition(string strCartType, string strMeaPointName)
- {
- DataTable dt = new DataTable();
- string strSql = "select Id,CarType,RangeName,RangePoint,RangeLower,RangeUpper, Remark from TRange where CarType like '%" + strCartType + "%' and RangeName like '%" + strMeaPointName + "%' ";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectOneToleranceByCondition(string strCartType, string strMeaPointName, string strDimensionName)
- {
- DataTable dt = new DataTable();
- string strSql = "select TolLower,TolUpper from TTolerance where CarType = '" + strCartType + "' and MeasurePointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectRangeDatabyCarID(string strCarID)
- {
- DataTable dt = new DataTable();
- string strSql = "select * from TRangeData where CarID = '" + strCarID + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public DataTable SelectRangeByCarType(string strCarType)
- {
- DataTable dt = new DataTable();
- string strSql = "select RangeName,RangePoint,RangeLower,RangeUpper from TRange where CarType = '" + strCarType + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- return dt;
- }
-
- public bool CheckMeaPointNameExit(string strCartType, string strMeaPointName, string strDimensionName)
- {
- DataTable dt = new DataTable();
- string strSql = "select Id,CarType,MeasurePointName,DimensionName,TolLower,TolUpper, Remark from TTolerance where CarType = '" + strCartType + "' and MeasurePointName = '" + strMeaPointName + "' and DimensionName = '" + strDimensionName + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public bool CheckRangeNameExit(string strCartType, string strRangeName)
- {
- DataTable dt = new DataTable();
- string strSql = "select Id,CarType from TRange where CarType = '" + strCartType + "' and RangeName = '" + strRangeName + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- public string SelectVINByCSVVIN(string strCSVVIN)
- {
- DataTable dt = new DataTable();
- string strSql = "select CarVIN from TTempSaveVIN where CarVIN like '%" + strCSVVIN + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count == 1)
- return dt.Rows[0][0].ToString();
- else
- {
- return "NoFind";
- }
- }
-
- public int CheckMRVINExistOrNotByVIN(string strVIN)
- {
- DataTable dt = new DataTable();
- string strSql = "select CarID from TMeasureResult where CarID = '" + strVIN + "'";
- dt = SQLHelper.ExecuteQuery(strSql, CommandType.Text);
- if (dt.Rows.Count == 1)
- return 1;
- else
- {
- return 0;
- }
- }
-
- #endregion
-
- #region Insert Function
-
- public int InsertTTolerance(TToleranceModel ttm)
- {
- string strSql = "insert into TTolerance (CarType,MeasurePointName,DimensionName,TolLower,TolUpper,CreateTime,Remark) values " +
- "(@CarType,@MeasurePointName,@DimensionName,@TolLower,@TolUpper,@CreateTime,@Remark)";
- SqlParameter[] paras = new SqlParameter[]
- {
- new SqlParameter("@CarType",ttm.CarType),
- new SqlParameter("@MeasurePointName",ttm.MeasurePointName),
- new SqlParameter("@DimensionName",ttm.DimensionName),
- new SqlParameter("@TolLower",ttm.TolLower),
- new SqlParameter("@TolUpper",ttm.TolUpper),
- new SqlParameter("@CreateTime",ttm.CreateTime),
- new SqlParameter("@Remark",ttm.Remark),
- };
- return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text);
- }
-
- //public int InsertTMeasureResult(TMeasureResultModel tmrm)
- //{
- // string strSql = "insert into TMeasureResult (CarID,CarType,SumMeasureItems,GoodMeasureItems,NoGoodMeasureItems,RejectMeasureItems,FPY,MeasureDate,Result,Remark) values " +
- // "(@CarID,@CarType,@SumMeasureItems,@GoodMeasureItems,@NoGoodMeasureItems,@RejectMeasureItems,@FPY,@MeasureDate,@Result,@Remark)";
- // SqlParameter[] paras = new SqlParameter[]
- // {
- // new SqlParameter("@CarID",tmrm.CarID),
- // new SqlParameter("@CarType",tmrm.CarType),
- // new SqlParameter("@SumMeasureItems",tmrm.SumMeasureItems),
- // new SqlParameter("@GoodMeasureItems",tmrm.GoodMeasureItems),
- // new SqlParameter("@NoGoodMeasureItems",tmrm.NoGoodMeasureItems),
- // new SqlParameter("@RejectMeasureItems",tmrm.RejectMeasureItems),
- // new SqlParameter("@FPY",tmrm.FPY),
- // new SqlParameter("@MeasureDate",tmrm.MeasureDate),
- // new SqlParameter("@Result",tmrm.Result),
- // new SqlParameter("@Remark",tmrm.Remark),
- // };
- // return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text);
- //}
-
- public int InsertTMeasureDatabyDataTable(DataTable dt)
- {
- return SQLHelper.InsertMeasureDataToDB(dt);
- }
-
- #endregion
-
- #region Update Function
-
- public int UpdateTTolerance(TToleranceModel ttm)
- {
- string strSql = "update TTolerance set CarType=@CarType,MeasurePointName=@MeasurePointName,DimensionName=@DimensionName,TolLower=@TolLower,TolUpper=@TolUpper,CreateTime=@CreateTime,Remark=@Remark where Id=" + ttm.Id.ToString();
- SqlParameter[] paras = new SqlParameter[]
- {
- new SqlParameter("@Id",ttm.Id),
- new SqlParameter("@CarType",ttm.CarType),
- new SqlParameter("@MeasurePointName",ttm.MeasurePointName),
- new SqlParameter("@DimensionName",ttm.DimensionName),
- new SqlParameter("@TolLower",ttm.TolLower),
- new SqlParameter("@TolUpper",ttm.TolUpper),
- new SqlParameter("@CreateTime",ttm.CreateTime),
- new SqlParameter("@Remark",ttm.Remark),
- };
- return SQLHelper.ExecuteNonQuery(strSql, paras, CommandType.Text);
- }
-
- #endregion
-
- #region Delete Function
-
- public int DeleteOneTolerance(string strObjIDPk)
- {
- string strOle = "delete from TTolerance where Id = " + strObjIDPk;
- return SQLHelper.ExecuteNonQuery(strOle, CommandType.Text);
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Analysis/Model/TMeasureResultModel.cs b/Analysis/Model/TMeasureResultModel.cs
index 3f0e375..abd96a8 100644
--- a/Analysis/Model/TMeasureResultModel.cs
+++ b/Analysis/Model/TMeasureResultModel.cs
@@ -1,64 +1,60 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DAL
+namespace DAL
{
- public class TMeasureResultModel
- {
- ///
- /// Id
- ///
- public int? Id { get; set; }
+ public class TMeasureResultModel
+ {
+ ///
+ /// Id
+ ///
+ public int? Id { get; set; }
- ///
- /// 车身ID
- ///
- public string CarID { get; set; }
- ///
- /// 车身类型
- ///
- public string CarType { get; set; }
- ///
- /// SumMeasureItems 总测量项数量
- ///
- public int? SumMeasureItems { get; set; }
+ ///
+ /// 车身ID
+ ///
+ public string CarID { get; set; }
- ///
- /// GoodMeasureItems
- ///
- public int? GoodMeasureItems { get; set; }
+ ///
+ /// 车身类型
+ ///
+ public string CarType { get; set; }
- ///
- /// NoGoodMeasureItems
- ///
- public int? NoGoodMeasureItems { get; set; }
+ ///
+ /// SumMeasureItems 总测量项数量
+ ///
+ public int? SumMeasureItems { get; set; }
- ///
- /// RejectMeasureItems
- ///
- public int? RejectMeasureItems { get; set; }
+ ///
+ /// GoodMeasureItems
+ ///
+ public int? GoodMeasureItems { get; set; }
- ///
- /// FPY 合格率
- ///
- public string FPY { get; set; }
+ ///
+ /// NoGoodMeasureItems
+ ///
+ public int? NoGoodMeasureItems { get; set; }
- ///
- /// MeasureDate 测量时间
- ///
- public string MeasureDate { get; set; }
+ ///
+ /// RejectMeasureItems
+ ///
+ public int? RejectMeasureItems { get; set; }
- ///
- /// Result:测量总结果:1:OK 2:NG
- ///
- public int? Result { get; set; }
+ ///
+ /// FPY 合格率
+ ///
+ public string FPY { get; set; }
- ///
- /// Remark 备注
- ///
- public string Remark { get; set; }
- }
+ ///
+ /// MeasureDate 测量时间
+ ///
+ public string MeasureDate { get; set; }
+
+ ///
+ /// Result:测量总结果:1:OK 2:NG
+ ///
+ public int? Result { get; set; }
+
+ ///
+ /// Remark 备注
+ ///
+ public string Remark { get; set; }
+ }
}
\ No newline at end of file
diff --git a/Analysis/Model/TToleranceModel.cs b/Analysis/Model/TToleranceModel.cs
deleted file mode 100644
index e81797f..0000000
--- a/Analysis/Model/TToleranceModel.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DAL
-{
- public class TToleranceModel
- {
- ///
- /// Id
- ///
- public int? Id { get; set; }
-
- ///
- /// 车身类型
- ///
- public string CarType { get; set; }
-
- ///
- /// MeasurePointName
- ///
- public string MeasurePointName { get; set; }
-
- ///
- /// DimensionName
- ///
- public string DimensionName { get; set; }
-
- ///
- /// TolLower
- ///
- public double TolLower { get; set; }
-
- ///
- /// TolUpper
- ///
- public double TolUpper { get; set; }
-
- ///
- /// Remark 备注
- ///
- public string Remark { get; set; }
-
- ///
- /// CreateTime 测量时间
- ///
- public string CreateTime { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Analysis/NLog.config b/Analysis/NLog.config
index 3cfa512..c43a78a 100644
--- a/Analysis/NLog.config
+++ b/Analysis/NLog.config
@@ -49,7 +49,7 @@
-
+
insert into TLogInfo(LogTime,LogLevel,LogMessage,LogAction,LogAmount,LogStackTrack) values (@LogTime, @LogLevel, @LogMessage,@LogAction,@LogAmount, @LogStackTrack);
diff --git a/Analysis/Program.cs b/Analysis/Program.cs
index c8b8d81..18a9f9d 100644
--- a/Analysis/Program.cs
+++ b/Analysis/Program.cs
@@ -1,279 +1,243 @@
-using System;
+using BaseFunction;
+using Microsoft.Win32;
+using System;
using System.Diagnostics;
-using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
-using BaseFunction;
-using Microsoft.Win32;
namespace NSAnalysis
{
- internal static class Program
- {
- #region CLMS 授权
+ internal static class Program
+ {
+ #region CLMS 授权
- ///
- /// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用
- ///
- /// 验证内容为软件指纹文件中字符串
- ///
- /// TRUE :该软件可正常调用
- /// FALSE :该软件不可正常调用
- ///
- [DllImport("MORCODE.dll", EntryPoint = "CLM_Login", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool CLM_Login(StringBuilder str);
+ ///
+ /// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用
+ ///
+ /// 验证内容为软件指纹文件中字符串
+ /// TRUE :该软件可正常调用 FALSE :该软件不可正常调用
+ [DllImport("MORCODE.dll", EntryPoint = "CLM_Login", CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool CLM_Login(StringBuilder str);
- ///
- /// 退出前执行一次,释放内存,记录使用信息
- ///
- ///
- [DllImport("MORCODE.dll", EntryPoint = "CLM_Logout", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool CLM_Logout();
+ ///
+ /// 退出前执行一次,释放内存,记录使用信息
+ ///
+ ///
+ [DllImport("MORCODE.dll", EntryPoint = "CLM_Logout", CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool CLM_Logout();
- ///
- /// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别
- ///
- ///
- /// TRUE :有该软件许可证书
- /// FALSE :没有该软件许可证书
- ///
- [DllImport("MORCODE.dll", EntryPoint = "CLM_Login_Scope", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool CLM_Login_Scope();
+ ///
+ /// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别
+ ///
+ /// TRUE :有该软件许可证书 FALSE :没有该软件许可证书
+ [DllImport("MORCODE.dll", EntryPoint = "CLM_Login_Scope", CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool CLM_Login_Scope();
- ///
- /// 输入模块ID验证模块可用性
- ///
- /// 模块ID
- /// 暂无定义
- ///
- /// TRUE :该模块可用
- /// FALSE :该模块不可用
- ///
- [DllImport("MORCODE.dll", EntryPoint = "CLM_ModuleIsLicensed", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool CLM_ModuleIsLicensed(ref UInt16 mod, ref UInt16 type);
+ ///
+ /// 输入模块ID验证模块可用性
+ ///
+ /// 模块ID
+ /// 暂无定义
+ /// TRUE :该模块可用 FALSE :该模块不可用
+ [DllImport("MORCODE.dll", EntryPoint = "CLM_ModuleIsLicensed", CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool CLM_ModuleIsLicensed(ref UInt16 mod, ref UInt16 type);
- ///
- /// 获取到期日期
- ///
- ///
- ///
- ///
- ///
+ ///
+ /// 获取到期日期
+ ///
+ ///
+ ///
+ ///
+ ///
- [DllImport("MORCODE.dll", EntryPoint = "CLM_GetWarrantyExpiration", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool CLM_GetWarrantyExpiration(ref int mon, ref int day, ref int year);
+ [DllImport("MORCODE.dll", EntryPoint = "CLM_GetWarrantyExpiration", CallingConvention = CallingConvention.Cdecl)]
+ public static extern bool CLM_GetWarrantyExpiration(ref int mon, ref int day, ref int year);
- private static int gCLMSModeID = 0;
- private static int gAuthorizationMode = 0;
+ private static int gCLMSModeID = 0;
+ private static int gAuthorizationMode = 0;
- #endregion CLMS 授权
+ #endregion CLMS 授权
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- private static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ private static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
- #region 创建Log文件
+ #region 创建Log文件
- LogDebugDfn.strStartTime = DateTime.Now.ToString("yyyy.MM.dd HH-mm-ss");
- System.IO.TextWriter log = new System.IO.StreamWriter(LogDebugDfn.strDebugFile); //Debug.txt
- TextWriterTraceListener logger = new TextWriterTraceListener(log);
- Trace.Listeners.Add(logger);
- MyBase.TraceWriteLine("--软件Program Main函数开始执行--"); //写入log文件
- ConfigDfn.LoadConfigFile(); //加载配置参数
+ LogDebugDfn.strStartTime = DateTime.Now.ToString("yyyy.MM.dd HH-mm-ss");
+ System.IO.TextWriter log = new System.IO.StreamWriter(LogDebugDfn.strDebugFile); //Debug.txt
+ TextWriterTraceListener logger = new TextWriterTraceListener(log);
+ Trace.Listeners.Add(logger);
+ MyBase.TraceWriteLine("--软件Program Main函数开始执行--"); //写入log文件
+ ConfigDfn.LoadConfigFile(); //加载配置参数
- gCLMSModeID = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "CLMSModeID", 1);
- gAuthorizationMode = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "AuthorizationMode", 1);
+ gCLMSModeID = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "CLMSModeID", 1);
+ gAuthorizationMode = FileIni.ReadInt(ConfigDfn.strConfigFile, "Chery", "AuthorizationMode", 1);
#endregion 创建Log文件
- Application.Run(new FormMain());
+ Application.Run(new FToleranceSetup());
//if (gAuthorizationMode == 1)
- // {
- // MyBase.TraceWriteLine("Log in using the CLMS authorization.");
+ // {
+ // MyBase.TraceWriteLine("Log in using the CLMS authorization.");
- // #region 检测CLMS
+ // #region 检测CLMS
- // /////1登陆验证
- // //验证内容为软件指纹文件中字符串,功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用
- // StringBuilder password = new StringBuilder("vravnhNYybkmDkHDPKhVIwbHMoqHktgqWHFkBTOUsZLLVLwaAOkPIFFoVffUnSqUkCApSxrWQmsKvYCdVUpZLOhuHshKFbUPezYYbyQCgUoHrFOaaLVSosAapdVagrfFSqDUzxCvVuSJodxkjBiCJdRUfhCIfyRzjLdTfkxtUHPYUHyQbzOaJFvdSbzLihYmuhLHFNUSbERcAFbnrvNQtZOCUSUnHFcySXzTbfqTgzeaWQrjoSTzEUYDkEUmqusV");
- // bool res = CLM_Login(password);
- // if (!res)
- // {
- // MyBase.TraceWriteLine("CLMS Login Failed.");
- // MessageBox.Show("CLMS Login fails. Please authorize the user first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- // return;
- // }
- // /////2检查许可
- // //该函数自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别
- // res = CLM_Login_Scope();
- // if (!res)
- // {
- // //检查许可失败
- // MyBase.TraceWriteLine("CLMS check license failed! Please authorize the operation.");
- // MessageBox.Show("The CLMS failed to check for permissions. Please authorize first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- // return;
- // }
- // //3获取许可模块是否可用
- // //输入模块ID验证模块可用性
- // UInt16 mod = (UInt16)gCLMSModeID;//模块ID
- // UInt16 type = 0;//暂无定义
+ // /////1登陆验证 //验证内容为软件指纹文件中字符串,功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用 StringBuilder
+ // password = new
+ // StringBuilder("vravnhNYybkmDkHDPKhVIwbHMoqHktgqWHFkBTOUsZLLVLwaAOkPIFFoVffUnSqUkCApSxrWQmsKvYCdVUpZLOhuHshKFbUPezYYbyQCgUoHrFOaaLVSosAapdVagrfFSqDUzxCvVuSJodxkjBiCJdRUfhCIfyRzjLdTfkxtUHPYUHyQbzOaJFvdSbzLihYmuhLHFNUSbERcAFbnrvNQtZOCUSUnHFcySXzTbfqTgzeaWQrjoSTzEUYDkEUmqusV");
+ // bool res = CLM_Login(password); if (!res) { MyBase.TraceWriteLine("CLMS Login
+ // Failed."); MessageBox.Show("CLMS Login fails. Please authorize the user first! ",
+ // "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } /////2检查许可
+ // //该函数自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别 res = CLM_Login_Scope(); if (!res)
+ // { //检查许可失败 MyBase.TraceWriteLine("CLMS check license failed! Please authorize the
+ // operation."); MessageBox.Show("The CLMS failed to check for permissions. Please
+ // authorize first! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
+ // //3获取许可模块是否可用 //输入模块ID验证模块可用性 UInt16 mod = (UInt16)gCLMSModeID;//模块ID UInt16 type = 0;//暂无定义
- // res = CLM_ModuleIsLicensed(ref mod, ref type);//res true:可用 false:不可用
- // if (!res)
- // {
- // MyBase.TraceWriteLine("The CLMS module is unavailable!");
- // MessageBox.Show(mod.ToString() + " The CLMS module is unavailable!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- // return;
- // }
+ // res = CLM_ModuleIsLicensed(ref mod, ref type);//res true:可用 false:不可用 if (!res) {
+ // MyBase.TraceWriteLine("The CLMS module is unavailable!");
+ // MessageBox.Show(mod.ToString() + " The CLMS module is unavailable!", "Error",
+ // MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
- // //4获取到期日期
- // int Year = 0, Month = 0, Day = 0;
- // res = CLM_GetWarrantyExpiration(ref Month, ref Day, ref Year);
- // if (!res)
- // {
- // //登陆验证失败
- // MyBase.TraceWriteLine("Login verification failed, authorization time is up, please contact Hexagon company for authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() + "." + Day.ToString());
- // MessageBox.Show("Login verification failed, authorization time is up, please contact Hexagon company for authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() + "." + Day.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- // return;
- // }
+ // //4获取到期日期 int Year = 0, Month = 0, Day = 0; res = CLM_GetWarrantyExpiration(ref
+ // Month, ref Day, ref Year); if (!res) { //登陆验证失败 MyBase.TraceWriteLine("Login
+ // verification failed, authorization time is up, please contact Hexagon company for
+ // authorization! The maturity time is:" + Year.ToString() + "." + Month.ToString() +
+ // "." + Day.ToString()); MessageBox.Show("Login verification failed, authorization time
+ // is up, please contact Hexagon company for authorization! The maturity time is:" +
+ // Year.ToString() + "." + Month.ToString() + "." + Day.ToString(), "Error",
+ // MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
- // if (res)
- // {
- // ConfigDfn.strExpiredTime = Year.ToString() + "-" + Month.ToString() + "-" + Day.ToString();
- // }
+ // if (res) { ConfigDfn.strExpiredTime = Year.ToString() + "-" + Month.ToString() + "-"
+ // + Day.ToString(); }
- // #endregion 检测CLMS
+ // #endregion 检测CLMS
- // Application.Run(new FormMain());
- // }
- // else
- // {
- // MyBase.TraceWriteLine("Log in using the original authorization mode.");
- // Licence.GetRegisterInfo();
- // Licence.Encryption_DLL();
- // }
- }
- }
+ // Application.Run(new FormMain()); } else { MyBase.TraceWriteLine("Log in using the
+ // original authorization mode."); Licence.GetRegisterInfo(); Licence.Encryption_DLL(); }
+ }
+ }
- public class Licence
- {
- //===============================================================
+ public class Licence
+ {
+ //===============================================================
- #region 1、加密动态库加密
+ #region 1、加密动态库加密
- public static void Encryption_DLL()
- {
- Covert.Program Mycheck = new Covert.Program();
- if (Mycheck.CheckLicence(Application.StartupPath + "\\Key\\reg.key", "PCControl"))
- {
- MyBase.TraceWriteLine("软件授权成功");
- ConfigDfn.strExpiredTime = Covert.Parameter.ExpiredTime.ToString("yyyy-MM-dd HH:mm:ss");
- if (IsSoftwareRunning())
- {
- MessageBox.Show("库位管理软件已经存在,请关闭后重新尝试!", "警告");
- System.Environment.Exit(0);
- return;
- }
- Application.Run(new FormMain());
- }
- else
- {
- MessageBox.Show("Did not pass the certification!\r\n" + Covert.Parameter.ExpiredTime.ToString());
- BaseFunction.MyBase.TraceWriteLine("软件授权失败");
- }
- }
+ public static void Encryption_DLL()
+ {
+ Covert.Program Mycheck = new Covert.Program();
+ if (Mycheck.CheckLicence(Application.StartupPath + "\\Key\\reg.key", "PCControl"))
+ {
+ MyBase.TraceWriteLine("软件授权成功");
+ ConfigDfn.strExpiredTime = Covert.Parameter.ExpiredTime.ToString("yyyy-MM-dd HH:mm:ss");
+ if (IsSoftwareRunning())
+ {
+ MessageBox.Show("库位管理软件已经存在,请关闭后重新尝试!", "警告");
+ System.Environment.Exit(0);
+ return;
+ }
+ Application.Run(new FormMain());
+ }
+ else
+ {
+ MessageBox.Show("Did not pass the certification!\r\n" + Covert.Parameter.ExpiredTime.ToString());
+ BaseFunction.MyBase.TraceWriteLine("软件授权失败");
+ }
+ }
- #endregion 1、加密动态库加密
+ #endregion 1、加密动态库加密
- private static bool IsSoftwareRunning()
- {
- int Num = 0;
- Process[] processes = Process.GetProcesses();
- foreach (Process instance in processes)
- {
- string pro = instance.ProcessName;
- if (pro.ToLower() == "cheryanalysis")
- {
- Num++;
- }
- }
- if (Num > 1)
- return true;
- else
- return false;
- }
+ private static bool IsSoftwareRunning()
+ {
+ int Num = 0;
+ Process[] processes = Process.GetProcesses();
+ foreach (Process instance in processes)
+ {
+ string pro = instance.ProcessName;
+ if (pro.ToLower() == "cheryanalysis")
+ {
+ Num++;
+ }
+ }
+ if (Num > 1)
+ return true;
+ else
+ return false;
+ }
- //===============================================================
+ //===============================================================
- #region 读取注册表信息,准备各种时间
+ #region 读取注册表信息,准备各种时间
- private static string PassWord = "";
- private static string PassData = "";
- private static Int64 PassNow = 0;
- private static Int64 LtOk = 20160101080000; //开始日期
- private static Int64 LtOk2now;
+ private static string PassWord = "";
+ private static string PassData = "";
+ private static Int64 PassNow = 0;
+ private static Int64 LtOk = 20160101080000; //开始日期
+ private static Int64 LtOk2now;
- public static void GetRegisterInfo()
- {
- LtOk2now = Convert.ToInt64(System.DateTime.Now.ToString("yyyyMMddHHmmss"));
- RegistryKey pregkey;
- RegistryKey pregkey1;
- RegistryKey pregkey2;
- bool RegKey = false;
- try
- {
- do
- {
- pregkey = Registry.CurrentUser.OpenSubKey("software", true);
- pregkey1 = Registry.CurrentUser.OpenSubKey("software\\sunpike", true);
- pregkey2 = Registry.CurrentUser.OpenSubKey("software\\sunpike\\PCControl", true);
- if (pregkey1 != null)
- {
- if (pregkey2 != null)
- {
- if (pregkey2.GetValue("Pass") == null) { pregkey2.SetValue("Pass", ""); }
- if (pregkey2.GetValue("Data") == null) { pregkey2.SetValue("Data", ""); }
- if (pregkey2.GetValue("Now") == null) { pregkey2.SetValue("Now", LtOk.ToString()); }
+ public static void GetRegisterInfo()
+ {
+ LtOk2now = Convert.ToInt64(System.DateTime.Now.ToString("yyyyMMddHHmmss"));
+ RegistryKey pregkey;
+ RegistryKey pregkey1;
+ RegistryKey pregkey2;
+ bool RegKey = false;
+ try
+ {
+ do
+ {
+ pregkey = Registry.CurrentUser.OpenSubKey("software", true);
+ pregkey1 = Registry.CurrentUser.OpenSubKey("software\\sunpike", true);
+ pregkey2 = Registry.CurrentUser.OpenSubKey("software\\sunpike\\PCControl", true);
+ if (pregkey1 != null)
+ {
+ if (pregkey2 != null)
+ {
+ if (pregkey2.GetValue("Pass") == null) { pregkey2.SetValue("Pass", ""); }
+ if (pregkey2.GetValue("Data") == null) { pregkey2.SetValue("Data", ""); }
+ if (pregkey2.GetValue("Now") == null) { pregkey2.SetValue("Now", LtOk.ToString()); }
- PassWord = pregkey2.GetValue("Pass").ToString();
- PassData = pregkey2.GetValue("Data").ToString();
- PassNow = Convert.ToInt64(pregkey2.GetValue("Now").ToString());//上次结束APP的时间
- RegKey = true;
- }
- else { pregkey1.CreateSubKey("PCControl"); }
- }
- else { pregkey.CreateSubKey("sunpike"); }
- } while (!RegKey);
- if (LtOk2now > PassNow)
- pregkey2.SetValue("Data", LtOk.ToString());
- else
- pregkey2.SetValue("Now", LtOk.ToString());
- pregkey.Close();
- pregkey1.Close();
- pregkey2.Close();
- }
- catch
- {
- MyBase.TraceWriteLine("--读取注册信息时遭到破坏。");
- MessageBox.Show("读取注册信息时遭到破坏。");
- //
- //有一个复位的方法,就是客户打电话给我,我给他一串数据(时间加校验码),填入后,通过校验是合适的时间,就恢复这串码中的时间,
- //举例:
- //目前是2014年03月19日11点30分15秒:
- // 20140319113015 --加密--> 3分十位2年千位4年个位1秒十位3校验位(前4位相加之和保证个位是3)1年十位1时个位1时十位5秒个位3校验位(前4位相加之和保证个位是3)0月十位0年百位1日十位0分个位2校验位(前4位相加之和保证个位是3)3月个位9日个位0校验位(前2位相加之和保证个位是3)
- // 3 2 4 1 3 1 1 1 5 5 0 0 1 0 2 3 0 0
- // 324131115500102300
- return;
- }
- }
+ PassWord = pregkey2.GetValue("Pass").ToString();
+ PassData = pregkey2.GetValue("Data").ToString();
+ PassNow = Convert.ToInt64(pregkey2.GetValue("Now").ToString());//上次结束APP的时间
+ RegKey = true;
+ }
+ else { pregkey1.CreateSubKey("PCControl"); }
+ }
+ else { pregkey.CreateSubKey("sunpike"); }
+ } while (!RegKey);
+ if (LtOk2now > PassNow)
+ pregkey2.SetValue("Data", LtOk.ToString());
+ else
+ pregkey2.SetValue("Now", LtOk.ToString());
+ pregkey.Close();
+ pregkey1.Close();
+ pregkey2.Close();
+ }
+ catch
+ {
+ MyBase.TraceWriteLine("--读取注册信息时遭到破坏。");
+ MessageBox.Show("读取注册信息时遭到破坏。");
+ //
+ //有一个复位的方法,就是客户打电话给我,我给他一串数据(时间加校验码),填入后,通过校验是合适的时间,就恢复这串码中的时间,
+ //举例:
+ //目前是2014年03月19日11点30分15秒:
+ // 20140319113015 --加密--> 3分十位2年千位4年个位1秒十位3校验位(前4位相加之和保证个位是3)1年十位1时个位1时十位5秒个位3校验位(前4位相加之和保证个位是3)0月十位0年百位1日十位0分个位2校验位(前4位相加之和保证个位是3)3月个位9日个位0校验位(前2位相加之和保证个位是3)
+ // 3 2 4 1 3 1 1 1 5 5 0 0 1 0 2 3 0 0
+ // 324131115500102300
+ return;
+ }
+ }
- #endregion 读取注册表信息,准备各种时间
- }
+ #endregion 读取注册表信息,准备各种时间
+ }
}
\ No newline at end of file
diff --git a/Analysis/Properties/AssemblyInfo.cs b/Analysis/Properties/AssemblyInfo.cs
index 15ffaec..162c06e 100644
--- a/Analysis/Properties/AssemblyInfo.cs
+++ b/Analysis/Properties/AssemblyInfo.cs
@@ -1,10 +1,8 @@
using System.Reflection;
-using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
+// General Information about an assembly is controlled through the following set of attributes.
+// Change these attribute values to modify the information associated with an assembly.
[assembly: AssemblyTitle("Hexagon NSAnalysis")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
@@ -14,9 +12,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
+// Setting ComVisible to false makes the types in this assembly not visible to COM components. If
+// you need to access a type in this assembly from COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
@@ -24,14 +21,10 @@ using System.Runtime.InteropServices;
// Version information for an assembly consists of the following four values:
//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
+// Major Version Minor Version Build Number Revision
//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
+// You can specify all the values or you can default the Build and Revision Numbers by using the '*'
+// as shown below: [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2025.03.03.1")]
[assembly: AssemblyFileVersion("2025.03.03.1")]
//奇瑞总装软件
diff --git a/Analysis/Range/FAddRange.cs b/Analysis/Range/FAddRange.cs
deleted file mode 100644
index 144e041..0000000
--- a/Analysis/Range/FAddRange.cs
+++ /dev/null
@@ -1,182 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using BaseFunction;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-using DAL;
-using Telerik.WinControls.UI;
-
-namespace NSAnalysis
-{
- public partial class FAddRange : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
-
- //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL();
-
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private FRangeSetup gFTS;
-
- #endregion 全局变量
-
- #region 鼠标事件
-
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
-
- #endregion 鼠标事件
-
- private void InitLanguage()
- {
- if (!ConfigDfn.bLanguage)
- {
- this.Text = "Add Tolerance";
- labTitle.Text = "Add Tolerance";
- radLabel5.Text = "CNC ID : ";
- radLabel2.Text = "CNC Name : ";
- radLabel4.Text = "CNC Location : ";
- radLabel3.Text = "CNC Type : ";
- radLabel7.Text = "CNC IP : ";
- radLabel1.Text = "Remark : ";
- rbtnOK.Text = "Add";
- rbtnCancel.Text = "Cancel";
- }
- }
-
- public FAddRange(FRangeSetup fts)
- {
- InitializeComponent();
- InitLanguage();
- gFTS = fts;
- }
-
- private void SFAddCNC_Load(object sender, EventArgs e)
- {
-
- }
-
- private void rbtnOK_Click(object sender, EventArgs e)
- {
- #region 防愚操作
-
- string strCarType = rtbCarType.Text.Trim();
- string strMesPointName = rtbMesPointName.Text.Trim();
-
- string strDimensionName = rtbRangePointName.Text.Trim();
- if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
- {
- MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
-
- if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim()))
- {
- MessageBox.Show("极差编号名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
-
- if (string.IsNullOrEmpty(rtbRangePointName.Text.Trim()))
- {
- MessageBox.Show("极差包含点位不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- if (!rtbRangePointName.Text.Trim().Contains(","))
- {
- MessageBox.Show("极差包含点位必须用英文逗号隔开,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
-
- if (string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (!string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbLower.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (!string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbUpper.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (tmdal.CheckRangeNameExit(strCarType, strMesPointName))
- {
- MessageBox.Show("该车身类型下,已经存在该极差编号,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- return;
- }
-
- #endregion 防愚操作
-
- TRangeModel ttm = new TRangeModel();
- ttm.CarType = strCarType;
- ttm.RangeName = strMesPointName;
- ttm.RangePoint = strDimensionName;
- ttm.RangeLower = double.Parse(rtbLower.Text.Trim());
- ttm.RangeUpper = double.Parse(rtbUpper.Text.Trim());
- ttm.Remark = rtbRemark.Text.Trim();
- ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
-
- try
- {
- tmdal.InsertNewRange(ttm);
- }
- catch (Exception ex)
- {
- MessageBox.Show("添加极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- MyBase.TraceWriteLine("添加极差带信息失败,原因:" + ex.ToString());
- return;
- }
-
- MessageBox.Show("添加极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- gFTS.rtbnSearch_Click(null, null);
- }
-
- private void rbtnCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/Range/FAddRange.designer.cs b/Analysis/Range/FAddRange.designer.cs
deleted file mode 100644
index da783f8..0000000
--- a/Analysis/Range/FAddRange.designer.cs
+++ /dev/null
@@ -1,482 +0,0 @@
-namespace NSAnalysis
-{
- partial class FAddRange
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddRange));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.radLabel7 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
- this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.rtbUpper = new Telerik.WinControls.UI.RadTextBox();
- this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
- this.rbtnOK = new Telerik.WinControls.UI.RadButton();
- this.label1 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.rtbLower = new Telerik.WinControls.UI.RadTextBox();
- this.rtbRemark = new Telerik.WinControls.UI.RadTextBox();
- this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
- this.label5 = new System.Windows.Forms.Label();
- this.rtbRangePointName = new Telerik.WinControls.UI.RadTextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(373, 40);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "添加极差带";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "添加极差带";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(117, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
- this.label2.Size = new System.Drawing.Size(46, 52);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(159, 8);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(107, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "添加极差带";
- //
- // radLabel7
- //
- this.radLabel7.AutoSize = false;
- this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel7.ForeColor = System.Drawing.Color.White;
- this.radLabel7.Location = new System.Drawing.Point(4, 236);
- this.radLabel7.Name = "radLabel7";
- this.radLabel7.Size = new System.Drawing.Size(148, 23);
- this.radLabel7.TabIndex = 29;
- this.radLabel7.Text = "上限值:";
- this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel3
- //
- this.radLabel3.AutoSize = false;
- this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel3.ForeColor = System.Drawing.Color.White;
- this.radLabel3.Location = new System.Drawing.Point(4, 198);
- this.radLabel3.Name = "radLabel3";
- this.radLabel3.Size = new System.Drawing.Size(148, 23);
- this.radLabel3.TabIndex = 28;
- this.radLabel3.Text = "下限值:";
- this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel4
- //
- this.radLabel4.AutoSize = false;
- this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel4.ForeColor = System.Drawing.Color.White;
- this.radLabel4.Location = new System.Drawing.Point(4, 141);
- this.radLabel4.Name = "radLabel4";
- this.radLabel4.Size = new System.Drawing.Size(148, 23);
- this.radLabel4.TabIndex = 27;
- this.radLabel4.Text = "极差包含点位:";
- this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel2
- //
- this.radLabel2.AutoSize = false;
- this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel2.ForeColor = System.Drawing.Color.White;
- this.radLabel2.Location = new System.Drawing.Point(4, 101);
- this.radLabel2.Name = "radLabel2";
- this.radLabel2.Size = new System.Drawing.Size(148, 23);
- this.radLabel2.TabIndex = 26;
- this.radLabel2.Text = "极差编号名称:";
- this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel5
- //
- this.radLabel5.AutoSize = false;
- this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel5.ForeColor = System.Drawing.Color.White;
- this.radLabel5.Location = new System.Drawing.Point(4, 60);
- this.radLabel5.Name = "radLabel5";
- this.radLabel5.Size = new System.Drawing.Size(148, 23);
- this.radLabel5.TabIndex = 25;
- this.radLabel5.Text = "车身类型:";
- this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // rtbCarType
- //
- this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbCarType.ForeColor = System.Drawing.Color.White;
- this.rtbCarType.Location = new System.Drawing.Point(158, 60);
- this.rtbCarType.Name = "rtbCarType";
- this.rtbCarType.Size = new System.Drawing.Size(173, 23);
- this.rtbCarType.TabIndex = 1;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbMesPointName
- //
- this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(158, 101);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(173, 23);
- this.rtbMesPointName.TabIndex = 2;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbUpper
- //
- this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbUpper.ForeColor = System.Drawing.Color.White;
- this.rtbUpper.Location = new System.Drawing.Point(158, 235);
- this.rtbUpper.MaxLength = 15;
- this.rtbUpper.Name = "rtbUpper";
- this.rtbUpper.Size = new System.Drawing.Size(173, 23);
- this.rtbUpper.TabIndex = 5;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rbtnCancel
- //
- this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnCancel.ForeColor = System.Drawing.Color.White;
- this.rbtnCancel.Location = new System.Drawing.Point(246, 336);
- this.rbtnCancel.Name = "rbtnCancel";
- this.rbtnCancel.Size = new System.Drawing.Size(85, 30);
- this.rbtnCancel.TabIndex = 10;
- this.rbtnCancel.Text = "取消";
- this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click);
- this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // rbtnOK
- //
- this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnOK.ForeColor = System.Drawing.Color.White;
- this.rbtnOK.Location = new System.Drawing.Point(118, 336);
- this.rbtnOK.Name = "rbtnOK";
- this.rbtnOK.Size = new System.Drawing.Size(85, 30);
- this.rbtnOK.TabIndex = 9;
- this.rbtnOK.Text = "添加";
- this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click);
- this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // label1
- //
- this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("宋体", 12F);
- this.label1.ForeColor = System.Drawing.Color.Red;
- this.label1.Location = new System.Drawing.Point(336, 238);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(15, 16);
- this.label1.TabIndex = 34;
- this.label1.Text = "*";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("宋体", 12F);
- this.label3.ForeColor = System.Drawing.Color.Red;
- this.label3.Location = new System.Drawing.Point(336, 201);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(15, 16);
- this.label3.TabIndex = 35;
- this.label3.Text = "*";
- //
- // label4
- //
- this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label4.AutoSize = true;
- this.label4.Font = new System.Drawing.Font("宋体", 12F);
- this.label4.ForeColor = System.Drawing.Color.Red;
- this.label4.Location = new System.Drawing.Point(336, 66);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(15, 16);
- this.label4.TabIndex = 36;
- this.label4.Text = "*";
- //
- // rtbLower
- //
- this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbLower.ForeColor = System.Drawing.Color.White;
- this.rtbLower.Location = new System.Drawing.Point(158, 198);
- this.rtbLower.Name = "rtbLower";
- this.rtbLower.Size = new System.Drawing.Size(173, 23);
- this.rtbLower.TabIndex = 4;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbRemark
- //
- this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbRemark.ForeColor = System.Drawing.Color.White;
- this.rtbRemark.Location = new System.Drawing.Point(158, 275);
- this.rtbRemark.Name = "rtbRemark";
- this.rtbRemark.Size = new System.Drawing.Size(173, 23);
- this.rtbRemark.TabIndex = 37;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // radLabel1
- //
- this.radLabel1.AutoSize = false;
- this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel1.ForeColor = System.Drawing.Color.White;
- this.radLabel1.Location = new System.Drawing.Point(4, 275);
- this.radLabel1.Name = "radLabel1";
- this.radLabel1.Size = new System.Drawing.Size(148, 23);
- this.radLabel1.TabIndex = 38;
- this.radLabel1.Text = "备注:";
- this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // label5
- //
- this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label5.AutoSize = true;
- this.label5.Font = new System.Drawing.Font("宋体", 12F);
- this.label5.ForeColor = System.Drawing.Color.Red;
- this.label5.Location = new System.Drawing.Point(337, 108);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(15, 16);
- this.label5.TabIndex = 40;
- this.label5.Text = "*";
- //
- // rtbRangePointName
- //
- this.rtbRangePointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbRangePointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbRangePointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbRangePointName.ForeColor = System.Drawing.Color.White;
- this.rtbRangePointName.Location = new System.Drawing.Point(158, 141);
- this.rtbRangePointName.Name = "rtbRangePointName";
- this.rtbRangePointName.Size = new System.Drawing.Size(173, 23);
- this.rtbRangePointName.TabIndex = 41;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRangePointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRangePointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // label6
- //
- this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label6.AutoSize = true;
- this.label6.Font = new System.Drawing.Font("宋体", 12F);
- this.label6.ForeColor = System.Drawing.Color.Red;
- this.label6.Location = new System.Drawing.Point(337, 148);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(15, 16);
- this.label6.TabIndex = 42;
- this.label6.Text = "*";
- //
- // radLabel6
- //
- this.radLabel6.AutoSize = false;
- this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 9F);
- this.radLabel6.ForeColor = System.Drawing.Color.Red;
- this.radLabel6.Location = new System.Drawing.Point(158, 170);
- this.radLabel6.Name = "radLabel6";
- this.radLabel6.Size = new System.Drawing.Size(194, 23);
- this.radLabel6.TabIndex = 43;
- this.radLabel6.Text = "极差包含点位必须用英文逗号隔开";
- //
- // FAddRange
- //
- this.AcceptButton = this.rbtnOK;
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(375, 392);
- this.Controls.Add(this.radLabel6);
- this.Controls.Add(this.label6);
- this.Controls.Add(this.rtbRangePointName);
- this.Controls.Add(this.label5);
- this.Controls.Add(this.rtbRemark);
- this.Controls.Add(this.radLabel1);
- this.Controls.Add(this.rtbLower);
- this.Controls.Add(this.label4);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.rbtnCancel);
- this.Controls.Add(this.rbtnOK);
- this.Controls.Add(this.rtbUpper);
- this.Controls.Add(this.rtbMesPointName);
- this.Controls.Add(this.rtbCarType);
- this.Controls.Add(this.radLabel7);
- this.Controls.Add(this.radLabel3);
- this.Controls.Add(this.radLabel4);
- this.Controls.Add(this.radLabel2);
- this.Controls.Add(this.radLabel5);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "FAddRange";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "添加极差带";
- this.Load += new System.EventHandler(this.SFAddCNC_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private Telerik.WinControls.UI.RadLabel radLabel7;
- private Telerik.WinControls.UI.RadLabel radLabel3;
- private Telerik.WinControls.UI.RadLabel radLabel4;
- private Telerik.WinControls.UI.RadLabel radLabel2;
- private Telerik.WinControls.UI.RadLabel radLabel5;
- private Telerik.WinControls.UI.RadTextBox rtbCarType;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private Telerik.WinControls.UI.RadTextBox rtbUpper;
- private Telerik.WinControls.UI.RadButton rbtnCancel;
- private Telerik.WinControls.UI.RadButton rbtnOK;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label4;
- private Telerik.WinControls.UI.RadTextBox rtbLower;
- private Telerik.WinControls.UI.RadTextBox rtbRemark;
- private Telerik.WinControls.UI.RadLabel radLabel1;
- private System.Windows.Forms.Label label5;
- private Telerik.WinControls.UI.RadTextBox rtbRangePointName;
- private System.Windows.Forms.Label label6;
- private Telerik.WinControls.UI.RadLabel radLabel6;
- }
-}
diff --git a/Analysis/Range/FAddRange.resx b/Analysis/Range/FAddRange.resx
deleted file mode 100644
index a346816..0000000
--- a/Analysis/Range/FAddRange.resx
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/Range/FEditRange.cs b/Analysis/Range/FEditRange.cs
deleted file mode 100644
index 0336b43..0000000
--- a/Analysis/Range/FEditRange.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using BaseFunction;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using DAL;
-
-namespace NSAnalysis
-{
- public partial class FEditRange : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
- //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL();
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private FRangeSetup gFTS;
-
- #endregion 全局变量
-
- #region 鼠标事件
-
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
-
- #endregion 鼠标事件
-
- private void InitLanguage()
- {
- if (!ConfigDfn.bLanguage)
- {
- this.Text = "Edit CNC";
- labTitle.Text = "Edit CNC";
- radLabel5.Text = "CNC ID : ";
- radLabel2.Text = "CNC Name : ";
- radLabel4.Text = "CNC Location : ";
- radLabel3.Text = "CNC Type : ";
- radLabel7.Text = "CNC IP : ";
-
- radLabel1.Text = "Remark : ";
-
- rbtnOK.Text = "Edit";
- rbtnCancel.Text = "Cancel";
- }
- }
-
- public FEditRange(FRangeSetup fts)
- {
- InitializeComponent();
- InitLanguage();
- gFTS = fts;
- }
-
- private void SFAddCNC_Load(object sender, EventArgs e)
- {
- rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString();
- rtbMesPointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString();
- rtbRangePointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString();
- rtbLower.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolLower"].Value.ToString();
- rtbUpper.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolUpper"].Value.ToString();
-
- rtbRemark.Text = (gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Remark"].Value.ToString());
- }
-
- private void rbtnOK_Click(object sender, EventArgs e)
- {
- #region 防愚操作
-
- string strCarType = rtbCarType.Text.Trim();
- string strMesPointName = rtbMesPointName.Text.Trim();
-
- string strRangePoint = rtbRangePointName.Text.Trim();
- if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
- {
- MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
-
- if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim()))
- {
- MessageBox.Show("极差编号名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbRangePointName.Text.Trim()))
- {
- MessageBox.Show("极差包含点位不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- else
- {
- if (!rtbRangePointName.Text.Trim().Contains(","))
- {
- MessageBox.Show("极差包含点位必须用英文逗号隔开,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
-
- if (string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (!string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbLower.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (!string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbUpper.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString())
- {
- if (tmdal.CheckRangeNameExit(strCarType, strMesPointName))
- {
- MessageBox.Show("该车身类型下,已经存在该极差编号,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- return;
- }
- }
-
- #endregion 防愚操作
-
- try
- {
- TRangeModel ttm = new TRangeModel();
- ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString());
- ttm.CarType = strCarType;
- ttm.RangeName = strMesPointName;
- ttm.RangePoint = strRangePoint;
- ttm.RangeLower = double.Parse(rtbLower.Text.Trim());
- ttm.RangeUpper = double.Parse(rtbUpper.Text.Trim());
- ttm.Remark = rtbRemark.Text.Trim();
- ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- tmdal.UpdateTRange(ttm);
- }
- catch (Exception ex)
- {
- MessageBox.Show("修改极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- return;
- }
-
- MessageBox.Show("修改极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- gFTS.rtbnSearch_Click(null, null);
-
- this.Close();
- }
-
- private void rbtnCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/Range/FEditRange.designer.cs b/Analysis/Range/FEditRange.designer.cs
deleted file mode 100644
index 77581cf..0000000
--- a/Analysis/Range/FEditRange.designer.cs
+++ /dev/null
@@ -1,482 +0,0 @@
-namespace NSAnalysis
-{
- partial class FEditRange
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FEditRange));
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.radLabel7 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
- this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.rtbUpper = new Telerik.WinControls.UI.RadTextBox();
- this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
- this.rbtnOK = new Telerik.WinControls.UI.RadButton();
- this.label1 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.rtbLower = new Telerik.WinControls.UI.RadTextBox();
- this.rtbRemark = new Telerik.WinControls.UI.RadTextBox();
- this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
- this.label5 = new System.Windows.Forms.Label();
- this.rtbRangePointName = new Telerik.WinControls.UI.RadTextBox();
- this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
- this.label6 = new System.Windows.Forms.Label();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(373, 40);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "修改极差带";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "修改极差带";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(115, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
- this.label2.Size = new System.Drawing.Size(46, 52);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(157, 8);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(107, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "修改极差带";
- //
- // radLabel7
- //
- this.radLabel7.AutoSize = false;
- this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel7.ForeColor = System.Drawing.Color.White;
- this.radLabel7.Location = new System.Drawing.Point(1, 248);
- this.radLabel7.Name = "radLabel7";
- this.radLabel7.Size = new System.Drawing.Size(152, 23);
- this.radLabel7.TabIndex = 29;
- this.radLabel7.Text = "上限值:";
- this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel3
- //
- this.radLabel3.AutoSize = false;
- this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel3.ForeColor = System.Drawing.Color.White;
- this.radLabel3.Location = new System.Drawing.Point(6, 210);
- this.radLabel3.Name = "radLabel3";
- this.radLabel3.Size = new System.Drawing.Size(147, 23);
- this.radLabel3.TabIndex = 28;
- this.radLabel3.Text = "下限值:";
- this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel4
- //
- this.radLabel4.AutoSize = false;
- this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel4.ForeColor = System.Drawing.Color.White;
- this.radLabel4.Location = new System.Drawing.Point(6, 142);
- this.radLabel4.Name = "radLabel4";
- this.radLabel4.Size = new System.Drawing.Size(147, 23);
- this.radLabel4.TabIndex = 27;
- this.radLabel4.Text = "极差包含点位:";
- this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel2
- //
- this.radLabel2.AutoSize = false;
- this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel2.ForeColor = System.Drawing.Color.White;
- this.radLabel2.Location = new System.Drawing.Point(6, 102);
- this.radLabel2.Name = "radLabel2";
- this.radLabel2.Size = new System.Drawing.Size(147, 23);
- this.radLabel2.TabIndex = 26;
- this.radLabel2.Text = "极差编号名称:";
- this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel5
- //
- this.radLabel5.AutoSize = false;
- this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel5.ForeColor = System.Drawing.Color.White;
- this.radLabel5.Location = new System.Drawing.Point(6, 61);
- this.radLabel5.Name = "radLabel5";
- this.radLabel5.Size = new System.Drawing.Size(147, 23);
- this.radLabel5.TabIndex = 25;
- this.radLabel5.Text = "车身类型:";
- this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // rtbCarType
- //
- this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbCarType.ForeColor = System.Drawing.Color.White;
- this.rtbCarType.Location = new System.Drawing.Point(160, 61);
- this.rtbCarType.Name = "rtbCarType";
- this.rtbCarType.Size = new System.Drawing.Size(173, 23);
- this.rtbCarType.TabIndex = 1;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbMesPointName
- //
- this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(160, 102);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(173, 23);
- this.rtbMesPointName.TabIndex = 2;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbUpper
- //
- this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbUpper.ForeColor = System.Drawing.Color.White;
- this.rtbUpper.Location = new System.Drawing.Point(160, 247);
- this.rtbUpper.MaxLength = 15;
- this.rtbUpper.Name = "rtbUpper";
- this.rtbUpper.Size = new System.Drawing.Size(173, 23);
- this.rtbUpper.TabIndex = 5;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rbtnCancel
- //
- this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnCancel.ForeColor = System.Drawing.Color.White;
- this.rbtnCancel.Location = new System.Drawing.Point(248, 338);
- this.rbtnCancel.Name = "rbtnCancel";
- this.rbtnCancel.Size = new System.Drawing.Size(85, 30);
- this.rbtnCancel.TabIndex = 10;
- this.rbtnCancel.Text = "取消";
- this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click);
- this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // rbtnOK
- //
- this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnOK.ForeColor = System.Drawing.Color.White;
- this.rbtnOK.Location = new System.Drawing.Point(120, 338);
- this.rbtnOK.Name = "rbtnOK";
- this.rbtnOK.Size = new System.Drawing.Size(85, 30);
- this.rbtnOK.TabIndex = 9;
- this.rbtnOK.Text = "修改";
- this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click);
- this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "修改";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // label1
- //
- this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("宋体", 12F);
- this.label1.ForeColor = System.Drawing.Color.Red;
- this.label1.Location = new System.Drawing.Point(339, 65);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(15, 16);
- this.label1.TabIndex = 35;
- this.label1.Text = "*";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("宋体", 12F);
- this.label3.ForeColor = System.Drawing.Color.Red;
- this.label3.Location = new System.Drawing.Point(339, 250);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(15, 16);
- this.label3.TabIndex = 36;
- this.label3.Text = "*";
- //
- // label4
- //
- this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label4.AutoSize = true;
- this.label4.Font = new System.Drawing.Font("宋体", 12F);
- this.label4.ForeColor = System.Drawing.Color.Red;
- this.label4.Location = new System.Drawing.Point(339, 217);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(15, 16);
- this.label4.TabIndex = 37;
- this.label4.Text = "*";
- //
- // rtbLower
- //
- this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbLower.ForeColor = System.Drawing.Color.White;
- this.rtbLower.Location = new System.Drawing.Point(160, 210);
- this.rtbLower.Name = "rtbLower";
- this.rtbLower.Size = new System.Drawing.Size(173, 23);
- this.rtbLower.TabIndex = 4;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbRemark
- //
- this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbRemark.ForeColor = System.Drawing.Color.White;
- this.rtbRemark.Location = new System.Drawing.Point(163, 286);
- this.rtbRemark.Name = "rtbRemark";
- this.rtbRemark.Size = new System.Drawing.Size(173, 23);
- this.rtbRemark.TabIndex = 39;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // radLabel1
- //
- this.radLabel1.AutoSize = false;
- this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel1.ForeColor = System.Drawing.Color.White;
- this.radLabel1.Location = new System.Drawing.Point(9, 286);
- this.radLabel1.Name = "radLabel1";
- this.radLabel1.Size = new System.Drawing.Size(148, 23);
- this.radLabel1.TabIndex = 40;
- this.radLabel1.Text = "备注:";
- this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // label5
- //
- this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label5.AutoSize = true;
- this.label5.Font = new System.Drawing.Font("宋体", 12F);
- this.label5.ForeColor = System.Drawing.Color.Red;
- this.label5.Location = new System.Drawing.Point(339, 106);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(15, 16);
- this.label5.TabIndex = 42;
- this.label5.Text = "*";
- //
- // rtbRangePointName
- //
- this.rtbRangePointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbRangePointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbRangePointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbRangePointName.ForeColor = System.Drawing.Color.White;
- this.rtbRangePointName.Location = new System.Drawing.Point(159, 142);
- this.rtbRangePointName.Name = "rtbRangePointName";
- this.rtbRangePointName.Size = new System.Drawing.Size(173, 23);
- this.rtbRangePointName.TabIndex = 43;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRangePointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRangePointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // radLabel6
- //
- this.radLabel6.AutoSize = false;
- this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 9F);
- this.radLabel6.ForeColor = System.Drawing.Color.Red;
- this.radLabel6.Location = new System.Drawing.Point(159, 171);
- this.radLabel6.Name = "radLabel6";
- this.radLabel6.Size = new System.Drawing.Size(194, 23);
- this.radLabel6.TabIndex = 44;
- this.radLabel6.Text = "极差包含点位必须用英文逗号隔开";
- //
- // label6
- //
- this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label6.AutoSize = true;
- this.label6.Font = new System.Drawing.Font("宋体", 12F);
- this.label6.ForeColor = System.Drawing.Color.Red;
- this.label6.Location = new System.Drawing.Point(338, 145);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(15, 16);
- this.label6.TabIndex = 45;
- this.label6.Text = "*";
- //
- // FEditRange
- //
- this.AcceptButton = this.rbtnOK;
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(375, 399);
- this.Controls.Add(this.label6);
- this.Controls.Add(this.radLabel6);
- this.Controls.Add(this.rtbRangePointName);
- this.Controls.Add(this.label5);
- this.Controls.Add(this.rtbRemark);
- this.Controls.Add(this.radLabel1);
- this.Controls.Add(this.rtbLower);
- this.Controls.Add(this.label4);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.rbtnCancel);
- this.Controls.Add(this.rbtnOK);
- this.Controls.Add(this.rtbUpper);
- this.Controls.Add(this.rtbMesPointName);
- this.Controls.Add(this.rtbCarType);
- this.Controls.Add(this.radLabel7);
- this.Controls.Add(this.radLabel3);
- this.Controls.Add(this.radLabel4);
- this.Controls.Add(this.radLabel2);
- this.Controls.Add(this.radLabel5);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "FEditRange";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "修改极差带";
- this.Load += new System.EventHandler(this.SFAddCNC_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRangePointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private Telerik.WinControls.UI.RadLabel radLabel7;
- private Telerik.WinControls.UI.RadLabel radLabel3;
- private Telerik.WinControls.UI.RadLabel radLabel4;
- private Telerik.WinControls.UI.RadLabel radLabel2;
- private Telerik.WinControls.UI.RadLabel radLabel5;
- private Telerik.WinControls.UI.RadTextBox rtbCarType;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private Telerik.WinControls.UI.RadTextBox rtbUpper;
- private Telerik.WinControls.UI.RadButton rbtnCancel;
- private Telerik.WinControls.UI.RadButton rbtnOK;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label4;
- private Telerik.WinControls.UI.RadTextBox rtbLower;
- private Telerik.WinControls.UI.RadTextBox rtbRemark;
- private Telerik.WinControls.UI.RadLabel radLabel1;
- private System.Windows.Forms.Label label5;
- private Telerik.WinControls.UI.RadTextBox rtbRangePointName;
- private Telerik.WinControls.UI.RadLabel radLabel6;
- private System.Windows.Forms.Label label6;
- }
-}
diff --git a/Analysis/Range/FEditRange.resx b/Analysis/Range/FEditRange.resx
deleted file mode 100644
index a346816..0000000
--- a/Analysis/Range/FEditRange.resx
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vAAADrwBlbxySQAABqdJREFUWEe1lnlQE1ccx61HPXEqFEdtx0GtZ1uPTq3V1mPafxjbomO1VVtrj1E7
- VfHgMOQggCggoAUUCEqCEIwElQAaslnIJrsBkpAGstlkNxFF28HqqONU7WhFeX27SWg8qFHxN/Mdluzb
- 9/38fu/93m6/5wkAwAAx6pqytEITue1M5Qbfzy8/JFbroJUVTaEK24UF62vM0UsravKSMancd/vlBsz6
- lXLi4qivq1qWTJRihklS9dUVVSWdKlJwwjfk5cU6pXX8UmXT1jlluDZUgt4ano90rVJJu3NNaZ11roSX
- A8CWex9GjZlVii9/76i+8K1irDFcgl4elq8FU0tUIF6XCypJEQTg9S0AW+of1LbwbQg1O6besXqKDCsP
- K0RvjCjQPhgCzYfmI2CFqgQcNKcBDZPQiTB9XAGlUjngG1XLynly4tjYooYrrClnXICCYQVaMLIQAQWW
- NKCiRH0L8HE5MWruUf38KcU6bXhR/aWQfO2dofnerP1640gtWFktg+ZCoKH5zwWwGMMGrjtlDhOLQX/f
- T95YVtUcEVnZ/O2YovorsNxd0Lwnc1YjCzVgtrwSZDZlArWLD6DxMwFkN1GhySbnwvVq20+LKogfFyux
- Eb5b3thUb5uxTtMSEyHTgZBC9CFz9nq8tAYsh2tfDbNHYPZa5ukVEAPQX4x1DNltYibsNbs+5+OOrO/U
- VjRCqpOOlWCv+4Z5IwanZuzQtcVEVZtB+OH6xwAiT5aBjMZMLnNWQQGw5kbHpD0m+pDA6Li0HrHdX3Dc
- eH1IPiId8SSAGD0Zsw2zg3flOAgr8kKwmuZruxonzD4YANhJApyKFBLOXB7hcO4ykDfhvPc/OdkMwiT1
- /w8QizvAUpUJTD6qhy3Htp0WrK0tBgfhzoeGnLFfjwJkGOkQcSM5TUhQMXycqoDGzjicvBMH51x1uoVL
- DJ4jvQPEQQB28Aa0FcyvMILQIi0YffgMt/FOOBJ7Mn8UgC212EiPS8AdHyUaqa1CI9UR7zOOM5Bgh56E
- 8zWCccU6MPjQUwDi2YegvoTE8xT1IKqqFJ54j5sHAqQ0O6bDrDN24WRrrIF8wBn7tBOaf4/YOHN2PwUN
- EA33wk6MAEesad1ql+AhAPa6DrbiMfuev9ONRzr4jc52mPE1WO67geasNuvawNtlOGxj72YOGoBvdPy5
- z2SyIcy+NoTh/8Oa+lViSwGJhgNgQ52sa01tzW0e7uj2P8f+9V9v1dnBarUVdlUDd4oGDRBvILv3mFyE
- lLRlmC5IsrWM6MYZp6CbPX7lbUkgtiEPLKxQgMkldWDuMaLHNFBwKbjSL6ps6ummoJcgscl5p5jsSMc8
- njfPdaLj9WfTmQr77nvJ+AEwX6EEwwsQbsLRMLPeANiNF1ll4trZf54EDZBlcZcXtrZ/pqLpkGMkMzPL
- hLasqK69OUFaDUZJ6rjW7A3Av/Yrai3gHW/bPQMATu0QGp3XS8kL0WXUxahsi3t1lsWTIySsv396Er8D
- X1IPlfNRAM4clp7dwB/CNh57RNcz9qkACRCAh5PRaRbadcrduabUcSE23cygCYSDa6uoGjOYWqrvAWDl
- B/BnzSoGAqzX/AYiZBiXfeB4Vr0CiE3UjOQm15bD9vNEajN9jU9Q9wIn3gLbKarGAtff206sRsN3xqMA
- 2/V2ru1ek/xXrUD1CgDfVmEZZvp9UaMzehdu3wUn48NjWeDXTr1dsB1rzI5GpYY4XW5XPJYDeNjBv0SG
- w6R/jNjYdDDXcpJIxPMAT58D2DGBim3IubUZLbAuq5KvnVlaOtxn7Y0cj2fwHtwTHmukZvemzObaJUdb
- D2yXt6XckrcmdctbU66Ute7Vsvd+taBzZW3HtyrIHHM5bNVAye1J9xX2VEpBZiikbTk7N2pk0zZaJYN8
- 1sGH2pMzWEtnjEPdog6EFtwNfBmhrrwwgzt9k4bhX/YfWBqG1wX/vw3PkT907tT9eHvWp9ZOyTBushcJ
- /dk0PsoktgUCNDCJ6xBaeNpv7pXQ3cAkFzZ3FERQlPJV7uG+iNPk9onwc7wYmlAsgOVi/kSdO6VUS/Ov
- IHTCfZQWuRBGlIrQoi/wc3unYB2yIezXtu/xFw+lctWAOpr3s5YWKFgAon3/xnp3cjPKCDsamCTUelHG
- M5zL/kBDiUN9j/R9EOdzZ+k8yb/At2NlgydJjTKiVtSdVKk/m/kVANjAPs34ScEaMJfVMw3t6bm6s6lp
- qEc4R0mJ+26dgwn6qipE706fjsJ1VnvEI8VA/PC3/lOjX79/AdonQT85iOsDAAAAAElFTkSuQmCC
-
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- 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
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/Range/FRangeSetup.cs b/Analysis/Range/FRangeSetup.cs
deleted file mode 100644
index bfb4273..0000000
--- a/Analysis/Range/FRangeSetup.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
-using DAL;
-
-namespace NSAnalysis
-{
- public partial class FRangeSetup : Telerik.WinControls.UI.ShapedForm
- {
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- public int idgvSelectRowNumber = 0;
-
- #region 鼠标事件
-
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
-
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
-
- #endregion 鼠标事件
-
- public FRangeSetup()
- {
- InitializeComponent();
- }
-
- private void FToleranceSetup_Load(object sender, EventArgs e)
- {
- dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular);
- lpcAddTol.labPicture.Click += lpcAddTol_Click;
- lpcAddTol.labText.Click += lpcAddTol_Click;
- rtbnSearch_Click(null, null);
- }
-
- public void rtbnSearch_Click(object sender, EventArgs e)
- {
- DataTable dt = tmdal.SelectAllRangeByCondition(rtbCarModel.Text.Trim(), rtbMesPointName.Text.Trim());
-
- if (dt.Rows.Count > 0)
- {
- dgvTolList.DataSource = dt;
- SetdgvRowBgColor(dgvTolList);
- labSearchResult.Visible = false;
- }
- else
- {
- dgvTolList.DataSource = dt;
- labSearchResult.Visible = true;
- }
- }
-
- ///
- /// 设置DataGridView各行变色
- ///
- /// DataGridView
- public void SetdgvRowBgColor(DataGridView dgv)
- {
- if (dgv.Rows.Count > 0)
- {
- foreach (DataGridViewRow item in dgv.Rows)
- {
- if (item.Index % 2 == 0)
- {
- item.DefaultCellStyle.BackColor = Color.FromArgb(19, 46, 53);
- }
- else
- {
- item.DefaultCellStyle.BackColor = Color.FromArgb(27, 60, 68);
- }
- }
- }
- }
-
- private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
- {
- e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
- }
-
- private void lpcAddTol_Click(object sender, EventArgs e)
- {
- FAddRange fat = new FAddRange(this);
- fat.ShowDialog(this);
- }
-
- private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- string buttonText = "";
- if (e.RowIndex < 0 || e.ColumnIndex < 0)
- {
- return;
- }
- try
- {
- buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText;
- }
- catch (Exception)
- {
- buttonText = " ";
- }
- if (buttonText == "删除")
- {
- if (DialogResult.Yes == MessageBox.Show("您确定要删除该条极差带信息吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
- {
- string iObjIDPk = dgvTolList.Rows[e.RowIndex].Cells["Id"].Value.ToString();
- try
- {
- tmdal.DeleteOneRange(iObjIDPk);
- }
- catch (Exception ex)
- {
- MessageBox.Show("删除极差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- MessageBox.Show("删除极差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- rtbnSearch_Click(null, null);
- }
- }
-
- if (buttonText == "修改" || buttonText == "Edit")
- {
- idgvSelectRowNumber = e.RowIndex;
- FEditRange sfeditcnc = new FEditRange(this);
- sfeditcnc.ShowDialog();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Analysis/Range/FRangeSetup.designer.cs b/Analysis/Range/FRangeSetup.designer.cs
deleted file mode 100644
index f3d9f64..0000000
--- a/Analysis/Range/FRangeSetup.designer.cs
+++ /dev/null
@@ -1,522 +0,0 @@
-namespace NSAnalysis
-{
- partial class FRangeSetup
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FRangeSetup));
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.dgvTolList = new System.Windows.Forms.DataGridView();
- this.radGroupBox7 = new Telerik.WinControls.UI.RadGroupBox();
- this.rtbnSearch = new Telerik.WinControls.UI.RadButton();
- this.rtbDimensionName = new Telerik.WinControls.UI.RadTextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.rtbCarModel = new Telerik.WinControls.UI.RadTextBox();
- this.label15 = new System.Windows.Forms.Label();
- this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn();
- this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn();
- this.lpcAddTol = new UserControlClass.LabPictureControl();
- this.labSearchResult = new System.Windows.Forms.Label();
- this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CarType = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.MeasurePointName = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.TolLower = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.TolUpper = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Remark = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CNCEdit = new System.Windows.Forms.DataGridViewImageColumn();
- this.CNCDelete = new System.Windows.Forms.DataGridViewImageColumn();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.dgvTolList)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).BeginInit();
- this.radGroupBox7.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbDimensionName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(930, 40);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "极差带设置";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "极差带设置";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(367, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
- this.label2.Size = new System.Drawing.Size(46, 52);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(409, 8);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(107, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "极差带设置";
- //
- // dgvTolList
- //
- this.dgvTolList.AllowUserToAddRows = false;
- this.dgvTolList.AllowUserToDeleteRows = false;
- this.dgvTolList.AllowUserToOrderColumns = true;
- this.dgvTolList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.dgvTolList.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
- this.dgvTolList.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.dgvTolList.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.dgvTolList.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI", 11F);
- dataGridViewCellStyle1.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvTolList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
- this.dgvTolList.ColumnHeadersHeight = 40;
- this.dgvTolList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
- this.Id,
- this.CarType,
- this.MeasurePointName,
- this.DimensionName,
- this.TolLower,
- this.TolUpper,
- this.Remark,
- this.CNCEdit,
- this.CNCDelete});
- this.dgvTolList.EnableHeadersVisualStyles = false;
- this.dgvTolList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(181)))), ((int)(((byte)(200)))));
- this.dgvTolList.Location = new System.Drawing.Point(22, 153);
- this.dgvTolList.Name = "dgvTolList";
- this.dgvTolList.ReadOnly = true;
- this.dgvTolList.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle2.Font = new System.Drawing.Font("Segoe UI", 11F);
- dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dgvTolList.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
- this.dgvTolList.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
- dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- dataGridViewCellStyle3.Font = new System.Drawing.Font("Segoe UI", 9.75F);
- dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- this.dgvTolList.RowsDefaultCellStyle = dataGridViewCellStyle3;
- this.dgvTolList.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 11F);
- this.dgvTolList.RowTemplate.Height = 40;
- this.dgvTolList.Size = new System.Drawing.Size(887, 775);
- this.dgvTolList.TabIndex = 17;
- this.dgvTolList.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTolList_CellContentClick);
- this.dgvTolList.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvTolList_RowStateChanged);
- //
- // radGroupBox7
- //
- this.radGroupBox7.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
- this.radGroupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.radGroupBox7.Controls.Add(this.rtbnSearch);
- this.radGroupBox7.Controls.Add(this.rtbDimensionName);
- this.radGroupBox7.Controls.Add(this.label3);
- this.radGroupBox7.Controls.Add(this.rtbMesPointName);
- this.radGroupBox7.Controls.Add(this.label1);
- this.radGroupBox7.Controls.Add(this.rtbCarModel);
- this.radGroupBox7.Controls.Add(this.label15);
- this.radGroupBox7.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.radGroupBox7.HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center;
- this.radGroupBox7.HeaderText = "查询条件";
- this.radGroupBox7.Location = new System.Drawing.Point(160, 51);
- this.radGroupBox7.Name = "radGroupBox7";
- //
- //
- //
- this.radGroupBox7.RootElement.ShadowDepth = 2;
- this.radGroupBox7.Size = new System.Drawing.Size(749, 94);
- this.radGroupBox7.TabIndex = 456;
- this.radGroupBox7.Text = "查询条件";
- ((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox7.GetChildAt(0))).HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center;
- ((Telerik.WinControls.UI.GroupBoxContent)(this.radGroupBox7.GetChildAt(0).GetChildAt(0))).Opacity = 1D;
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.Transparent;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).Width = 1F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).GradientStyle = Telerik.WinControls.GradientStyles.Solid;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(0).GetChildAt(1))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.UI.GroupBoxHeader)(this.radGroupBox7.GetChildAt(0).GetChildAt(1))).GroupBoxStyle = Telerik.WinControls.UI.RadGroupBoxStyle.Standard;
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).ForeColor = System.Drawing.Color.White;
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Text = "查询条件";
- ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).LineLimit = false;
- ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).ForeColor = System.Drawing.Color.White;
- ((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Alignment = System.Drawing.ContentAlignment.MiddleLeft;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
- //
- // rtbnSearch
- //
- this.rtbnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rtbnSearch.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbnSearch.ForeColor = System.Drawing.Color.White;
- this.rtbnSearch.Location = new System.Drawing.Point(626, 28);
- this.rtbnSearch.Name = "rtbnSearch";
- this.rtbnSearch.Size = new System.Drawing.Size(88, 51);
- this.rtbnSearch.TabIndex = 461;
- this.rtbnSearch.Text = "查询";
- this.rtbnSearch.Click += new System.EventHandler(this.rtbnSearch_Click);
- this.rtbnSearch.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rtbnSearch.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).Text = "查询";
- ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).FocusBorderWidth = 5;
- ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).EnableHighlight = true;
- ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).EnableBorderHighlight = true;
- ((Telerik.WinControls.UI.RadButtonElement)(this.rtbnSearch.GetChildAt(0))).BorderHighlightThickness = 3;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).Width = 2F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).LeftWidth = 3F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).TopWidth = 3F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).RightWidth = 3F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).BottomWidth = 3F;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).GradientStyle = Telerik.WinControls.GradientStyles.Solid;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).ForeColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbnSearch.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // rtbDimensionName
- //
- this.rtbDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbDimensionName.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbDimensionName.ForeColor = System.Drawing.Color.White;
- this.rtbDimensionName.Location = new System.Drawing.Point(443, 51);
- this.rtbDimensionName.Name = "rtbDimensionName";
- this.rtbDimensionName.ReadOnly = true;
- this.rtbDimensionName.Size = new System.Drawing.Size(140, 27);
- this.rtbDimensionName.TabIndex = 460;
- this.rtbDimensionName.Text = "G";
- this.rtbDimensionName.Visible = false;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbDimensionName.GetChildAt(0))).Text = "G";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbDimensionName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.label3.ForeColor = System.Drawing.Color.White;
- this.label3.Location = new System.Drawing.Point(443, 27);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(95, 21);
- this.label3.TabIndex = 459;
- this.label3.Text = "尺寸名称:";
- this.label3.Visible = false;
- //
- // rtbMesPointName
- //
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(237, 52);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(140, 27);
- this.rtbMesPointName.TabIndex = 458;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.label1.ForeColor = System.Drawing.Color.White;
- this.label1.Location = new System.Drawing.Point(233, 28);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(129, 21);
- this.label1.TabIndex = 457;
- this.label1.Text = "测量点位名称:";
- //
- // rtbCarModel
- //
- this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbCarModel.ForeColor = System.Drawing.Color.White;
- this.rtbCarModel.Location = new System.Drawing.Point(42, 52);
- this.rtbCarModel.Name = "rtbCarModel";
- this.rtbCarModel.Size = new System.Drawing.Size(140, 27);
- this.rtbCarModel.TabIndex = 456;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // label15
- //
- this.label15.AutoSize = true;
- this.label15.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.label15.ForeColor = System.Drawing.Color.White;
- this.label15.Location = new System.Drawing.Point(42, 28);
- this.label15.Name = "label15";
- this.label15.Size = new System.Drawing.Size(95, 21);
- this.label15.TabIndex = 455;
- this.label15.Text = "车身类型:";
- //
- // dataGridViewImageColumn1
- //
- this.dataGridViewImageColumn1.HeaderText = "修改";
- this.dataGridViewImageColumn1.Image = ((System.Drawing.Image)(resources.GetObject("dataGridViewImageColumn1.Image")));
- this.dataGridViewImageColumn1.Name = "dataGridViewImageColumn1";
- this.dataGridViewImageColumn1.ReadOnly = true;
- this.dataGridViewImageColumn1.ToolTipText = "点击修改机床信息";
- this.dataGridViewImageColumn1.Width = 45;
- //
- // dataGridViewImageColumn2
- //
- this.dataGridViewImageColumn2.HeaderText = "删除";
- this.dataGridViewImageColumn2.Image = ((System.Drawing.Image)(resources.GetObject("dataGridViewImageColumn2.Image")));
- this.dataGridViewImageColumn2.Name = "dataGridViewImageColumn2";
- this.dataGridViewImageColumn2.ReadOnly = true;
- this.dataGridViewImageColumn2.ToolTipText = "点击删除机床信息";
- this.dataGridViewImageColumn2.Width = 45;
- //
- // lpcAddTol
- //
- this.lpcAddTol.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.lpcAddTol.Font = new System.Drawing.Font("Segoe UI", 9.75F);
- this.lpcAddTol.ForeColor = System.Drawing.Color.White;
- this.lpcAddTol.LabelPoint = new System.Drawing.Point(2, 59);
- this.lpcAddTol.LabelText = "添加公差带";
- this.lpcAddTol.LabelTopImage = global::NSAnalysis.Properties.Resources.add_32;
- this.lpcAddTol.Location = new System.Drawing.Point(22, 60);
- this.lpcAddTol.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.lpcAddTol.Name = "lpcAddTol";
- this.lpcAddTol.Size = new System.Drawing.Size(115, 85);
- this.lpcAddTol.TabIndex = 18;
- this.lpcAddTol.Click += new System.EventHandler(this.lpcAddTol_Click);
- //
- // labSearchResult
- //
- this.labSearchResult.Anchor = System.Windows.Forms.AnchorStyles.None;
- this.labSearchResult.AutoSize = true;
- this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.labSearchResult.ForeColor = System.Drawing.Color.Red;
- this.labSearchResult.Location = new System.Drawing.Point(240, 465);
- this.labSearchResult.Name = "labSearchResult";
- this.labSearchResult.Size = new System.Drawing.Size(452, 21);
- this.labSearchResult.TabIndex = 457;
- this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!";
- this.labSearchResult.Visible = false;
- //
- // Id
- //
- this.Id.DataPropertyName = "Id";
- this.Id.HeaderText = "Id";
- this.Id.Name = "Id";
- this.Id.ReadOnly = true;
- this.Id.Visible = false;
- this.Id.Width = 46;
- //
- // CarType
- //
- this.CarType.DataPropertyName = "CarType";
- this.CarType.HeaderText = "车身类型";
- this.CarType.Name = "CarType";
- this.CarType.ReadOnly = true;
- this.CarType.Width = 97;
- //
- // MeasurePointName
- //
- this.MeasurePointName.DataPropertyName = "RangeName";
- this.MeasurePointName.HeaderText = "极差编号名称";
- this.MeasurePointName.Name = "MeasurePointName";
- this.MeasurePointName.ReadOnly = true;
- this.MeasurePointName.Width = 129;
- //
- // DimensionName
- //
- this.DimensionName.DataPropertyName = "RangePoint";
- this.DimensionName.HeaderText = "极差包含点位";
- this.DimensionName.Name = "DimensionName";
- this.DimensionName.ReadOnly = true;
- this.DimensionName.Width = 129;
- //
- // TolLower
- //
- this.TolLower.DataPropertyName = "RangeLower";
- this.TolLower.HeaderText = "下限值";
- this.TolLower.Name = "TolLower";
- this.TolLower.ReadOnly = true;
- this.TolLower.Width = 81;
- //
- // TolUpper
- //
- this.TolUpper.DataPropertyName = "RangeUpper";
- this.TolUpper.HeaderText = "上限值";
- this.TolUpper.Name = "TolUpper";
- this.TolUpper.ReadOnly = true;
- this.TolUpper.Width = 81;
- //
- // Remark
- //
- this.Remark.DataPropertyName = "Remark";
- this.Remark.HeaderText = "备注";
- this.Remark.Name = "Remark";
- this.Remark.ReadOnly = true;
- this.Remark.Width = 65;
- //
- // CNCEdit
- //
- this.CNCEdit.HeaderText = "修改";
- this.CNCEdit.Image = ((System.Drawing.Image)(resources.GetObject("CNCEdit.Image")));
- this.CNCEdit.Name = "CNCEdit";
- this.CNCEdit.ReadOnly = true;
- this.CNCEdit.ToolTipText = "点击修改极差信息";
- this.CNCEdit.Width = 46;
- //
- // CNCDelete
- //
- this.CNCDelete.HeaderText = "删除";
- this.CNCDelete.Image = ((System.Drawing.Image)(resources.GetObject("CNCDelete.Image")));
- this.CNCDelete.Name = "CNCDelete";
- this.CNCDelete.ReadOnly = true;
- this.CNCDelete.ToolTipText = "点击删除极差信息";
- this.CNCDelete.Width = 46;
- //
- // FRangeSetup
- //
- this.AcceptButton = this.rtbnSearch;
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(932, 950);
- this.Controls.Add(this.labSearchResult);
- this.Controls.Add(this.radGroupBox7);
- this.Controls.Add(this.lpcAddTol);
- this.Controls.Add(this.dgvTolList);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Name = "FRangeSetup";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "极差带设置";
- this.Load += new System.EventHandler(this.FToleranceSetup_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.dgvTolList)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).EndInit();
- this.radGroupBox7.ResumeLayout(false);
- this.radGroupBox7.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbDimensionName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label labTitle;
- private UserControlClass.LabPictureControl lpcAddTol;
- public System.Windows.Forms.DataGridView dgvTolList;
- private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn1;
- private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn2;
- private Telerik.WinControls.UI.RadGroupBox radGroupBox7;
- private Telerik.WinControls.UI.RadTextBox rtbDimensionName;
- private System.Windows.Forms.Label label3;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private System.Windows.Forms.Label label1;
- private Telerik.WinControls.UI.RadTextBox rtbCarModel;
- private System.Windows.Forms.Label label15;
- private Telerik.WinControls.UI.RadButton rtbnSearch;
- private System.Windows.Forms.Label labSearchResult;
- private System.Windows.Forms.DataGridViewTextBoxColumn Id;
- private System.Windows.Forms.DataGridViewTextBoxColumn CarType;
- private System.Windows.Forms.DataGridViewTextBoxColumn MeasurePointName;
- private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName;
- private System.Windows.Forms.DataGridViewTextBoxColumn TolLower;
- private System.Windows.Forms.DataGridViewTextBoxColumn TolUpper;
- private System.Windows.Forms.DataGridViewTextBoxColumn Remark;
- private System.Windows.Forms.DataGridViewImageColumn CNCEdit;
- private System.Windows.Forms.DataGridViewImageColumn CNCDelete;
- }
-}
diff --git a/Analysis/Range/FRangeSetup.resx b/Analysis/Range/FRangeSetup.resx
deleted file mode 100644
index af4acbe..0000000
--- a/Analysis/Range/FRangeSetup.resx
+++ /dev/null
@@ -1,332 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
-
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAACcQAAAnEAGUaVEZAAAAB3RJ
- TUUH4wEJBBo3E/VSvgAAAfdJREFUOE+VkF1IU2EYx593uoKkAq+ii6C7qBmkQh8SWAR9XIgO1Loob4I2
- CCIkbyILAi+jIAgqw7IgaqJURsWCTffh5tuO66xpgTQ7LG+sseOZuEr/PQcOS7Pa+sEP3ov/7714qBQM
- wyDtZhd5icoS1fb6ZI3dwdI4W5SFl000n7xHAIRs3nlKVpXN8Ccqx3ui28qt1V+Aco0Wg+cIFSTmsmm3
- JsN6yFkL6RBQd9hV6Sh3WNOVmDGU64TPEIhedOcj7bqWUpCOS8iW3Xi9Wcw82WCrt+bLKcSJYcFvN0ZP
- 6wgeRD7UBuPLByR9Xv1hzRZXO9/ESn7xxzjSBIT3A8/Wwni6Tw8GBt0b+SY9bSesyuKf8eB6oJd0dJML
- lSTCPcfpvsdjlUzxWHAsXOi0iW+3KyjXXWmVTMlx1yqBWzYyLZBJx2l+oo/QWyUQu/p/sUkmPUYqHyQ/
- 8di1KM9w3Fh6bJJJv2UT27OfItN59TLHBzheV1ps8vXjCGU1eVafCmNu8gV+hFqBB6s55msXi02m3/vW
- zKYCz3OTXuTG+xf06A3te1/dyTsAjYYGaCimsLEVFmhobKj13L2ipWT/7LvAo1eRoYEO/xvlCIeHeLjU
- w+xWdvkHu+r2bjp/6cJR/8jwMV9szOlX4k4eNLMtv9nKVrNLPiD6CcD+vhesM7RbAAAAAElFTkSuQmCC
-
-
-
- True
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
- JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH5AECByowmpX4DgAAA4VJREFU
- OE9tkntMU1ccx799XKCtK1LSFuhgUB8B10sJUG5ZC0u4itt8DdFJm4CwBIZEcYaXW9xwiWFbtriHbsn+
- cQ+nyDLBPSymCMmcJGUkU7olIg+dlIGUIgyxXMrI2bnVGP/YST73/vJ9JL+cHIhHaNoOoWErltytED46
- iAdRQHBvRtgTjzgTQiB8Wgeh9WMI1TYINXkPzdnqfCw0bINw1Bm5fHx/ZejIbuviJ3WY4YCA04QZipfm
- Fj/cj9BRZ/pyc0n1UiWnWqh5HrOVuTR0YBOmyjKZ4BvFh0OHNgtLbzv+mG8q4uY/qMWdTOB9Wp5/bx/m
- 33KwQrPTE6rduBxs3P5uoDRDEaiiW4xV2Ji5+h1ND8rMwUW7jCwWp5D7b77i9b++lQscew3TzRWYbtzF
- 3j9S4glSL0gzC6Xm0OyhLS3jpVkqTDZXxd0rt/bN5TFkzoow/+xMITONxd6xfYU5vtptpnuHd3tETfRm
- RewMmSm3/j7RsOcZ+OmKE+X5/N1C/YjfKiF+DmECLyeTu3VFN6bqiwem6TxFtTA0M7lJP/J3WR4/KV7i
- X8ca4M+V4bbTzo8VaEfGcyRkPAdk3AIy8WI8mXjJQHx09lHNR707NHPLYeOnxM479cDtgw7cbKyBzyrD
- 4E4LP5yvGRq1SMhoNsho1iPEmWrUuzlYZOF9VikG66tx60CJuAPgLX0B/ZV7cO05Hfo3m6r+zFWHbtDi
- k1Dt377CDbUDuVr86tgIzy7bw/JXWauRzANuqxEu+1pTr83Qey07ggxkIsz1R4jaVVvC9Yv2FM7NGfEF
- p8TXtAtFEfCj+Wm0W5LYHove05fJkH768H77HzzU67bovN9nG7ifaOd4Nn2ynamJOMvq2U5zrOdKBkOu
- mvGYX9IVYyJPalfMcuIya7zfslqud50ROG3Uay+kRfdcZuWkJx2P6Xo2ctiVpuNdqTrevSFyuJsF6aa6
- +O9iZaQ9Vd13am1sEtoSE1f9YFx1wpUmXblEzUsmkJ/Xy0c6kqP5blaOyyYZxFnUOqnXSTMXafZCiurE
- 2cS4p9AWr8Hp1THq7wwRJzvWS1ba10iHzsUpCrpYCc7oDDijTYCbBc7FRRWcN0qHOtZJVtoSmJPfqKPV
- rfH0EgFG/EgqFMqkzzXyUy2ayFehiFUhgpFJVCp6y0oakcsQpVG2xERUfBYj+3KvQpEESCWAEv8B4hme
- YYujYuAAAAAASUVORK5CYII=
-
-
-
-
- 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
- YYujYuAAAAAASUVORK5CYII=
-
-
-
-
- AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACt5tMNidzBKYTbviZ92LoOedi5AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAzO/jAbfp2C6J3MGShNu+h3zYujF52LkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACS3sYvgtq+anrYuquB2r22ftm7z4DZvKuL3MJWzvDkBM7w5AEAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAbtSzA3nXuWh82Lqnedi5rI7dxGaB2r3Hfdi734DZvbuf4sx4jt3DNn7Z
- uxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01bYieNe4nXrYudR52LmsmODJIoPavqJ72Lrpedi5/H3Y
- u9Z92LqEfdi6TYjbwCaX4MgIl+DIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIfbwHp+2bvQedi55XnYuawAAAAAf9m8XXzY
- urR52Ln/edi5/3nYuf982LrZgtm9mJfgyCCX4MgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIbbvweG278aftm733vYufh52Lnledi5rAAA
- AACN3MITiNvAZ3rYueh52Ln/edi5/3nYuft62Ln0ftm744Tavo6N3cNDld/HCgAAAAAAAAAAAAAAAAAA
- AAAAAAAA2cuMB9fIhRXTwnUw08J1MNPCdTDTwnUw08J1MNPCdTDTwnUwssiKQI/PonCC0aXzgdCl/oLQ
- pOmGz6O608J1MLzLkDWp0J5tktKoyYDQpf+A0KX/gNCl/4DQpf+B0aX8hNGn1IrSqKeRz59yoLhlKKC4
- ZQUAAAAAAAAAAAAAAADXyIYT18mHNNXFfW7Tw3h308J2etPCdXvTwnV708J1e9LBc3vFv3GNnrxvwZK/
- dvuRv3b/lMB58ZvBfdLTwnV708J1e8bFgJSuy5LDk8J+/5HAeP+Rv3b/kb92/5G/dv+Rv3b/kr5085e7
- bMylsFBarKg5CwAAAAAAAAAAAAAAANbGfyrXx4Js3tGbw9fIhezUxHr608J1/9PCdf/TwnX/0L5s/8qy
- Tv+7lwv/upYI/7qWCP+8mxb/w6Y1/9PCdf/TwnX/08J1/9HAcP/Coyv/vJkQ/7qWCP+6lgj/upYI/7qW
- CP+6lgj/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08N4KtTDeG7YyojW5dmwWeHUo3TZyom71MR6/dPC
- df/Jsk7/wKIn/7qWCP+6lgj/upYI/72bFv/DpjX/08J1/9PCdf/TwnX/0sFz/824X/+/nyD/upYK/7qW
- CP+6lgj/upYI/7qWCP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J2cdXFfe3g1KJu4NSiTtrL
- jljay42RzMN84sKtQ/e8mhX/upYI/7qWCP+7lwn/vZsW/8OmNf/Twnb/08J2/9PCdf/SwXX/0b9u/8Sp
- OP++nBn/upYI/7uXCf+7lwn/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J2/9rL
- jaXd0JlL2Nu2DdjVqC67yY3Ls7FS8rGeIf+3mRH/upYJ/7qWCP+9mxb/w6Y1/9PCdv/Twnb/08J2/9PC
- df/TwnX/yrNS/8KkLP+6lgr/u5cJ/7uXCf+7lwn/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPC
- dXPTwnb/1sZ/99/SnYje374cuunaHonbwdiE0an6j8KB/6qnOf+5lwv/upYI/72bFv/DpjX/08J2/9PC
- dv/Twnb/08J2/9PCdv/SwHH/yK9I/7yaE/+7lwn/u5cJ/7uXCf+6lgjtupYInrqWCBQAAAAAAAAAAAAA
- AADTwnUq08J1c9PCdv/Twnb+18iGw8/Sn4mZ4MmNftm773vWtv591LD/gNCk/5O9dP+nqT3/t6Al/8Om
- Nf/Twnb/08J2/9PCdv/Twnb/08J2/9LBdP/OuWD/xqs+/7qWCP+6lgj/u5cJ/7qWCO26lgieupYIFAAA
- AAAAAAAAAAAAANPCdSrTwnVz08J2/9PCdf/UxHvnyMmLzovZudB72Ln5edi5/3nYuf952Ln/gs6g/4/B
- fv+fuGb7s7Ra9NTDeP7Twnb/08J1/9PCdv/Twnb/08J1/9G+bf/Mtlj/vZsV/7qXCv+6lgj/upYI7bqW
- CJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdXPTwnb/08J1/9G/bv/Dv3L/iM2d/nvWtv952Ln/eti6/3rY
- uv952Ln/eta3/4XRp/WdxYjf1cV73NPDd+zTwnX408J1/9PCdf/TwnX/08J1/9C+a//Coyv/u5gO/7qW
- CP+6lgjtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq08J1c9PCdv/TwnX/y7RT/7ynN/+ir07/ftKr/3nY
- uf962Lr/eti6/3rYuv962Lr/edi55XnYuazWxoEp1MR8idPDeM/TwnX908J1/9PCdf/TwnX/0sBy/865
- YP++nRr/u5cJ/7qWCO26lgieupYIFAAAAAAAAAAAAAAAANPCdSrTwnVz08J1/8+7Zf/EqTn/upoS/7Wb
- Fv+Lxov/ftOs/3nYuf962Lr/eti6/3rYuv952Lnledi5rNbGgQjUxHwa1MR7O9XFfm3VxX3f08J399PC
- df/SwXX/0sBx/8WpOf++nRr/upYI7bqWCJ66lggUAAAAAAAAAAAAAAAA08J1KtPCdHPTwnT/yLBK/8Ch
- Jf+6lgn/upYJ/52zWv+HypT/edi4/3rYuv962Lr/eti6/3nYueV52LmsAAAAAAAAAADWxoEN1cV+KNTE
- fHPUw3qp08J41dPCdvfTwnX/y7RV/8KkLf+6lwvtupYInrqWCBQAAAAAAAAAAAAAAADTwnUq0sF0c9G/
- b//CpC3/vJoT/7qWCP+6lgj/sKAo/5K+dv981bL/edi5/3nYuf962Lr/edi55XnYuawAAAAAAAAAAAAA
- AAAAAAAA0sJ4AdTEfEjVxHyS1MN51dPCd/LRv2/8x61C/7yaE+26lgieupYIFAAAAAAAAAAAAAAAANPC
- dSrRv3BzybFO/7ybFf+6lgj/u5cJ/7uXCf+6lgj/o61I/4vFif952Ln/edi5/3rYuv952Lnledi5rAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAANXGhgjVxoYj18iGldTEe+bOuV/8xak67bqWCJ66lggUAAAAAAAA
- AAAAAAAAz7xpKs23XnO+nyD/u5gN/7qWCP+7lwn/u5cJ/7qWCP+ynh7/oLBQ/3zUsf9617n/eti6/3nY
- ueV52LmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1caGAtXGhgjXyIYh2MmHTNTDeozNt167vp4gnr2b
- GBQAAAAAAAAAAAAAAADIrU4gx6xIXLyaGOm7lwz7upYJ/7qWCP+7lwn/u5cJ/7iYDv+rpDD/i8aL/3rW
- tv952Ln/edi55XnYuawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADazI0S1seCPc23
- YGPEqD9ixKhCDAAAAAAAAAAAAAAAAMKiNxHBojY5v54nuryaFea7lw33upYJ/bqWCP+6lgj/upYI/7Oc
- G/+fsVT/fNSw/3rXuP952Lnledi5rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAy7JfBMuyXxPLsl8CAAAAAAAAAAAAAAAAAAAAAAAAAADUvIcDy69bVMOkN6a9mhnpupYI/7qW
- CP+7lwn/upcK/7mYDv+Hypf/fdSw/3nYueV52LmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANS8hwHNsmcV0rtxMNO9
- dVjAnyalvJkT77qXDP26lgj/uZYJ/6CwUv+HyZT/edi55XnYuawAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADh0qwF18KFGMGhMFDBoTKYv54kxbyaFui6lgr/sKAn/5K+dv9+0qvleNe4rAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMmuXR7HqkxtwqMyuryZE/O6lgv7n7FV/ojIk+V517isAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODRyAHbyawRy7BYQL+eI8G2niTroLBS5XvT
- sawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfDmAXLsFgS4M6pOsqy
- X26zqkqTn7+BpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AADu4+QD1L1/JrmpS0istm5lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA//4P///8D////AH///gA///4AB//+EAf/+BAB8AAAAHAAAABwAAAAcAA
- AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAYAHAAHgBwAB+AcAAfgHAAH/BwAB/8fAA
- f//wAH///AB///+Af///wH///+B////4f/8=
-
-
-
\ No newline at end of file
diff --git a/Analysis/Tolerance/FAddTolerance.cs b/Analysis/Tolerance/FAddTolerance.cs
index 359cee2..e5c3d78 100644
--- a/Analysis/Tolerance/FAddTolerance.cs
+++ b/Analysis/Tolerance/FAddTolerance.cs
@@ -1,5 +1,6 @@
using BaseFunction;
using DAL;
+using NSAnalysis.Model;
using System;
using System.Drawing;
using System.Windows.Forms;
@@ -8,152 +9,194 @@ using Telerik.WinControls.UI;
namespace NSAnalysis
{
public partial class FAddTolerance : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
+ {
+ #region 全局变量
- //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL();
+ private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
+ private FToleranceSetup gFTS;
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private FToleranceSetup gFTS;
+ #endregion 全局变量
- #endregion 全局变量
+ #region 鼠标事件
- #region 鼠标事件
+ private void btn_MouseHover(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(0, 151, 186);
+ }
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
+ private void btn_MouseLeave(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(19, 46, 53);
+ }
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
+ #endregion 鼠标事件
- #endregion 鼠标事件
+ public FAddTolerance(FToleranceSetup fts)
+ {
+ InitializeComponent();
- private void InitLanguage()
- {
- if (!ConfigDfn.bLanguage)
- {
- this.Text = "Add Tolerance";
- labTitle.Text = "Add Tolerance";
- radLabel5.Text = "CNC ID : ";
- radLabel2.Text = "CNC Name : ";
- radLabel4.Text = "CNC Location : ";
- radLabel3.Text = "CNC Type : ";
- radLabel7.Text = "CNC IP : ";
- radLabel1.Text = "Remark : ";
- rbtnOK.Text = "Add";
- rbtnCancel.Text = "Cancel";
- }
- }
+ gFTS = fts;
+ }
- public FAddTolerance(FToleranceSetup fts)
- {
- InitializeComponent();
- InitLanguage();
- gFTS = fts;
- }
+ private void SFAddCNC_Load(object sender, EventArgs e)
+ {
+ rddl_ReadType.SelectedIndex = 0;
+ rddl_Position.SelectedIndex = 0;
+ rddl_Status.SelectedIndex = 0;
+ }
- private void SFAddCNC_Load(object sender, EventArgs e)
- {
- rddlDimensionName.SelectedIndex = 0;
- }
+ private void rbtnOK_Click(object sender, EventArgs e)
+ {
+ #region 防愚操作
- private void rbtnOK_Click(object sender, EventArgs e)
- {
- #region 防愚操作
+ string strCarName = rtbCarName.Text.Trim();
+ string strCarType = rtbCarType.Text.Trim();
+ string strReadType = rddl_ReadType.Text.Trim();
+ string strPosition = rddl_Position.Text.Trim();
+ string strStatus = rddl_Status.Text.Trim();
- string strCarType = rtbCarType.Text.Trim();
- string strMesPointName = rtbMesPointName.Text.Trim();
+ if (string.IsNullOrEmpty(rtbCarName.Text.Trim()))
+ {
+ MessageBox.Show("车型名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
- string strDimensionName = rddlDimensionName.Text.Trim();
- if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
- {
- MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
+ if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
+ {
+ MessageBox.Show("车型代码不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(rtb_sourceFilePath.Text.Trim()))
+ {
+ MessageBox.Show("源文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(rtb_targetFilePath.Text.Trim()))
+ {
+ MessageBox.Show("目标文件路径不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
- if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim()))
- {
- MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (!string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbLower.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (!string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbUpper.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (tmdal.CheckMeaPointNameExit(strCarType, strMesPointName, strDimensionName))
- {
- MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // 对于分发配置,strReadType 进行转换 ,文件内容 对应1 文件名称对应2
+ if (string.IsNullOrEmpty(strReadType) || (strReadType != "文件内容" && strReadType != "文件名称"))
+ {
+ MessageBox.Show("请选择正确的读取类型! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
- return;
- }
+ if (strReadType.Equals("文件名称"))
+ {
+ strReadType = "2"; // 文件名称
+ }
+ else if (strReadType.Equals("文件内容"))
+ {
+ strReadType = "1"; // 文件内容
+ }
- #endregion 防愚操作
+ if (tmdal.CheckTaskExit(strCarName, strCarType, strReadType))
+ {
+ MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- TToleranceModel ttm = new TToleranceModel();
- ttm.CarType = strCarType;
- ttm.MeasurePointName = strMesPointName;
- ttm.DimensionName = strDimensionName;
- ttm.TolLower = double.Parse(rtbLower.Text.Trim());
- ttm.TolUpper = double.Parse(rtbUpper.Text.Trim());
- ttm.Remark = rtbRemark.Text.Trim();
- ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ return;
+ }
- try
- {
- tmdal.InsertTTolerance(ttm);
- }
- catch (Exception ex)
- {
- MessageBox.Show("添加公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ #endregion 防愚操作
- MyBase.TraceWriteLine("添加公差带信息失败,原因:" + ex.ToString());
- return;
- }
+ //数据转换
+ if (strPosition.Equals("左侧"))
+ {
+ strPosition = "R"; // 左侧
+ }
+ else if (strPosition.Equals("右侧"))
+ {
+ strPosition = "L"; // 右侧
+ }
- MessageBox.Show("添加公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ if(strStatus.Equals("启动"))
+ {
+ strStatus = "start"; // 启动
+ }
+ else if (strStatus.Equals("停止"))
+ {
+ strStatus = "stop"; // 停止
+ }
- gFTS.rtbnSearch_Click(null, null);
- }
+ //添加分发配置
+ CJLR_TASK_RELEASE cJLR_TASK_RELEASE = new CJLR_TASK_RELEASE();
+ cJLR_TASK_RELEASE.ModelsName = strCarName;
+ cJLR_TASK_RELEASE.ModelsCode = strCarType;
+ cJLR_TASK_RELEASE.Position = strPosition;
+ cJLR_TASK_RELEASE.SourceFile = rtb_sourceFilePath.Text.Trim();
+ cJLR_TASK_RELEASE.TargetFile = rtb_targetFilePath.Text.Trim();
+ cJLR_TASK_RELEASE.ReadType = int.Parse(strReadType);
+ cJLR_TASK_RELEASE.IsDelete = 1; //默认未删除
- private void rbtnCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
+ cJLR_TASK_RELEASE.Status = strStatus;
+
+ try
+ {
+ tmdal.InsertTask(cJLR_TASK_RELEASE);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("添加分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ MyBase.TraceWriteLine("添加分发配置失败,原因:" + ex.ToString());
+ return;
+ }
+
+ MessageBox.Show("添加分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ gFTS.rtbnSearch_Click(null, null);
+ }
+
+ private void rbtnCancel_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btn_sourceFile_Click(object sender, EventArgs e) //原路径
+ {
+ // 创建 FolderBrowserDialog 实例
+ FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog
+ {
+ Description = "选择源文件夹"
+ };
+
+ // 显示文件夹浏览对话框
+ if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+ {
+ // 设置选中的文件夹路径到文本框
+ rtb_sourceFilePath.Text = folderBrowserDialog.SelectedPath;
+ }
+ else
+ {
+ // 显示未选择文件夹的提示信息
+ MessageBox.Show("未选择源文件夹", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void btn_targetFile_Click(object sender, EventArgs e) //目标路径
+ {
+ // 创建 FolderBrowserDialog 实例
+ FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog
+ {
+ Description = "选择目标文件夹"
+ };
+
+ // 显示文件夹浏览对话框
+ if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
+ {
+ // 设置选中的文件夹路径到文本框
+ rtb_targetFilePath.Text = folderBrowserDialog.SelectedPath;
+ }
+ else
+ {
+ // 显示未选择文件夹的提示信息
+ MessageBox.Show("未选择目标文件夹", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Analysis/Tolerance/FAddTolerance.designer.cs b/Analysis/Tolerance/FAddTolerance.designer.cs
index 62d665b..ea9da4a 100644
--- a/Analysis/Tolerance/FAddTolerance.designer.cs
+++ b/Analysis/Tolerance/FAddTolerance.designer.cs
@@ -28,410 +28,499 @@
///
private void InitializeComponent()
{
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance));
- Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem();
- Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem();
- this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
- this.label2 = new System.Windows.Forms.Label();
- this.labTitle = new System.Windows.Forms.Label();
- this.radLabel7 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
- this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
- this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.rtbUpper = new Telerik.WinControls.UI.RadTextBox();
- this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
- this.rbtnOK = new Telerik.WinControls.UI.RadButton();
- this.label1 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.rtbLower = new Telerik.WinControls.UI.RadTextBox();
- this.rtbRemark = new Telerik.WinControls.UI.RadTextBox();
- this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
- this.rddlDimensionName = new Telerik.WinControls.UI.RadDropDownList();
- this.label5 = new System.Windows.Forms.Label();
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
- this.radTitleBar1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).BeginInit();
- this.SuspendLayout();
- //
- // radTitleBar1
- //
- this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FAddTolerance));
+ Telerik.WinControls.UI.RadListDataItem radListDataItem1 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem2 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem();
+ Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem();
+ this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
+ this.label2 = new System.Windows.Forms.Label();
+ this.labTitle = new System.Windows.Forms.Label();
+ this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
+ this.rbtnOK = new Telerik.WinControls.UI.RadButton();
+ this.btn_targetFile = new Telerik.WinControls.UI.RadButton();
+ this.btn_sourceFile = new Telerik.WinControls.UI.RadButton();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.rddl_Status = new Telerik.WinControls.UI.RadDropDownList();
+ this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
+ this.rddl_Position = new Telerik.WinControls.UI.RadDropDownList();
+ this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
+ this.rddl_ReadType = new Telerik.WinControls.UI.RadDropDownList();
+ this.rtb_sourceFilePath = new Telerik.WinControls.UI.RadTextBox();
+ this.rtb_targetFilePath = new Telerik.WinControls.UI.RadTextBox();
+ this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
+ this.rtbCarName = new Telerik.WinControls.UI.RadTextBox();
+ this.radLabel7 = new Telerik.WinControls.UI.RadLabel();
+ this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
+ this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
+ this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
+ this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
+ ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
+ this.radTitleBar1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
+ this.SuspendLayout();
+ //
+ // radTitleBar1
+ //
+ this.radTitleBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Controls.Add(this.label2);
- this.radTitleBar1.Controls.Add(this.labTitle);
- this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
- this.radTitleBar1.Name = "radTitleBar1";
- //
- //
- //
- this.radTitleBar1.RootElement.ApplyShapeToControl = true;
- this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(373, 40);
- this.radTitleBar1.TabIndex = 0;
- this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "添加公差带";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "添加公差带";
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- //
- // label2
- //
- this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.label2.AutoSize = true;
- this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(117, -5);
- this.label2.Name = "label2";
- this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
- this.label2.Size = new System.Drawing.Size(46, 52);
- this.label2.TabIndex = 1;
- //
- // labTitle
- //
- this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
- this.labTitle.AutoSize = true;
- this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
- this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(159, 8);
- this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(107, 25);
- this.labTitle.TabIndex = 0;
- this.labTitle.Text = "添加公差带";
- //
- // radLabel7
- //
- this.radLabel7.AutoSize = false;
- this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel7.ForeColor = System.Drawing.Color.White;
- this.radLabel7.Location = new System.Drawing.Point(4, 219);
- this.radLabel7.Name = "radLabel7";
- this.radLabel7.Size = new System.Drawing.Size(148, 23);
- this.radLabel7.TabIndex = 29;
- this.radLabel7.Text = "上限值:";
- this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel3
- //
- this.radLabel3.AutoSize = false;
- this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel3.ForeColor = System.Drawing.Color.White;
- this.radLabel3.Location = new System.Drawing.Point(4, 181);
- this.radLabel3.Name = "radLabel3";
- this.radLabel3.Size = new System.Drawing.Size(148, 23);
- this.radLabel3.TabIndex = 28;
- this.radLabel3.Text = "下限值:";
- this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel4
- //
- this.radLabel4.AutoSize = false;
- this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel4.ForeColor = System.Drawing.Color.White;
- this.radLabel4.Location = new System.Drawing.Point(4, 141);
- this.radLabel4.Name = "radLabel4";
- this.radLabel4.Size = new System.Drawing.Size(148, 23);
- this.radLabel4.TabIndex = 27;
- this.radLabel4.Text = "尺寸名称:";
- this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel2
- //
- this.radLabel2.AutoSize = false;
- this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel2.ForeColor = System.Drawing.Color.White;
- this.radLabel2.Location = new System.Drawing.Point(4, 101);
- this.radLabel2.Name = "radLabel2";
- this.radLabel2.Size = new System.Drawing.Size(148, 23);
- this.radLabel2.TabIndex = 26;
- this.radLabel2.Text = "测量点位名称:";
- this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel5
- //
- this.radLabel5.AutoSize = false;
- this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel5.ForeColor = System.Drawing.Color.White;
- this.radLabel5.Location = new System.Drawing.Point(4, 60);
- this.radLabel5.Name = "radLabel5";
- this.radLabel5.Size = new System.Drawing.Size(148, 23);
- this.radLabel5.TabIndex = 25;
- this.radLabel5.Text = "车身类型:";
- this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // rtbCarType
- //
- this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbCarType.ForeColor = System.Drawing.Color.White;
- this.rtbCarType.Location = new System.Drawing.Point(158, 60);
- this.rtbCarType.Name = "rtbCarType";
- this.rtbCarType.Size = new System.Drawing.Size(173, 23);
- this.rtbCarType.TabIndex = 1;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbMesPointName
- //
- this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(158, 101);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(173, 23);
- this.rtbMesPointName.TabIndex = 2;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbUpper
- //
- this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbUpper.ForeColor = System.Drawing.Color.White;
- this.rtbUpper.Location = new System.Drawing.Point(158, 218);
- this.rtbUpper.MaxLength = 15;
- this.rtbUpper.Name = "rtbUpper";
- this.rtbUpper.Size = new System.Drawing.Size(173, 23);
- this.rtbUpper.TabIndex = 5;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rbtnCancel
- //
- this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnCancel.ForeColor = System.Drawing.Color.White;
- this.rbtnCancel.Location = new System.Drawing.Point(246, 312);
- this.rbtnCancel.Name = "rbtnCancel";
- this.rbtnCancel.Size = new System.Drawing.Size(85, 30);
- this.rbtnCancel.TabIndex = 10;
- this.rbtnCancel.Text = "取消";
- this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click);
- this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // rbtnOK
- //
- this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.rbtnOK.ForeColor = System.Drawing.Color.White;
- this.rbtnOK.Location = new System.Drawing.Point(118, 312);
- this.rbtnOK.Name = "rbtnOK";
- this.rbtnOK.Size = new System.Drawing.Size(85, 30);
- this.rbtnOK.TabIndex = 9;
- this.rbtnOK.Text = "添加";
- this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click);
- this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
- this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover);
- ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- //
- // label1
- //
- this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label1.AutoSize = true;
- this.label1.Font = new System.Drawing.Font("宋体", 12F);
- this.label1.ForeColor = System.Drawing.Color.Red;
- this.label1.Location = new System.Drawing.Point(336, 221);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(15, 16);
- this.label1.TabIndex = 34;
- this.label1.Text = "*";
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label3.AutoSize = true;
- this.label3.Font = new System.Drawing.Font("宋体", 12F);
- this.label3.ForeColor = System.Drawing.Color.Red;
- this.label3.Location = new System.Drawing.Point(336, 184);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(15, 16);
- this.label3.TabIndex = 35;
- this.label3.Text = "*";
- //
- // label4
- //
- this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label4.AutoSize = true;
- this.label4.Font = new System.Drawing.Font("宋体", 12F);
- this.label4.ForeColor = System.Drawing.Color.Red;
- this.label4.Location = new System.Drawing.Point(336, 66);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(15, 16);
- this.label4.TabIndex = 36;
- this.label4.Text = "*";
- //
- // rtbLower
- //
- this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbLower.ForeColor = System.Drawing.Color.White;
- this.rtbLower.Location = new System.Drawing.Point(158, 181);
- this.rtbLower.Name = "rtbLower";
- this.rtbLower.Size = new System.Drawing.Size(173, 23);
- this.rtbLower.TabIndex = 4;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbRemark
- //
- this.rtbRemark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbRemark.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbRemark.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbRemark.ForeColor = System.Drawing.Color.White;
- this.rtbRemark.Location = new System.Drawing.Point(158, 258);
- this.rtbRemark.Name = "rtbRemark";
- this.rtbRemark.Size = new System.Drawing.Size(173, 23);
- this.rtbRemark.TabIndex = 37;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbRemark.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbRemark.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // radLabel1
- //
- this.radLabel1.AutoSize = false;
- this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel1.ForeColor = System.Drawing.Color.White;
- this.radLabel1.Location = new System.Drawing.Point(4, 258);
- this.radLabel1.Name = "radLabel1";
- this.radLabel1.Size = new System.Drawing.Size(148, 23);
- this.radLabel1.TabIndex = 38;
- this.radLabel1.Text = "备注:";
- this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // rddlDimensionName
- //
- this.rddlDimensionName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rddlDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rddlDimensionName.DropDownHeight = 50;
- this.rddlDimensionName.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- this.rddlDimensionName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rddlDimensionName.ForeColor = System.Drawing.Color.White;
- radListDataItem1.Text = "F";
- radListDataItem2.Text = "G";
- this.rddlDimensionName.Items.Add(radListDataItem1);
- this.rddlDimensionName.Items.Add(radListDataItem2);
- this.rddlDimensionName.Location = new System.Drawing.Point(158, 143);
- this.rddlDimensionName.Name = "rddlDimensionName";
- this.rddlDimensionName.Size = new System.Drawing.Size(173, 23);
- this.rddlDimensionName.TabIndex = 39;
- ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlDimensionName.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // label5
- //
- this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.label5.AutoSize = true;
- this.label5.Font = new System.Drawing.Font("宋体", 12F);
- this.label5.ForeColor = System.Drawing.Color.Red;
- this.label5.Location = new System.Drawing.Point(337, 108);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(15, 16);
- this.label5.TabIndex = 40;
- this.label5.Text = "*";
- //
- // FAddTolerance
- //
- this.AcceptButton = this.rbtnOK;
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(375, 366);
- this.Controls.Add(this.label5);
- this.Controls.Add(this.rddlDimensionName);
- this.Controls.Add(this.rtbRemark);
- this.Controls.Add(this.radLabel1);
- this.Controls.Add(this.rtbLower);
- this.Controls.Add(this.label4);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.rbtnCancel);
- this.Controls.Add(this.rbtnOK);
- this.Controls.Add(this.rtbUpper);
- this.Controls.Add(this.rtbMesPointName);
- this.Controls.Add(this.rtbCarType);
- this.Controls.Add(this.radLabel7);
- this.Controls.Add(this.radLabel3);
- this.Controls.Add(this.radLabel4);
- this.Controls.Add(this.radLabel2);
- this.Controls.Add(this.radLabel5);
- this.Controls.Add(this.radTitleBar1);
- this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.ForeColor = System.Drawing.Color.White;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "FAddTolerance";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "添加公差带";
- this.Load += new System.EventHandler(this.SFAddCNC_Load);
- ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
- this.radTitleBar1.ResumeLayout(false);
- this.radTitleBar1.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbRemark)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
+ this.radTitleBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ this.radTitleBar1.Controls.Add(this.label2);
+ this.radTitleBar1.Controls.Add(this.labTitle);
+ this.radTitleBar1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.radTitleBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ this.radTitleBar1.Location = new System.Drawing.Point(1, 1);
+ this.radTitleBar1.Name = "radTitleBar1";
+ //
+ //
+ //
+ this.radTitleBar1.RootElement.ApplyShapeToControl = true;
+ this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ this.radTitleBar1.Size = new System.Drawing.Size(631, 40);
+ this.radTitleBar1.TabIndex = 0;
+ this.radTitleBar1.TabStop = false;
+ this.radTitleBar1.Text = "添加公差带";
+ ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "添加公差带";
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).LeftColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).TopColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).RightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).BottomShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(1))).SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
+ //
+ // label2
+ //
+ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label2.AutoSize = true;
+ this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
+ this.label2.Location = new System.Drawing.Point(246, -5);
+ this.label2.Name = "label2";
+ this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
+ this.label2.Size = new System.Drawing.Size(46, 52);
+ this.label2.TabIndex = 1;
+ //
+ // labTitle
+ //
+ this.labTitle.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.labTitle.AutoSize = true;
+ this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.labTitle.ForeColor = System.Drawing.Color.White;
+ this.labTitle.Location = new System.Drawing.Point(288, 8);
+ this.labTitle.Name = "labTitle";
+ this.labTitle.Size = new System.Drawing.Size(88, 25);
+ this.labTitle.TabIndex = 0;
+ this.labTitle.Text = "添加配置";
+ //
+ // rbtnCancel
+ //
+ this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.rbtnCancel.ForeColor = System.Drawing.Color.White;
+ this.rbtnCancel.Location = new System.Drawing.Point(524, 374);
+ this.rbtnCancel.Name = "rbtnCancel";
+ this.rbtnCancel.Size = new System.Drawing.Size(85, 30);
+ this.rbtnCancel.TabIndex = 10;
+ this.rbtnCancel.Text = "取消";
+ this.rbtnCancel.Click += new System.EventHandler(this.rbtnCancel_Click);
+ this.rbtnCancel.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
+ this.rbtnCancel.MouseHover += new System.EventHandler(this.btn_MouseHover);
+ ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnCancel.GetChildAt(0))).Text = "取消";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnCancel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ //
+ // rbtnOK
+ //
+ this.rbtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.rbtnOK.ForeColor = System.Drawing.Color.White;
+ this.rbtnOK.Location = new System.Drawing.Point(396, 374);
+ this.rbtnOK.Name = "rbtnOK";
+ this.rbtnOK.Size = new System.Drawing.Size(85, 30);
+ this.rbtnOK.TabIndex = 9;
+ this.rbtnOK.Text = "添加";
+ this.rbtnOK.Click += new System.EventHandler(this.rbtnOK_Click);
+ this.rbtnOK.MouseLeave += new System.EventHandler(this.btn_MouseLeave);
+ this.rbtnOK.MouseHover += new System.EventHandler(this.btn_MouseHover);
+ ((Telerik.WinControls.UI.RadButtonElement)(this.rbtnOK.GetChildAt(0))).Text = "添加";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ //
+ // btn_targetFile
+ //
+ this.btn_targetFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.btn_targetFile.ForeColor = System.Drawing.Color.White;
+ this.btn_targetFile.Location = new System.Drawing.Point(383, 184);
+ this.btn_targetFile.Name = "btn_targetFile";
+ this.btn_targetFile.Size = new System.Drawing.Size(50, 30);
+ this.btn_targetFile.TabIndex = 72;
+ this.btn_targetFile.Text = "浏览";
+ this.btn_targetFile.Click += new System.EventHandler(this.btn_targetFile_Click);
+ ((Telerik.WinControls.UI.RadButtonElement)(this.btn_targetFile.GetChildAt(0))).Text = "浏览";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ //
+ // btn_sourceFile
+ //
+ this.btn_sourceFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.btn_sourceFile.ForeColor = System.Drawing.Color.White;
+ this.btn_sourceFile.Location = new System.Drawing.Point(383, 144);
+ this.btn_sourceFile.Name = "btn_sourceFile";
+ this.btn_sourceFile.Size = new System.Drawing.Size(50, 30);
+ this.btn_sourceFile.TabIndex = 71;
+ this.btn_sourceFile.Text = "浏览";
+ this.btn_sourceFile.Click += new System.EventHandler(this.btn_sourceFile_Click);
+ ((Telerik.WinControls.UI.RadButtonElement)(this.btn_sourceFile.GetChildAt(0))).Text = "浏览";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label9.Location = new System.Drawing.Point(451, 183);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(106, 20);
+ this.label9.TabIndex = 70;
+ this.label9.Text = "如:K:\\X260R";
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label8.Location = new System.Drawing.Point(451, 147);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(58, 20);
+ this.label8.TabIndex = 69;
+ this.label8.Text = "如:P:\\";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label7.Location = new System.Drawing.Point(451, 109);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(76, 20);
+ this.label7.TabIndex = 68;
+ this.label7.Text = "如:X260";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label6.Location = new System.Drawing.Point(451, 67);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(166, 20);
+ this.label6.TabIndex = 67;
+ this.label6.Text = "名称例如:X260R_C11";
+ //
+ // rddl_Status
+ //
+ this.rddl_Status.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_Status.DropDownHeight = 50;
+ this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_Status.ForeColor = System.Drawing.Color.White;
+ radListDataItem1.Tag = "start";
+ radListDataItem1.Text = "启动";
+ radListDataItem2.Tag = "stop";
+ radListDataItem2.Text = "暂停";
+ this.rddl_Status.Items.Add(radListDataItem1);
+ this.rddl_Status.Items.Add(radListDataItem2);
+ this.rddl_Status.Location = new System.Drawing.Point(194, 305);
+ this.rddl_Status.Name = "rddl_Status";
+ this.rddl_Status.Size = new System.Drawing.Size(239, 23);
+ this.rddl_Status.TabIndex = 66;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // radLabel6
+ //
+ this.radLabel6.AutoSize = false;
+ this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel6.ForeColor = System.Drawing.Color.White;
+ this.radLabel6.Location = new System.Drawing.Point(40, 304);
+ this.radLabel6.Name = "radLabel6";
+ this.radLabel6.Size = new System.Drawing.Size(147, 23);
+ this.radLabel6.TabIndex = 65;
+ this.radLabel6.Text = "运行状态:";
+ this.radLabel6.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // rddl_Position
+ //
+ this.rddl_Position.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_Position.DropDownHeight = 50;
+ this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_Position.ForeColor = System.Drawing.Color.White;
+ radListDataItem3.Tag = "L";
+ radListDataItem3.Text = "左侧";
+ radListDataItem4.Tag = "R";
+ radListDataItem4.Text = "右侧";
+ this.rddl_Position.Items.Add(radListDataItem3);
+ this.rddl_Position.Items.Add(radListDataItem4);
+ this.rddl_Position.Location = new System.Drawing.Point(194, 265);
+ this.rddl_Position.Name = "rddl_Position";
+ this.rddl_Position.Size = new System.Drawing.Size(239, 23);
+ this.rddl_Position.TabIndex = 64;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // radLabel1
+ //
+ this.radLabel1.AutoSize = false;
+ this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel1.ForeColor = System.Drawing.Color.White;
+ this.radLabel1.Location = new System.Drawing.Point(40, 265);
+ this.radLabel1.Name = "radLabel1";
+ this.radLabel1.Size = new System.Drawing.Size(147, 23);
+ this.radLabel1.TabIndex = 63;
+ this.radLabel1.Text = "车型位置:";
+ this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // rddl_ReadType
+ //
+ this.rddl_ReadType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_ReadType.DropDownHeight = 50;
+ this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_ReadType.ForeColor = System.Drawing.Color.White;
+ radListDataItem5.Tag = "2";
+ radListDataItem5.Text = "文件内容";
+ this.rddl_ReadType.Items.Add(radListDataItem5);
+ this.rddl_ReadType.Location = new System.Drawing.Point(194, 221);
+ this.rddl_ReadType.Name = "rddl_ReadType";
+ this.rddl_ReadType.Size = new System.Drawing.Size(239, 23);
+ this.rddl_ReadType.TabIndex = 62;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // rtb_sourceFilePath
+ //
+ this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White;
+ this.rtb_sourceFilePath.Location = new System.Drawing.Point(194, 147);
+ this.rtb_sourceFilePath.Name = "rtb_sourceFilePath";
+ this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23);
+ this.rtb_sourceFilePath.TabIndex = 55;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // rtb_targetFilePath
+ //
+ this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White;
+ this.rtb_targetFilePath.Location = new System.Drawing.Point(194, 184);
+ this.rtb_targetFilePath.MaxLength = 15;
+ this.rtb_targetFilePath.Name = "rtb_targetFilePath";
+ this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23);
+ this.rtb_targetFilePath.TabIndex = 56;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // rtbCarType
+ //
+ this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtbCarType.ForeColor = System.Drawing.Color.White;
+ this.rtbCarType.Location = new System.Drawing.Point(194, 108);
+ this.rtbCarType.Name = "rtbCarType";
+ this.rtbCarType.Size = new System.Drawing.Size(239, 23);
+ this.rtbCarType.TabIndex = 54;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // rtbCarName
+ //
+ this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtbCarName.ForeColor = System.Drawing.Color.White;
+ this.rtbCarName.Location = new System.Drawing.Point(194, 67);
+ this.rtbCarName.Name = "rtbCarName";
+ this.rtbCarName.Size = new System.Drawing.Size(239, 23);
+ this.rtbCarName.TabIndex = 53;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // radLabel7
+ //
+ this.radLabel7.AutoSize = false;
+ this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel7.ForeColor = System.Drawing.Color.White;
+ this.radLabel7.Location = new System.Drawing.Point(35, 187);
+ this.radLabel7.Name = "radLabel7";
+ this.radLabel7.Size = new System.Drawing.Size(152, 23);
+ this.radLabel7.TabIndex = 61;
+ this.radLabel7.Text = "目标文件路径:";
+ this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel3
+ //
+ this.radLabel3.AutoSize = false;
+ this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel3.ForeColor = System.Drawing.Color.White;
+ this.radLabel3.Location = new System.Drawing.Point(40, 148);
+ this.radLabel3.Name = "radLabel3";
+ this.radLabel3.Size = new System.Drawing.Size(147, 23);
+ this.radLabel3.TabIndex = 60;
+ this.radLabel3.Text = "源文件路径:";
+ this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel4
+ //
+ this.radLabel4.AutoSize = false;
+ this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel4.ForeColor = System.Drawing.Color.White;
+ this.radLabel4.Location = new System.Drawing.Point(40, 226);
+ this.radLabel4.Name = "radLabel4";
+ this.radLabel4.Size = new System.Drawing.Size(147, 23);
+ this.radLabel4.TabIndex = 59;
+ this.radLabel4.Text = "读取方式:";
+ this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel2
+ //
+ this.radLabel2.AutoSize = false;
+ this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel2.ForeColor = System.Drawing.Color.White;
+ this.radLabel2.Location = new System.Drawing.Point(40, 109);
+ this.radLabel2.Name = "radLabel2";
+ this.radLabel2.Size = new System.Drawing.Size(147, 23);
+ this.radLabel2.TabIndex = 58;
+ this.radLabel2.Text = "车型代码:";
+ this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel5
+ //
+ this.radLabel5.AutoSize = false;
+ this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel5.ForeColor = System.Drawing.Color.White;
+ this.radLabel5.Location = new System.Drawing.Point(40, 70);
+ this.radLabel5.Name = "radLabel5";
+ this.radLabel5.Size = new System.Drawing.Size(147, 23);
+ this.radLabel5.TabIndex = 57;
+ this.radLabel5.Text = "车型名称:";
+ this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // FAddTolerance
+ //
+ this.AcceptButton = this.rbtnOK;
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
+ this.BorderWidth = 0;
+ this.ClientSize = new System.Drawing.Size(633, 426);
+ this.Controls.Add(this.btn_targetFile);
+ this.Controls.Add(this.btn_sourceFile);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label8);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.rddl_Status);
+ this.Controls.Add(this.radLabel6);
+ this.Controls.Add(this.rddl_Position);
+ this.Controls.Add(this.radLabel1);
+ this.Controls.Add(this.rddl_ReadType);
+ this.Controls.Add(this.rtb_sourceFilePath);
+ this.Controls.Add(this.rtb_targetFilePath);
+ this.Controls.Add(this.rtbCarType);
+ this.Controls.Add(this.rtbCarName);
+ this.Controls.Add(this.radLabel7);
+ this.Controls.Add(this.radLabel3);
+ this.Controls.Add(this.radLabel4);
+ this.Controls.Add(this.radLabel2);
+ this.Controls.Add(this.radLabel5);
+ this.Controls.Add(this.rbtnCancel);
+ this.Controls.Add(this.rbtnOK);
+ this.Controls.Add(this.radTitleBar1);
+ this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.ForeColor = System.Drawing.Color.White;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FAddTolerance";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "添加公差带";
+ this.Load += new System.EventHandler(this.SFAddCNC_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
+ this.radTitleBar1.ResumeLayout(false);
+ this.radTitleBar1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
}
@@ -440,23 +529,27 @@
private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label labTitle;
- private Telerik.WinControls.UI.RadLabel radLabel7;
- private Telerik.WinControls.UI.RadLabel radLabel3;
- private Telerik.WinControls.UI.RadLabel radLabel4;
- private Telerik.WinControls.UI.RadLabel radLabel2;
- private Telerik.WinControls.UI.RadLabel radLabel5;
- private Telerik.WinControls.UI.RadTextBox rtbCarType;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private Telerik.WinControls.UI.RadTextBox rtbUpper;
private Telerik.WinControls.UI.RadButton rbtnCancel;
private Telerik.WinControls.UI.RadButton rbtnOK;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label4;
- private Telerik.WinControls.UI.RadTextBox rtbLower;
- private Telerik.WinControls.UI.RadTextBox rtbRemark;
- private Telerik.WinControls.UI.RadLabel radLabel1;
- private Telerik.WinControls.UI.RadDropDownList rddlDimensionName;
- private System.Windows.Forms.Label label5;
- }
+ private Telerik.WinControls.UI.RadButton btn_targetFile;
+ private Telerik.WinControls.UI.RadButton btn_sourceFile;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label6;
+ private Telerik.WinControls.UI.RadDropDownList rddl_Status;
+ private Telerik.WinControls.UI.RadLabel radLabel6;
+ private Telerik.WinControls.UI.RadDropDownList rddl_Position;
+ private Telerik.WinControls.UI.RadLabel radLabel1;
+ private Telerik.WinControls.UI.RadDropDownList rddl_ReadType;
+ private Telerik.WinControls.UI.RadTextBox rtb_sourceFilePath;
+ private Telerik.WinControls.UI.RadTextBox rtb_targetFilePath;
+ private Telerik.WinControls.UI.RadTextBox rtbCarType;
+ private Telerik.WinControls.UI.RadTextBox rtbCarName;
+ private Telerik.WinControls.UI.RadLabel radLabel7;
+ private Telerik.WinControls.UI.RadLabel radLabel3;
+ private Telerik.WinControls.UI.RadLabel radLabel4;
+ private Telerik.WinControls.UI.RadLabel radLabel2;
+ private Telerik.WinControls.UI.RadLabel radLabel5;
+ }
}
diff --git a/Analysis/Tolerance/FEditTolerance.cs b/Analysis/Tolerance/FEditTolerance.cs
index b6092df..3f74a49 100644
--- a/Analysis/Tolerance/FEditTolerance.cs
+++ b/Analysis/Tolerance/FEditTolerance.cs
@@ -1,177 +1,131 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
+using DAL;
+using System;
using System.Drawing;
-using System.Text;
using System.Windows.Forms;
-using BaseFunction;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
using Telerik.WinControls.UI;
-using DAL;
namespace NSAnalysis
{
- public partial class FEditTolerance : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
- //private TMeasureSQLiteDAL tmdal = new TMeasureSQLiteDAL();
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- private FToleranceSetup gFTS;
+ public partial class FEditTolerance : Telerik.WinControls.UI.ShapedForm
+ {
+ #region 全局变量
- #endregion 全局变量
+ private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- #region 鼠标事件
+ private FToleranceSetup gFTS;
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
+ #endregion 全局变量
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
+ #region 鼠标事件
- #endregion 鼠标事件
+ private void btn_MouseHover(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(0, 151, 186);
+ }
- private void InitLanguage()
- {
- if (!ConfigDfn.bLanguage)
- {
- this.Text = "Edit CNC";
- labTitle.Text = "Edit CNC";
- radLabel5.Text = "CNC ID : ";
- radLabel2.Text = "CNC Name : ";
- radLabel4.Text = "CNC Location : ";
- radLabel3.Text = "CNC Type : ";
- radLabel7.Text = "CNC IP : ";
+ private void btn_MouseLeave(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(19, 46, 53);
+ }
- radLabel1.Text = "Remark : ";
+ #endregion 鼠标事件
- rbtnOK.Text = "Edit";
- rbtnCancel.Text = "Cancel";
- }
- }
+
- public FEditTolerance(FToleranceSetup fts)
- {
- InitializeComponent();
- InitLanguage();
- gFTS = fts;
- }
+ public FEditTolerance(FToleranceSetup fts)
+ {
+ InitializeComponent();
+
+ gFTS = fts;
+ }
- private void SFAddCNC_Load(object sender, EventArgs e)
- {
- rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString();
- rtbMesPointName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString();
- rddlDimensionName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString();
- rtbLower.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolLower"].Value.ToString();
- rtbUpper.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["TolUpper"].Value.ToString();
+ private void FEditTolerance_Load(object sender, EventArgs e)
+ {
- }
+ rtbCarName.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsName"].Value.ToString();
+ rtbCarType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["modelsCode"].Value.ToString();
+ rtb_sourceFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["sourceFile"].Value.ToString();
+ rtb_targetFilePath.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["targetFile"].Value.ToString();
- private void rbtnOK_Click(object sender, EventArgs e)
- {
- #region 防愚操作
+ rddl_ReadType.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["readType"].Value.ToString();
+ rddl_Position.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["position"].Value.ToString();
+ rddl_Status.Text = gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["status"].Value.ToString();
+ }
- string strCarType = rtbCarType.Text.Trim();
- string strMesPointName = rtbMesPointName.Text.Trim();
+ private void rbtnOK_Click(object sender, EventArgs e)
+ {
+ #region 防愚操作
- string strDimensionName = rddlDimensionName.Text.Trim();
- if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
- {
- MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
+ string strCarType = rtbCarType.Text.Trim();
+ //string strMesPointName = rtbMesPointName.Text.Trim();
- if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim()))
- {
- MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (!string.IsNullOrEmpty(rtbLower.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbLower.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("下限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (!string.IsNullOrEmpty(rtbUpper.Text.Trim()))
- {
- try
- {
- double dtemp = double.Parse(rtbUpper.Text.Trim());
- }
- catch (Exception)
- {
- MessageBox.Show("上限值必须是数字,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- }
- if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString() || rddlDimensionName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString())
- {
- if (tmdal.CheckMeaPointNameExit(strCarType, strMesPointName, strDimensionName))
- {
- MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ //string strDimensionName = rddlDimensionName.Text.Trim();
+ //if (string.IsNullOrEmpty(rtbCarType.Text.Trim()))
+ //{
+ // MessageBox.Show("车身类型不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ //}
- return;
- }
- }
+ //if (string.IsNullOrEmpty(rtbMesPointName.Text.Trim()))
+ //{
+ // MessageBox.Show("测量点位名称不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ //}
+ //if (string.IsNullOrEmpty(rtbLower.Text.Trim()))
+ //{
+ // MessageBox.Show("下限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ //}
+ //if (string.IsNullOrEmpty(rtbUpper.Text.Trim()))
+ //{
+ // MessageBox.Show("上限值不能为空,请重新输入! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ //}
+
+ //if (rtbCarType.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["CarType"].Value.ToString() || rtbMesPointName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["MeasurePointName"].Value.ToString() || rddlDimensionName.Text != gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["DimensionName"].Value.ToString())
+ //{
+ // if (tmdal.CheckTaskExit(strCarType, strMesPointName, strDimensionName))
+ // {
+ // MessageBox.Show("该车身类型下,已经存在该测量点位名称和尺寸名称,请修改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- #endregion 防愚操作
+ // return;
+ // }
+ //}
- try
- {
- TToleranceModel ttm = new TToleranceModel();
- ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString());
- ttm.CarType = strCarType;
- ttm.MeasurePointName = strMesPointName;
- ttm.DimensionName = strDimensionName;
- ttm.TolLower = double.Parse(rtbLower.Text.Trim());
- ttm.TolUpper = double.Parse(rtbUpper.Text.Trim());
- //ttm.Remark = rtbRemark.Text.Trim();
- ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- tmdal.UpdateTTolerance(ttm);
- }
- catch (Exception ex)
- {
- MessageBox.Show("修改公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ #endregion 防愚操作
- return;
- }
+ //try
+ //{
+ // TToleranceModel ttm = new TToleranceModel();
+ // ttm.Id = int.Parse(gFTS.dgvTolList.Rows[gFTS.idgvSelectRowNumber].Cells["Id"].Value.ToString());
+ // ttm.CarType = strCarType;
+ // ttm.MeasurePointName = strMesPointName;
+ // ttm.DimensionName = strDimensionName;
+ // ttm.TolLower = double.Parse(rtbLower.Text.Trim());
+ // ttm.TolUpper = double.Parse(rtbUpper.Text.Trim());
+ // //ttm.Remark = rtbRemark.Text.Trim();
+ // ttm.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ // tmdal.UpdateTTolerance(ttm);
+ //}
+ //catch (Exception ex)
+ //{
+ // MessageBox.Show("修改公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- MessageBox.Show("修改公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ //}
- gFTS.rtbnSearch_Click(null, null);
+ //MessageBox.Show("修改公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- this.Close();
- }
+ //gFTS.rtbnSearch_Click(null, null);
- private void rbtnCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
+ //this.Close();
+ }
+
+ private void rbtnCancel_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+ }
}
\ No newline at end of file
diff --git a/Analysis/Tolerance/FEditTolerance.designer.cs b/Analysis/Tolerance/FEditTolerance.designer.cs
index 73cb85d..a28c4d4 100644
--- a/Analysis/Tolerance/FEditTolerance.designer.cs
+++ b/Analysis/Tolerance/FEditTolerance.designer.cs
@@ -34,52 +34,51 @@
Telerik.WinControls.UI.RadListDataItem radListDataItem3 = new Telerik.WinControls.UI.RadListDataItem();
Telerik.WinControls.UI.RadListDataItem radListDataItem4 = new Telerik.WinControls.UI.RadListDataItem();
Telerik.WinControls.UI.RadListDataItem radListDataItem5 = new Telerik.WinControls.UI.RadListDataItem();
- Telerik.WinControls.UI.RadListDataItem radListDataItem6 = new Telerik.WinControls.UI.RadListDataItem();
this.radTitleBar1 = new Telerik.WinControls.UI.RadTitleBar();
this.label2 = new System.Windows.Forms.Label();
this.labTitle = new System.Windows.Forms.Label();
+ this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
+ this.rbtnOK = new Telerik.WinControls.UI.RadButton();
+ this.btn_targetFile = new Telerik.WinControls.UI.RadButton();
+ this.btn_sourceFile = new Telerik.WinControls.UI.RadButton();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.rddl_Status = new Telerik.WinControls.UI.RadDropDownList();
+ this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
+ this.rddl_Position = new Telerik.WinControls.UI.RadDropDownList();
+ this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
+ this.rddl_ReadType = new Telerik.WinControls.UI.RadDropDownList();
+ this.rtb_sourceFilePath = new Telerik.WinControls.UI.RadTextBox();
+ this.rtb_targetFilePath = new Telerik.WinControls.UI.RadTextBox();
+ this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
+ this.rtbCarName = new Telerik.WinControls.UI.RadTextBox();
this.radLabel7 = new Telerik.WinControls.UI.RadLabel();
this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
this.radLabel5 = new Telerik.WinControls.UI.RadLabel();
- this.rtbCarType = new Telerik.WinControls.UI.RadTextBox();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.rtbUpper = new Telerik.WinControls.UI.RadTextBox();
- this.rbtnCancel = new Telerik.WinControls.UI.RadButton();
- this.rbtnOK = new Telerik.WinControls.UI.RadButton();
- this.rtbLower = new Telerik.WinControls.UI.RadTextBox();
- this.rddlDimensionName = new Telerik.WinControls.UI.RadDropDownList();
- this.radDropDownList1 = new Telerik.WinControls.UI.RadDropDownList();
- this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
- this.radDropDownList2 = new Telerik.WinControls.UI.RadDropDownList();
- this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
- this.label6 = new System.Windows.Forms.Label();
- this.label7 = new System.Windows.Forms.Label();
- this.label8 = new System.Windows.Forms.Label();
- this.label9 = new System.Windows.Forms.Label();
- this.radButton1 = new Telerik.WinControls.UI.RadButton();
- this.radButton2 = new Telerik.WinControls.UI.RadButton();
((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).BeginInit();
this.radTitleBar1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel5)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radDropDownList1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radDropDownList2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radButton1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.radButton2)).BeginInit();
this.SuspendLayout();
//
// radTitleBar1
@@ -98,7 +97,7 @@
//
this.radTitleBar1.RootElement.ApplyShapeToControl = true;
this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(552, 40);
+ this.radTitleBar1.Size = new System.Drawing.Size(631, 40);
this.radTitleBar1.TabIndex = 0;
this.radTitleBar1.TabStop = false;
this.radTitleBar1.Text = "修改公差带";
@@ -123,7 +122,7 @@
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label2.AutoSize = true;
this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(205, -5);
+ this.label2.Location = new System.Drawing.Point(244, -5);
this.label2.Name = "label2";
this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
this.label2.Size = new System.Drawing.Size(46, 52);
@@ -135,119 +134,19 @@
this.labTitle.AutoSize = true;
this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(247, 8);
+ this.labTitle.Location = new System.Drawing.Point(286, 8);
this.labTitle.Name = "labTitle";
this.labTitle.Size = new System.Drawing.Size(88, 25);
this.labTitle.TabIndex = 0;
this.labTitle.Text = "修改配置";
//
- // radLabel7
- //
- this.radLabel7.AutoSize = false;
- this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel7.ForeColor = System.Drawing.Color.White;
- this.radLabel7.Location = new System.Drawing.Point(4, 178);
- this.radLabel7.Name = "radLabel7";
- this.radLabel7.Size = new System.Drawing.Size(152, 23);
- this.radLabel7.TabIndex = 29;
- this.radLabel7.Text = "目标文件路径:";
- this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel3
- //
- this.radLabel3.AutoSize = false;
- this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel3.ForeColor = System.Drawing.Color.White;
- this.radLabel3.Location = new System.Drawing.Point(9, 139);
- this.radLabel3.Name = "radLabel3";
- this.radLabel3.Size = new System.Drawing.Size(147, 23);
- this.radLabel3.TabIndex = 28;
- this.radLabel3.Text = "源文件路径:";
- this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel4
- //
- this.radLabel4.AutoSize = false;
- this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel4.ForeColor = System.Drawing.Color.White;
- this.radLabel4.Location = new System.Drawing.Point(9, 217);
- this.radLabel4.Name = "radLabel4";
- this.radLabel4.Size = new System.Drawing.Size(147, 23);
- this.radLabel4.TabIndex = 27;
- this.radLabel4.Text = "读取方式:";
- this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel2
- //
- this.radLabel2.AutoSize = false;
- this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel2.ForeColor = System.Drawing.Color.White;
- this.radLabel2.Location = new System.Drawing.Point(9, 100);
- this.radLabel2.Name = "radLabel2";
- this.radLabel2.Size = new System.Drawing.Size(147, 23);
- this.radLabel2.TabIndex = 26;
- this.radLabel2.Text = "车型代码:";
- this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // radLabel5
- //
- this.radLabel5.AutoSize = false;
- this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel5.ForeColor = System.Drawing.Color.White;
- this.radLabel5.Location = new System.Drawing.Point(9, 61);
- this.radLabel5.Name = "radLabel5";
- this.radLabel5.Size = new System.Drawing.Size(147, 23);
- this.radLabel5.TabIndex = 25;
- this.radLabel5.Text = "车型名称:";
- this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
- //
- // rtbCarType
- //
- this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbCarType.ForeColor = System.Drawing.Color.White;
- this.rtbCarType.Location = new System.Drawing.Point(162, 55);
- this.rtbCarType.Name = "rtbCarType";
- this.rtbCarType.Size = new System.Drawing.Size(173, 23);
- this.rtbCarType.TabIndex = 1;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbMesPointName
- //
- this.rtbMesPointName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(162, 96);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(173, 23);
- this.rtbMesPointName.TabIndex = 2;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
- // rtbUpper
- //
- this.rtbUpper.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbUpper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbUpper.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbUpper.ForeColor = System.Drawing.Color.White;
- this.rtbUpper.Location = new System.Drawing.Point(162, 172);
- this.rtbUpper.MaxLength = 15;
- this.rtbUpper.Name = "rtbUpper";
- this.rtbUpper.Size = new System.Drawing.Size(173, 23);
- this.rtbUpper.TabIndex = 5;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbUpper.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbUpper.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- //
// rbtnCancel
//
this.rbtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.rbtnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
this.rbtnCancel.Font = new System.Drawing.Font("微软雅黑", 11F);
this.rbtnCancel.ForeColor = System.Drawing.Color.White;
- this.rbtnCancel.Location = new System.Drawing.Point(422, 373);
+ this.rbtnCancel.Location = new System.Drawing.Point(501, 373);
this.rbtnCancel.Name = "rbtnCancel";
this.rbtnCancel.Size = new System.Drawing.Size(85, 30);
this.rbtnCancel.TabIndex = 10;
@@ -265,7 +164,7 @@
this.rbtnOK.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
this.rbtnOK.Font = new System.Drawing.Font("微软雅黑", 11F);
this.rbtnOK.ForeColor = System.Drawing.Color.White;
- this.rbtnOK.Location = new System.Drawing.Point(294, 373);
+ this.rbtnOK.Location = new System.Drawing.Point(373, 373);
this.rbtnOK.Name = "rbtnOK";
this.rbtnOK.Size = new System.Drawing.Size(85, 30);
this.rbtnOK.TabIndex = 9;
@@ -280,184 +179,281 @@
((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).InnerColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(48)))));
((Telerik.WinControls.Primitives.BorderPrimitive)(this.rbtnOK.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
//
- // rtbLower
+ // btn_targetFile
//
- this.rtbLower.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rtbLower.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbLower.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rtbLower.ForeColor = System.Drawing.Color.White;
- this.rtbLower.Location = new System.Drawing.Point(162, 135);
- this.rtbLower.Name = "rtbLower";
- this.rtbLower.Size = new System.Drawing.Size(173, 23);
- this.rtbLower.TabIndex = 4;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbLower.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbLower.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.btn_targetFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_targetFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.btn_targetFile.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.btn_targetFile.ForeColor = System.Drawing.Color.White;
+ this.btn_targetFile.Location = new System.Drawing.Point(376, 193);
+ this.btn_targetFile.Name = "btn_targetFile";
+ this.btn_targetFile.Size = new System.Drawing.Size(50, 30);
+ this.btn_targetFile.TabIndex = 92;
+ this.btn_targetFile.Text = "浏览";
+ ((Telerik.WinControls.UI.RadButtonElement)(this.btn_targetFile.GetChildAt(0))).Text = "浏览";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_targetFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
//
- // rddlDimensionName
+ // btn_sourceFile
//
- this.rddlDimensionName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.rddlDimensionName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rddlDimensionName.DropDownHeight = 50;
- this.rddlDimensionName.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- this.rddlDimensionName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.rddlDimensionName.ForeColor = System.Drawing.Color.White;
- radListDataItem1.Tag = "1";
- radListDataItem1.Text = "文件名称";
- radListDataItem2.Tag = "2";
- radListDataItem2.Text = "文件内容";
- this.rddlDimensionName.Items.Add(radListDataItem1);
- this.rddlDimensionName.Items.Add(radListDataItem2);
- this.rddlDimensionName.Location = new System.Drawing.Point(162, 209);
- this.rddlDimensionName.Name = "rddlDimensionName";
- this.rddlDimensionName.Size = new System.Drawing.Size(173, 23);
- this.rddlDimensionName.TabIndex = 41;
- ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddlDimensionName.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddlDimensionName.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.btn_sourceFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_sourceFile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
+ this.btn_sourceFile.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.btn_sourceFile.ForeColor = System.Drawing.Color.White;
+ this.btn_sourceFile.Location = new System.Drawing.Point(376, 153);
+ this.btn_sourceFile.Name = "btn_sourceFile";
+ this.btn_sourceFile.Size = new System.Drawing.Size(50, 30);
+ this.btn_sourceFile.TabIndex = 91;
+ this.btn_sourceFile.Text = "浏览";
+ ((Telerik.WinControls.UI.RadButtonElement)(this.btn_sourceFile.GetChildAt(0))).Text = "浏览";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.btn_sourceFile.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
//
- // radDropDownList1
+ // label9
//
- this.radDropDownList1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.radDropDownList1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.radDropDownList1.DropDownHeight = 50;
- this.radDropDownList1.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- this.radDropDownList1.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.radDropDownList1.ForeColor = System.Drawing.Color.White;
- radListDataItem3.Tag = "L";
- radListDataItem3.Text = "左侧";
- radListDataItem4.Tag = "R";
- radListDataItem4.Text = "右侧";
- this.radDropDownList1.Items.Add(radListDataItem3);
- this.radDropDownList1.Items.Add(radListDataItem4);
- this.radDropDownList1.Location = new System.Drawing.Point(162, 253);
- this.radDropDownList1.Name = "radDropDownList1";
- this.radDropDownList1.Size = new System.Drawing.Size(173, 23);
- this.radDropDownList1.TabIndex = 44;
- ((Telerik.WinControls.UI.RadDropDownListElement)(this.radDropDownList1.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList1.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label9.Location = new System.Drawing.Point(444, 192);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(106, 20);
+ this.label9.TabIndex = 90;
+ this.label9.Text = "如:K:\\X260R";
//
- // radLabel1
+ // label8
//
- this.radLabel1.AutoSize = false;
- this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radLabel1.ForeColor = System.Drawing.Color.White;
- this.radLabel1.Location = new System.Drawing.Point(9, 256);
- this.radLabel1.Name = "radLabel1";
- this.radLabel1.Size = new System.Drawing.Size(147, 23);
- this.radLabel1.TabIndex = 43;
- this.radLabel1.Text = "车型位置:";
- this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label8.Location = new System.Drawing.Point(444, 156);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(58, 20);
+ this.label8.TabIndex = 89;
+ this.label8.Text = "如:P:\\";
//
- // radDropDownList2
+ // label7
//
- this.radDropDownList2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.radDropDownList2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.radDropDownList2.DropDownHeight = 50;
- this.radDropDownList2.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- this.radDropDownList2.Font = new System.Drawing.Font("微软雅黑", 9.75F);
- this.radDropDownList2.ForeColor = System.Drawing.Color.White;
- radListDataItem5.Tag = "start";
- radListDataItem5.Text = "启动";
- radListDataItem6.Tag = "stop";
- radListDataItem6.Text = "暂停";
- this.radDropDownList2.Items.Add(radListDataItem5);
- this.radDropDownList2.Items.Add(radListDataItem6);
- this.radDropDownList2.Location = new System.Drawing.Point(162, 293);
- this.radDropDownList2.Name = "radDropDownList2";
- this.radDropDownList2.Size = new System.Drawing.Size(173, 23);
- this.radDropDownList2.TabIndex = 46;
- ((Telerik.WinControls.UI.RadDropDownListElement)(this.radDropDownList2.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- ((Telerik.WinControls.Primitives.FillPrimitive)(this.radDropDownList2.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label7.Location = new System.Drawing.Point(444, 118);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(76, 20);
+ this.label7.TabIndex = 88;
+ this.label7.Text = "如:X260";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.label6.Location = new System.Drawing.Point(444, 76);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(166, 20);
+ this.label6.TabIndex = 87;
+ this.label6.Text = "名称例如:X260R_C11";
+ //
+ // rddl_Status
+ //
+ this.rddl_Status.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_Status.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_Status.DropDownHeight = 50;
+ this.rddl_Status.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_Status.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_Status.ForeColor = System.Drawing.Color.White;
+ radListDataItem1.Tag = "start";
+ radListDataItem1.Text = "启动";
+ radListDataItem2.Tag = "stop";
+ radListDataItem2.Text = "暂停";
+ this.rddl_Status.Items.Add(radListDataItem1);
+ this.rddl_Status.Items.Add(radListDataItem2);
+ this.rddl_Status.Location = new System.Drawing.Point(187, 314);
+ this.rddl_Status.Name = "rddl_Status";
+ this.rddl_Status.Size = new System.Drawing.Size(239, 23);
+ this.rddl_Status.TabIndex = 86;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Status.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Status.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
// radLabel6
//
this.radLabel6.AutoSize = false;
this.radLabel6.Font = new System.Drawing.Font("微软雅黑", 11F);
this.radLabel6.ForeColor = System.Drawing.Color.White;
- this.radLabel6.Location = new System.Drawing.Point(9, 295);
+ this.radLabel6.Location = new System.Drawing.Point(33, 313);
this.radLabel6.Name = "radLabel6";
this.radLabel6.Size = new System.Drawing.Size(147, 23);
- this.radLabel6.TabIndex = 45;
+ this.radLabel6.TabIndex = 85;
this.radLabel6.Text = "运行状态:";
this.radLabel6.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
//
- // label6
+ // rddl_Position
//
- this.label6.AutoSize = true;
- this.label6.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.label6.Location = new System.Drawing.Point(356, 56);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(166, 20);
- this.label6.TabIndex = 47;
- this.label6.Text = "名称例如:X260R_C11";
+ this.rddl_Position.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_Position.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_Position.DropDownHeight = 50;
+ this.rddl_Position.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_Position.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_Position.ForeColor = System.Drawing.Color.White;
+ radListDataItem3.Tag = "L";
+ radListDataItem3.Text = "左侧";
+ radListDataItem4.Tag = "R";
+ radListDataItem4.Text = "右侧";
+ this.rddl_Position.Items.Add(radListDataItem3);
+ this.rddl_Position.Items.Add(radListDataItem4);
+ this.rddl_Position.Location = new System.Drawing.Point(187, 274);
+ this.rddl_Position.Name = "rddl_Position";
+ this.rddl_Position.Size = new System.Drawing.Size(239, 23);
+ this.rddl_Position.TabIndex = 84;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_Position.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_Position.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
- // label7
+ // radLabel1
//
- this.label7.AutoSize = true;
- this.label7.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.label7.Location = new System.Drawing.Point(356, 98);
- this.label7.Name = "label7";
- this.label7.Size = new System.Drawing.Size(76, 20);
- this.label7.TabIndex = 48;
- this.label7.Text = "如:X260";
+ this.radLabel1.AutoSize = false;
+ this.radLabel1.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel1.ForeColor = System.Drawing.Color.White;
+ this.radLabel1.Location = new System.Drawing.Point(33, 274);
+ this.radLabel1.Name = "radLabel1";
+ this.radLabel1.Size = new System.Drawing.Size(147, 23);
+ this.radLabel1.TabIndex = 83;
+ this.radLabel1.Text = "车型位置:";
+ this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
//
- // label8
+ // rddl_ReadType
//
- this.label8.AutoSize = true;
- this.label8.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.label8.Location = new System.Drawing.Point(356, 137);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(58, 20);
- this.label8.TabIndex = 49;
- this.label8.Text = "如:P:\\";
+ this.rddl_ReadType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rddl_ReadType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rddl_ReadType.DropDownHeight = 50;
+ this.rddl_ReadType.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ this.rddl_ReadType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rddl_ReadType.ForeColor = System.Drawing.Color.White;
+ radListDataItem5.Tag = "2";
+ radListDataItem5.Text = "文件内容";
+ this.rddl_ReadType.Items.Add(radListDataItem5);
+ this.rddl_ReadType.Location = new System.Drawing.Point(187, 230);
+ this.rddl_ReadType.Name = "rddl_ReadType";
+ this.rddl_ReadType.Size = new System.Drawing.Size(239, 23);
+ this.rddl_ReadType.TabIndex = 82;
+ ((Telerik.WinControls.UI.RadDropDownListElement)(this.rddl_ReadType.GetChildAt(0))).DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(0))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ ((Telerik.WinControls.Primitives.FillPrimitive)(this.rddl_ReadType.GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(0))).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
- // label9
+ // rtb_sourceFilePath
//
- this.label9.AutoSize = true;
- this.label9.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.label9.Location = new System.Drawing.Point(356, 173);
- this.label9.Name = "label9";
- this.label9.Size = new System.Drawing.Size(106, 20);
- this.label9.TabIndex = 50;
- this.label9.Text = "如:K:\\X260R";
+ this.rtb_sourceFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtb_sourceFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtb_sourceFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtb_sourceFilePath.ForeColor = System.Drawing.Color.White;
+ this.rtb_sourceFilePath.Location = new System.Drawing.Point(187, 156);
+ this.rtb_sourceFilePath.Name = "rtb_sourceFilePath";
+ this.rtb_sourceFilePath.Size = new System.Drawing.Size(173, 23);
+ this.rtb_sourceFilePath.TabIndex = 75;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_sourceFilePath.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_sourceFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
- // radButton1
+ // rtb_targetFilePath
//
- this.radButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.radButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.radButton1.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radButton1.ForeColor = System.Drawing.Color.White;
- this.radButton1.Location = new System.Drawing.Point(353, 208);
- this.radButton1.Name = "radButton1";
- this.radButton1.Size = new System.Drawing.Size(50, 30);
- this.radButton1.TabIndex = 51;
- this.radButton1.Text = "浏览";
- ((Telerik.WinControls.UI.RadButtonElement)(this.radButton1.GetChildAt(0))).Text = "浏览";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton1.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ this.rtb_targetFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtb_targetFilePath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtb_targetFilePath.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtb_targetFilePath.ForeColor = System.Drawing.Color.White;
+ this.rtb_targetFilePath.Location = new System.Drawing.Point(187, 193);
+ this.rtb_targetFilePath.MaxLength = 15;
+ this.rtb_targetFilePath.Name = "rtb_targetFilePath";
+ this.rtb_targetFilePath.Size = new System.Drawing.Size(173, 23);
+ this.rtb_targetFilePath.TabIndex = 76;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtb_targetFilePath.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtb_targetFilePath.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
- // radButton2
+ // rtbCarType
//
- this.radButton2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.radButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
- this.radButton2.Font = new System.Drawing.Font("微软雅黑", 11F);
- this.radButton2.ForeColor = System.Drawing.Color.White;
- this.radButton2.Location = new System.Drawing.Point(353, 248);
- this.radButton2.Name = "radButton2";
- this.radButton2.Size = new System.Drawing.Size(50, 30);
- this.radButton2.TabIndex = 52;
- this.radButton2.Text = "浏览";
- ((Telerik.WinControls.UI.RadButtonElement)(this.radButton2.GetChildAt(0))).Text = "浏览";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton2.GetChildAt(0).GetChildAt(2))).InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radButton2.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(186)))));
+ this.rtbCarType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtbCarType.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarType.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtbCarType.ForeColor = System.Drawing.Color.White;
+ this.rtbCarType.Location = new System.Drawing.Point(187, 117);
+ this.rtbCarType.Name = "rtbCarType";
+ this.rtbCarType.Size = new System.Drawing.Size(239, 23);
+ this.rtbCarType.TabIndex = 74;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarType.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarType.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // rtbCarName
+ //
+ this.rtbCarName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarName.Font = new System.Drawing.Font("微软雅黑", 9.75F);
+ this.rtbCarName.ForeColor = System.Drawing.Color.White;
+ this.rtbCarName.Location = new System.Drawing.Point(187, 76);
+ this.rtbCarName.Name = "rtbCarName";
+ this.rtbCarName.Size = new System.Drawing.Size(239, 23);
+ this.rtbCarName.TabIndex = 73;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ //
+ // radLabel7
+ //
+ this.radLabel7.AutoSize = false;
+ this.radLabel7.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel7.ForeColor = System.Drawing.Color.White;
+ this.radLabel7.Location = new System.Drawing.Point(28, 196);
+ this.radLabel7.Name = "radLabel7";
+ this.radLabel7.Size = new System.Drawing.Size(152, 23);
+ this.radLabel7.TabIndex = 81;
+ this.radLabel7.Text = "目标文件路径:";
+ this.radLabel7.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel3
+ //
+ this.radLabel3.AutoSize = false;
+ this.radLabel3.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel3.ForeColor = System.Drawing.Color.White;
+ this.radLabel3.Location = new System.Drawing.Point(33, 157);
+ this.radLabel3.Name = "radLabel3";
+ this.radLabel3.Size = new System.Drawing.Size(147, 23);
+ this.radLabel3.TabIndex = 80;
+ this.radLabel3.Text = "源文件路径:";
+ this.radLabel3.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel4
+ //
+ this.radLabel4.AutoSize = false;
+ this.radLabel4.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel4.ForeColor = System.Drawing.Color.White;
+ this.radLabel4.Location = new System.Drawing.Point(33, 235);
+ this.radLabel4.Name = "radLabel4";
+ this.radLabel4.Size = new System.Drawing.Size(147, 23);
+ this.radLabel4.TabIndex = 79;
+ this.radLabel4.Text = "读取方式:";
+ this.radLabel4.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel2
+ //
+ this.radLabel2.AutoSize = false;
+ this.radLabel2.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel2.ForeColor = System.Drawing.Color.White;
+ this.radLabel2.Location = new System.Drawing.Point(33, 118);
+ this.radLabel2.Name = "radLabel2";
+ this.radLabel2.Size = new System.Drawing.Size(147, 23);
+ this.radLabel2.TabIndex = 78;
+ this.radLabel2.Text = "车型代码:";
+ this.radLabel2.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // radLabel5
+ //
+ this.radLabel5.AutoSize = false;
+ this.radLabel5.Font = new System.Drawing.Font("微软雅黑", 11F);
+ this.radLabel5.ForeColor = System.Drawing.Color.White;
+ this.radLabel5.Location = new System.Drawing.Point(33, 79);
+ this.radLabel5.Name = "radLabel5";
+ this.radLabel5.Size = new System.Drawing.Size(147, 23);
+ this.radLabel5.TabIndex = 77;
+ this.radLabel5.Text = "车型名称:";
+ this.radLabel5.TextAlignment = System.Drawing.ContentAlignment.MiddleRight;
//
// FEditTolerance
//
@@ -467,29 +463,29 @@
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(554, 426);
- this.Controls.Add(this.radButton2);
- this.Controls.Add(this.radButton1);
+ this.ClientSize = new System.Drawing.Size(633, 426);
+ this.Controls.Add(this.btn_targetFile);
+ this.Controls.Add(this.btn_sourceFile);
this.Controls.Add(this.label9);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
this.Controls.Add(this.label6);
- this.Controls.Add(this.radDropDownList2);
+ this.Controls.Add(this.rddl_Status);
this.Controls.Add(this.radLabel6);
- this.Controls.Add(this.radDropDownList1);
+ this.Controls.Add(this.rddl_Position);
this.Controls.Add(this.radLabel1);
- this.Controls.Add(this.rddlDimensionName);
- this.Controls.Add(this.rtbLower);
- this.Controls.Add(this.rbtnCancel);
- this.Controls.Add(this.rbtnOK);
- this.Controls.Add(this.rtbUpper);
- this.Controls.Add(this.rtbMesPointName);
+ this.Controls.Add(this.rddl_ReadType);
+ this.Controls.Add(this.rtb_sourceFilePath);
+ this.Controls.Add(this.rtb_targetFilePath);
this.Controls.Add(this.rtbCarType);
+ this.Controls.Add(this.rtbCarName);
this.Controls.Add(this.radLabel7);
this.Controls.Add(this.radLabel3);
this.Controls.Add(this.radLabel4);
this.Controls.Add(this.radLabel2);
this.Controls.Add(this.radLabel5);
+ this.Controls.Add(this.rbtnCancel);
+ this.Controls.Add(this.rbtnOK);
this.Controls.Add(this.radTitleBar1);
this.Font = new System.Drawing.Font("宋体", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ForeColor = System.Drawing.Color.White;
@@ -499,28 +495,28 @@
this.Name = "FEditTolerance";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "修改公差带";
- this.Load += new System.EventHandler(this.SFAddCNC_Load);
+ this.Load += new System.EventHandler(this.FEditTolerance_Load);
((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
this.radTitleBar1.ResumeLayout(false);
this.radTitleBar1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_targetFile)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.btn_sourceFile)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Status)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_Position)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rddl_ReadType)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_sourceFilePath)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtb_targetFilePath)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel5)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbCarType)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbUpper)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnCancel)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rbtnOK)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbLower)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rddlDimensionName)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radDropDownList1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radDropDownList2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radButton1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.radButton2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -531,27 +527,27 @@
private Telerik.WinControls.UI.RadTitleBar radTitleBar1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label labTitle;
- private Telerik.WinControls.UI.RadLabel radLabel7;
- private Telerik.WinControls.UI.RadLabel radLabel3;
- private Telerik.WinControls.UI.RadLabel radLabel4;
- private Telerik.WinControls.UI.RadLabel radLabel2;
- private Telerik.WinControls.UI.RadLabel radLabel5;
- private Telerik.WinControls.UI.RadTextBox rtbCarType;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private Telerik.WinControls.UI.RadTextBox rtbUpper;
private Telerik.WinControls.UI.RadButton rbtnCancel;
private Telerik.WinControls.UI.RadButton rbtnOK;
- private Telerik.WinControls.UI.RadTextBox rtbLower;
- private Telerik.WinControls.UI.RadDropDownList rddlDimensionName;
- private Telerik.WinControls.UI.RadDropDownList radDropDownList1;
- private Telerik.WinControls.UI.RadLabel radLabel1;
- private Telerik.WinControls.UI.RadDropDownList radDropDownList2;
- private Telerik.WinControls.UI.RadLabel radLabel6;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.Label label8;
+ private Telerik.WinControls.UI.RadButton btn_targetFile;
+ private Telerik.WinControls.UI.RadButton btn_sourceFile;
private System.Windows.Forms.Label label9;
- private Telerik.WinControls.UI.RadButton radButton1;
- private Telerik.WinControls.UI.RadButton radButton2;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label6;
+ private Telerik.WinControls.UI.RadDropDownList rddl_Status;
+ private Telerik.WinControls.UI.RadLabel radLabel6;
+ private Telerik.WinControls.UI.RadDropDownList rddl_Position;
+ private Telerik.WinControls.UI.RadLabel radLabel1;
+ private Telerik.WinControls.UI.RadDropDownList rddl_ReadType;
+ private Telerik.WinControls.UI.RadTextBox rtb_sourceFilePath;
+ private Telerik.WinControls.UI.RadTextBox rtb_targetFilePath;
+ private Telerik.WinControls.UI.RadTextBox rtbCarType;
+ private Telerik.WinControls.UI.RadTextBox rtbCarName;
+ private Telerik.WinControls.UI.RadLabel radLabel7;
+ private Telerik.WinControls.UI.RadLabel radLabel3;
+ private Telerik.WinControls.UI.RadLabel radLabel4;
+ private Telerik.WinControls.UI.RadLabel radLabel2;
+ private Telerik.WinControls.UI.RadLabel radLabel5;
}
}
diff --git a/Analysis/Tolerance/FToleranceSetup.cs b/Analysis/Tolerance/FToleranceSetup.cs
index c786114..ad94b8d 100644
--- a/Analysis/Tolerance/FToleranceSetup.cs
+++ b/Analysis/Tolerance/FToleranceSetup.cs
@@ -1,144 +1,199 @@
-using System;
+using DAL;
+using System;
using System.Collections.Generic;
-using System.ComponentModel;
using System.Data;
using System.Drawing;
-using System.Text;
+using System.Linq;
using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
using Telerik.WinControls.UI;
-using DAL;
namespace NSAnalysis
{
- public partial class FToleranceSetup : Telerik.WinControls.UI.ShapedForm
- {
- private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
- public int idgvSelectRowNumber = 0;
+ public partial class FToleranceSetup : Telerik.WinControls.UI.ShapedForm
+ {
+ private TMeasureMSSQLDAL tmdal = new TMeasureMSSQLDAL();
+ public int idgvSelectRowNumber = 0;
- #region 鼠标事件
+ #region 鼠标事件
- private void btn_MouseHover(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(0, 151, 186);
- }
+ private void btn_MouseHover(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(0, 151, 186);
+ }
- private void btn_MouseLeave(object sender, EventArgs e)
- {
- RadButton btn = sender as RadButton;
- btn.BackColor = Color.FromArgb(19, 46, 53);
- }
+ private void btn_MouseLeave(object sender, EventArgs e)
+ {
+ RadButton btn = sender as RadButton;
+ btn.BackColor = Color.FromArgb(19, 46, 53);
+ }
- #endregion 鼠标事件
+ #endregion 鼠标事件
- public FToleranceSetup()
- {
- InitializeComponent();
- }
+ public FToleranceSetup()
+ {
+ InitializeComponent();
+ InitStatusComboBox();
+ SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
+ }
- private void FToleranceSetup_Load(object sender, EventArgs e)
- {
- dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular);
- lpcAddTol.labPicture.Click += lpcAddTol_Click;
- lpcAddTol.labText.Click += lpcAddTol_Click;
- rtbnSearch_Click(null, null);
- }
+ private void FToleranceSetup_Load(object sender, EventArgs e)
+ {
+ dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 10, FontStyle.Regular);
+ lpcAddTol.labPicture.Click += lpcAddTol_Click;
+ lpcAddTol.labText.Click += lpcAddTol_Click;
+ rtbnSearch_Click(null, null);
+ }
- public void rtbnSearch_Click(object sender, EventArgs e)
- {
- //DataTable dt = tmdal.SelectAllToleranceByCondition(rtbCarModel.Text.Trim(), rtbMesPointName.Text.Trim(), rtbDimensionName.Text.Trim());
+ // 初始化ComboBox数据源
+ private void InitStatusComboBox()
+ {
+ var statusList = new List>();
+ statusList.Add(new KeyValuePair("全部", "all"));
+ statusList.Add(new KeyValuePair("启动", "start"));
+ statusList.Add(new KeyValuePair("停止", "stop"));
- //if (dt.Rows.Count > 0)
- //{
- // dgvTolList.DataSource = dt;
- // SetdgvRowBgColor(dgvTolList);
- // labSearchResult.Visible = false;
- //}
- //else
- //{
- // dgvTolList.DataSource = dt;
- // labSearchResult.Visible = true;
- //}
- }
+ CB_TaskStatus.DataSource = statusList;
+ CB_TaskStatus.DisplayMember = "Key";
+ CB_TaskStatus.ValueMember = "Value";
- ///
- /// 设置DataGridView各行变色
- ///
- /// DataGridView
- public void SetdgvRowBgColor(DataGridView dgv)
- {
- if (dgv.Rows.Count > 0)
- {
- foreach (DataGridViewRow item in dgv.Rows)
- {
- if (item.Index % 2 == 0)
- {
- item.DefaultCellStyle.BackColor = Color.FromArgb(19, 46, 53);
- }
- else
- {
- item.DefaultCellStyle.BackColor = Color.FromArgb(27, 60, 68);
- }
- }
- }
- }
+ // 设置默认选中项为“全部”
+ }
- private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
- {
- e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
- }
+ // 获取选中状态值
+ private string GetSelectedStatus()
+ {
+ if (CB_TaskStatus.SelectedIndex < 0)
+ return string.Empty;
- private void lpcAddTol_Click(object sender, EventArgs e)
- {
- FAddTolerance fat = new FAddTolerance(this);
- fat.ShowDialog(this);
- }
+ return CB_TaskStatus.SelectedValue.ToString();
+ }
- private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- string buttonText = "";
- if (e.RowIndex < 0 || e.ColumnIndex < 0)
- {
- return;
- }
- try
- {
- buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText;
- }
- catch (Exception)
- {
- buttonText = " ";
- }
- if (buttonText == "删除")
- {
- if (DialogResult.Yes == MessageBox.Show("您确定要删除该条公差带信息吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
- {
- string iObjIDPk = dgvTolList.Rows[e.RowIndex].Cells["Id"].Value.ToString();
- try
- {
- tmdal.DeleteOneTolerance(iObjIDPk);
- }
- catch (Exception ex)
- {
- MessageBox.Show("删除公差带信息失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- MessageBox.Show("删除公差带信息成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- rtbnSearch_Click(null, null);
- }
- }
+ public void rtbnSearch_Click(object sender, EventArgs e)
+ {
+ DataTable dt = tmdal.SelectTaskByCondition(rtbCarName.Text.Trim(), rtbCarModel.Text.Trim(), GetSelectedStatus());
- if (buttonText == "修改" || buttonText == "Edit")
- {
- idgvSelectRowNumber = e.RowIndex;
- FEditTolerance sfeditcnc = new FEditTolerance(this);
- sfeditcnc.ShowDialog();
- }
- }
- }
+ if (dt.Rows.Count > 0)
+ {
+ dgvTolList.AutoGenerateColumns = false;
+ dgvTolList.DataSource = dt;
+ SetdgvRowBgColor(dgvTolList);
+ labSearchResult.Visible = false;
+ }
+ else
+ {
+ dgvTolList.AutoGenerateColumns = false;
+ dgvTolList.DataSource = dt;
+ labSearchResult.Visible = true;
+ }
+ }
+
+ ///
+ /// 设置DataGridView各行变色
+ ///
+ /// DataGridView
+ public void SetdgvRowBgColor(DataGridView dgv)
+ {
+ if (dgv.Rows.Count > 0)
+ {
+ foreach (DataGridViewRow item in dgv.Rows)
+ {
+ if (item.Index % 2 == 0)
+ {
+ item.DefaultCellStyle.BackColor = Color.FromArgb(19, 46, 53);
+ }
+ else
+ {
+ item.DefaultCellStyle.BackColor = Color.FromArgb(27, 60, 68);
+ }
+ }
+ }
+ }
+
+ private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
+ {
+ e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
+ }
+
+ private void lpcAddTol_Click(object sender, EventArgs e)
+ {
+ FAddTolerance fat = new FAddTolerance(this);
+ fat.ShowDialog(this);
+ }
+
+ private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ string buttonText = "";
+ if (e.RowIndex < 0 || e.ColumnIndex < 0)
+ {
+ return;
+ }
+ try
+ {
+ buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText;
+ }
+ catch (Exception)
+ {
+ buttonText = " ";
+ }
+ if (buttonText == "删除")
+ {
+ if (DialogResult.Yes == MessageBox.Show("您确定要删除该条分发配置吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
+ {
+ string modelName = dgvTolList.Rows[e.RowIndex].Cells["modelsName"].Value.ToString();
+ string modelsCode = dgvTolList.Rows[e.RowIndex].Cells["modelsCode"].Value.ToString();
+
+ if (string.IsNullOrEmpty(modelsCode) || string.IsNullOrEmpty(modelName))
+ {
+ MessageBox.Show("分发配置代码或名称不能为空,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ try
+ {
+ tmdal.UpdateIsDelete(modelName,modelsCode);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show("删除分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ MessageBox.Show("删除分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ rtbnSearch_Click(null, null);
+ }
+ }
+
+ if (buttonText == "修改" || buttonText == "Edit")
+ {
+ idgvSelectRowNumber = e.RowIndex;
+ FEditTolerance sfeditcnc = new FEditTolerance(this);
+ sfeditcnc.ShowDialog();
+ }
+ }
+
+ private void dgvTolList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
+ {
+ if (dgvTolList.Columns
+ .Cast()
+ .Any(c => c.DataPropertyName == "status" && c.Index == e.ColumnIndex))
+
+ {
+ switch (e.Value.ToString())
+ {
+ case "start": e.Value = "启动"; break;
+ case "stop": e.Value = "停止"; break;
+ }
+ }
+
+ if (dgvTolList.Columns
+ .Cast()
+ .Any(c => c.DataPropertyName == "readType" && c.Index == e.ColumnIndex))
+ {
+ switch (e.Value.ToString())
+ {
+ case "1": e.Value = "文件名称"; break;
+ case "2": e.Value = "文件内容"; break;
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Analysis/Tolerance/FToleranceSetup.designer.cs b/Analysis/Tolerance/FToleranceSetup.designer.cs
index 62fc07c..09e5ded 100644
--- a/Analysis/Tolerance/FToleranceSetup.designer.cs
+++ b/Analysis/Tolerance/FToleranceSetup.designer.cs
@@ -39,23 +39,25 @@ namespace NSAnalysis
this.labTitle = new System.Windows.Forms.Label();
this.dgvTolList = new System.Windows.Forms.DataGridView();
this.radGroupBox7 = new Telerik.WinControls.UI.RadGroupBox();
+ this.CB_TaskStatus = new System.Windows.Forms.ComboBox();
this.rtbnSearch = new Telerik.WinControls.UI.RadButton();
this.label3 = new System.Windows.Forms.Label();
- this.rtbMesPointName = new Telerik.WinControls.UI.RadTextBox();
- this.label1 = new System.Windows.Forms.Label();
this.rtbCarModel = new Telerik.WinControls.UI.RadTextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.rtbCarName = new Telerik.WinControls.UI.RadTextBox();
this.label15 = new System.Windows.Forms.Label();
this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn();
this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn();
this.lpcAddTol = new UserControlClass.LabPictureControl();
this.labSearchResult = new System.Windows.Forms.Label();
- this.comboBox1 = new System.Windows.Forms.ComboBox();
this.Id = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.CarType = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.MeasurePointName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.modelsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.modelsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DimensionName = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.TolLower = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.TolUpper = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.sourceFile = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.targetFile = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Status = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.readType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CreateTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.CNCEdit = new System.Windows.Forms.DataGridViewImageColumn();
this.CNCDelete = new System.Windows.Forms.DataGridViewImageColumn();
@@ -65,8 +67,8 @@ namespace NSAnalysis
((System.ComponentModel.ISupportInitialize)(this.radGroupBox7)).BeginInit();
this.radGroupBox7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).BeginInit();
this.SuspendLayout();
//
// radTitleBar1
@@ -85,11 +87,11 @@ namespace NSAnalysis
//
this.radTitleBar1.RootElement.ApplyShapeToControl = true;
this.radTitleBar1.RootElement.BorderHighlightColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
- this.radTitleBar1.Size = new System.Drawing.Size(930, 40);
+ this.radTitleBar1.Size = new System.Drawing.Size(1112, 40);
this.radTitleBar1.TabIndex = 0;
this.radTitleBar1.TabStop = false;
- this.radTitleBar1.Text = "公差带设置";
- ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "公差带设置";
+ this.radTitleBar1.Text = "文件分发设置";
+ ((Telerik.WinControls.UI.RadTitleBarElement)(this.radTitleBar1.GetChildAt(0))).Text = "文件分发设置";
((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
((Telerik.WinControls.Primitives.FillPrimitive)(this.radTitleBar1.GetChildAt(0).GetChildAt(0))).BackColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
@@ -110,7 +112,7 @@ namespace NSAnalysis
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label2.AutoSize = true;
this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image")));
- this.label2.Location = new System.Drawing.Point(367, -5);
+ this.label2.Location = new System.Drawing.Point(458, -5);
this.label2.Name = "label2";
this.label2.Padding = new System.Windows.Forms.Padding(23, 15, 23, 15);
this.label2.Size = new System.Drawing.Size(46, 52);
@@ -122,11 +124,11 @@ namespace NSAnalysis
this.labTitle.AutoSize = true;
this.labTitle.Font = new System.Drawing.Font("微软雅黑", 14F);
this.labTitle.ForeColor = System.Drawing.Color.White;
- this.labTitle.Location = new System.Drawing.Point(409, 8);
+ this.labTitle.Location = new System.Drawing.Point(500, 8);
this.labTitle.Name = "labTitle";
- this.labTitle.Size = new System.Drawing.Size(88, 25);
+ this.labTitle.Size = new System.Drawing.Size(126, 25);
this.labTitle.TabIndex = 0;
- this.labTitle.Text = "分发设置";
+ this.labTitle.Text = "文件分发设置";
//
// dgvTolList
//
@@ -151,11 +153,13 @@ namespace NSAnalysis
this.dgvTolList.ColumnHeadersHeight = 40;
this.dgvTolList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Id,
- this.CarType,
- this.MeasurePointName,
+ this.modelsName,
+ this.modelsCode,
this.DimensionName,
- this.TolLower,
- this.TolUpper,
+ this.sourceFile,
+ this.targetFile,
+ this.Status,
+ this.readType,
this.CreateTime,
this.CNCEdit,
this.CNCDelete});
@@ -181,9 +185,10 @@ namespace NSAnalysis
this.dgvTolList.RowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvTolList.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Segoe UI", 11F);
this.dgvTolList.RowTemplate.Height = 40;
- this.dgvTolList.Size = new System.Drawing.Size(887, 775);
+ this.dgvTolList.Size = new System.Drawing.Size(1069, 775);
this.dgvTolList.TabIndex = 17;
this.dgvTolList.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTolList_CellContentClick);
+ this.dgvTolList.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvTolList_CellFormatting);
this.dgvTolList.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dgvTolList_RowStateChanged);
//
// radGroupBox7
@@ -191,12 +196,12 @@ namespace NSAnalysis
this.radGroupBox7.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
this.radGroupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.radGroupBox7.Controls.Add(this.comboBox1);
+ this.radGroupBox7.Controls.Add(this.CB_TaskStatus);
this.radGroupBox7.Controls.Add(this.rtbnSearch);
this.radGroupBox7.Controls.Add(this.label3);
- this.radGroupBox7.Controls.Add(this.rtbMesPointName);
- this.radGroupBox7.Controls.Add(this.label1);
this.radGroupBox7.Controls.Add(this.rtbCarModel);
+ this.radGroupBox7.Controls.Add(this.label1);
+ this.radGroupBox7.Controls.Add(this.rtbCarName);
this.radGroupBox7.Controls.Add(this.label15);
this.radGroupBox7.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.radGroupBox7.HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center;
@@ -207,7 +212,7 @@ namespace NSAnalysis
//
//
this.radGroupBox7.RootElement.ShadowDepth = 2;
- this.radGroupBox7.Size = new System.Drawing.Size(749, 94);
+ this.radGroupBox7.Size = new System.Drawing.Size(931, 94);
this.radGroupBox7.TabIndex = 456;
this.radGroupBox7.Text = "查询条件";
((Telerik.WinControls.UI.RadGroupBoxElement)(this.radGroupBox7.GetChildAt(0))).HeaderAlignment = Telerik.WinControls.UI.HeaderAlignment.Center;
@@ -228,6 +233,19 @@ namespace NSAnalysis
((Telerik.WinControls.Primitives.TextPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(1).GetChildAt(2).GetChildAt(1))).Alignment = System.Drawing.ContentAlignment.MiddleLeft;
((Telerik.WinControls.Primitives.BorderPrimitive)(this.radGroupBox7.GetChildAt(0).GetChildAt(2).GetChildAt(1))).BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
//
+ // CB_TaskStatus
+ //
+ this.CB_TaskStatus.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.CB_TaskStatus.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.CB_TaskStatus.Font = new System.Drawing.Font("Segoe UI", 12F);
+ this.CB_TaskStatus.ForeColor = System.Drawing.Color.White;
+ this.CB_TaskStatus.FormattingEnabled = true;
+ this.CB_TaskStatus.ItemHeight = 21;
+ this.CB_TaskStatus.Location = new System.Drawing.Point(447, 52);
+ this.CB_TaskStatus.Name = "CB_TaskStatus";
+ this.CB_TaskStatus.Size = new System.Drawing.Size(140, 29);
+ this.CB_TaskStatus.TabIndex = 459;
+ //
// rtbnSearch
//
this.rtbnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
@@ -271,17 +289,17 @@ namespace NSAnalysis
this.label3.TabIndex = 459;
this.label3.Text = "运行状态:";
//
- // rtbMesPointName
+ // rtbCarModel
//
- this.rtbMesPointName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbMesPointName.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbMesPointName.ForeColor = System.Drawing.Color.White;
- this.rtbMesPointName.Location = new System.Drawing.Point(237, 52);
- this.rtbMesPointName.Name = "rtbMesPointName";
- this.rtbMesPointName.Size = new System.Drawing.Size(140, 27);
- this.rtbMesPointName.TabIndex = 458;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbMesPointName.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbMesPointName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F);
+ this.rtbCarModel.ForeColor = System.Drawing.Color.White;
+ this.rtbCarModel.Location = new System.Drawing.Point(237, 52);
+ this.rtbCarModel.Name = "rtbCarModel";
+ this.rtbCarModel.Size = new System.Drawing.Size(140, 27);
+ this.rtbCarModel.TabIndex = 458;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
// label1
//
@@ -294,17 +312,17 @@ namespace NSAnalysis
this.label1.TabIndex = 457;
this.label1.Text = "车型代码:";
//
- // rtbCarModel
+ // rtbCarName
//
- this.rtbCarModel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.rtbCarModel.Font = new System.Drawing.Font("Segoe UI", 12F);
- this.rtbCarModel.ForeColor = System.Drawing.Color.White;
- this.rtbCarModel.Location = new System.Drawing.Point(42, 52);
- this.rtbCarModel.Name = "rtbCarModel";
- this.rtbCarModel.Size = new System.Drawing.Size(140, 27);
- this.rtbCarModel.TabIndex = 456;
- ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarModel.GetChildAt(0))).Text = "";
- ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarModel.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
+ this.rtbCarName.Font = new System.Drawing.Font("Segoe UI", 12F);
+ this.rtbCarName.ForeColor = System.Drawing.Color.White;
+ this.rtbCarName.Location = new System.Drawing.Point(42, 52);
+ this.rtbCarName.Name = "rtbCarName";
+ this.rtbCarName.Size = new System.Drawing.Size(140, 27);
+ this.rtbCarName.TabIndex = 456;
+ ((Telerik.WinControls.UI.RadTextBoxElement)(this.rtbCarName.GetChildAt(0))).Text = "";
+ ((Telerik.WinControls.Primitives.BorderPrimitive)(this.rtbCarName.GetChildAt(0).GetChildAt(2))).ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
//
// label15
//
@@ -357,29 +375,13 @@ namespace NSAnalysis
this.labSearchResult.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
this.labSearchResult.Font = new System.Drawing.Font("Segoe UI", 12F);
this.labSearchResult.ForeColor = System.Drawing.Color.Red;
- this.labSearchResult.Location = new System.Drawing.Point(240, 465);
+ this.labSearchResult.Location = new System.Drawing.Point(331, 465);
this.labSearchResult.Name = "labSearchResult";
this.labSearchResult.Size = new System.Drawing.Size(452, 21);
this.labSearchResult.TabIndex = 457;
this.labSearchResult.Text = "查询完毕,未查询到任何结果,请检查查询条件是否正确!";
this.labSearchResult.Visible = false;
//
- // comboBox1
- //
- this.comboBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(60)))), ((int)(((byte)(68)))));
- this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.comboBox1.Font = new System.Drawing.Font("宋体", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.comboBox1.FormattingEnabled = true;
- this.comboBox1.ItemHeight = 19;
- this.comboBox1.Items.AddRange(new object[] {
- "全部",
- "启动",
- "暂停"});
- this.comboBox1.Location = new System.Drawing.Point(447, 52);
- this.comboBox1.Name = "comboBox1";
- this.comboBox1.Size = new System.Drawing.Size(140, 27);
- this.comboBox1.TabIndex = 459;
- //
// Id
//
this.Id.DataPropertyName = "Id";
@@ -389,53 +391,68 @@ namespace NSAnalysis
this.Id.Visible = false;
this.Id.Width = 45;
//
- // CarType
+ // modelsName
//
- this.CarType.DataPropertyName = "CarType";
- this.CarType.HeaderText = "车型名称";
- this.CarType.Name = "CarType";
- this.CarType.ReadOnly = true;
- this.CarType.Width = 65;
+ this.modelsName.DataPropertyName = "modelsName";
+ this.modelsName.HeaderText = "车型名称";
+ this.modelsName.Name = "modelsName";
+ this.modelsName.ReadOnly = true;
+ this.modelsName.Width = 65;
//
- // MeasurePointName
+ // modelsCode
//
- this.MeasurePointName.DataPropertyName = "MeasurePointName";
- this.MeasurePointName.HeaderText = "车型代码";
- this.MeasurePointName.Name = "MeasurePointName";
- this.MeasurePointName.ReadOnly = true;
- this.MeasurePointName.Width = 65;
+ this.modelsCode.DataPropertyName = "modelsCode";
+ this.modelsCode.HeaderText = "车型代码";
+ this.modelsCode.Name = "modelsCode";
+ this.modelsCode.ReadOnly = true;
+ this.modelsCode.Width = 65;
//
// DimensionName
//
- this.DimensionName.DataPropertyName = "DimensionName";
+ this.DimensionName.DataPropertyName = "position";
this.DimensionName.HeaderText = "车型位置";
this.DimensionName.Name = "DimensionName";
this.DimensionName.ReadOnly = true;
this.DimensionName.Width = 65;
//
- // TolLower
+ // sourceFile
//
- this.TolLower.DataPropertyName = "TolLower";
- this.TolLower.HeaderText = "运行状态";
- this.TolLower.Name = "TolLower";
- this.TolLower.ReadOnly = true;
- this.TolLower.Width = 65;
+ this.sourceFile.DataPropertyName = "sourceFile";
+ this.sourceFile.HeaderText = "源路径";
+ this.sourceFile.Name = "sourceFile";
+ this.sourceFile.ReadOnly = true;
+ this.sourceFile.Width = 65;
//
- // TolUpper
+ // targetFile
//
- this.TolUpper.DataPropertyName = "TolUpper";
- this.TolUpper.HeaderText = "读取方式";
- this.TolUpper.Name = "TolUpper";
- this.TolUpper.ReadOnly = true;
- this.TolUpper.Width = 65;
+ this.targetFile.DataPropertyName = "targetFile";
+ this.targetFile.HeaderText = "目标路径";
+ this.targetFile.Name = "targetFile";
+ this.targetFile.ReadOnly = true;
+ this.targetFile.Width = 65;
+ //
+ // Status
+ //
+ this.Status.DataPropertyName = "status";
+ this.Status.HeaderText = "运行状态";
+ this.Status.Name = "Status";
+ this.Status.ReadOnly = true;
+ this.Status.Width = 65;
+ //
+ // readType
+ //
+ this.readType.DataPropertyName = "readType";
+ this.readType.HeaderText = "读取方式";
+ this.readType.Name = "readType";
+ this.readType.ReadOnly = true;
+ this.readType.Width = 65;
//
// CreateTime
//
- this.CreateTime.DataPropertyName = "CreateTime";
+ this.CreateTime.DataPropertyName = "create_date";
this.CreateTime.HeaderText = "创建时间";
this.CreateTime.Name = "CreateTime";
this.CreateTime.ReadOnly = true;
- this.CreateTime.Visible = false;
this.CreateTime.Width = 65;
//
// CNCEdit
@@ -444,7 +461,7 @@ namespace NSAnalysis
this.CNCEdit.Image = ((System.Drawing.Image)(resources.GetObject("CNCEdit.Image")));
this.CNCEdit.Name = "CNCEdit";
this.CNCEdit.ReadOnly = true;
- this.CNCEdit.ToolTipText = "点击修改公差信息";
+ this.CNCEdit.ToolTipText = "点击修改配置";
this.CNCEdit.Width = 34;
//
// CNCDelete
@@ -453,7 +470,7 @@ namespace NSAnalysis
this.CNCDelete.Image = ((System.Drawing.Image)(resources.GetObject("CNCDelete.Image")));
this.CNCDelete.Name = "CNCDelete";
this.CNCDelete.ReadOnly = true;
- this.CNCDelete.ToolTipText = "点击删除公差信息";
+ this.CNCDelete.ToolTipText = "点击删除配置";
this.CNCDelete.Width = 34;
//
// FToleranceSetup
@@ -464,7 +481,7 @@ namespace NSAnalysis
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(19)))), ((int)(((byte)(46)))), ((int)(((byte)(53)))));
this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(109)))), ((int)(((byte)(124)))));
this.BorderWidth = 0;
- this.ClientSize = new System.Drawing.Size(932, 950);
+ this.ClientSize = new System.Drawing.Size(1114, 950);
this.Controls.Add(this.labSearchResult);
this.Controls.Add(this.radGroupBox7);
this.Controls.Add(this.lpcAddTol);
@@ -475,7 +492,7 @@ namespace NSAnalysis
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FToleranceSetup";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "公差带设置";
+ this.Text = "文件分发设置";
this.Load += new System.EventHandler(this.FToleranceSetup_Load);
((System.ComponentModel.ISupportInitialize)(this.radTitleBar1)).EndInit();
this.radTitleBar1.ResumeLayout(false);
@@ -485,8 +502,8 @@ namespace NSAnalysis
this.radGroupBox7.ResumeLayout(false);
this.radGroupBox7.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.rtbnSearch)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.rtbMesPointName)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rtbCarModel)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.rtbCarName)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -503,19 +520,21 @@ namespace NSAnalysis
private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn2;
private Telerik.WinControls.UI.RadGroupBox radGroupBox7;
private System.Windows.Forms.Label label3;
- private Telerik.WinControls.UI.RadTextBox rtbMesPointName;
- private System.Windows.Forms.Label label1;
private Telerik.WinControls.UI.RadTextBox rtbCarModel;
+ private System.Windows.Forms.Label label1;
+ private Telerik.WinControls.UI.RadTextBox rtbCarName;
private System.Windows.Forms.Label label15;
private Telerik.WinControls.UI.RadButton rtbnSearch;
private System.Windows.Forms.Label labSearchResult;
- private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.ComboBox CB_TaskStatus;
private System.Windows.Forms.DataGridViewTextBoxColumn Id;
- private System.Windows.Forms.DataGridViewTextBoxColumn CarType;
- private System.Windows.Forms.DataGridViewTextBoxColumn MeasurePointName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn modelsName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn modelsCode;
private System.Windows.Forms.DataGridViewTextBoxColumn DimensionName;
- private System.Windows.Forms.DataGridViewTextBoxColumn TolLower;
- private System.Windows.Forms.DataGridViewTextBoxColumn TolUpper;
+ private System.Windows.Forms.DataGridViewTextBoxColumn sourceFile;
+ private System.Windows.Forms.DataGridViewTextBoxColumn targetFile;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Status;
+ private System.Windows.Forms.DataGridViewTextBoxColumn readType;
private System.Windows.Forms.DataGridViewTextBoxColumn CreateTime;
private System.Windows.Forms.DataGridViewImageColumn CNCEdit;
private System.Windows.Forms.DataGridViewImageColumn CNCDelete;
diff --git a/Analysis/Tolerance/FToleranceSetup.resx b/Analysis/Tolerance/FToleranceSetup.resx
index 835152e..52d2697 100644
--- a/Analysis/Tolerance/FToleranceSetup.resx
+++ b/Analysis/Tolerance/FToleranceSetup.resx
@@ -155,19 +155,25 @@
True
-
+
True
-
+
True
True
-
+
True
-
+
+ True
+
+
+ True
+
+
True
diff --git a/Analysis/ZSFDEMO.cs b/Analysis/ZSFDEMO.cs
index 6c2f742..23f2196 100644
--- a/Analysis/ZSFDEMO.cs
+++ b/Analysis/ZSFDEMO.cs
@@ -1,32 +1,16 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Collections;
-using System.IO;
-using System.Xml;
-
-using Telerik.WinControls.UI;
namespace NSAnalysis
{
- public partial class ZSFDEMO : Telerik.WinControls.UI.ShapedForm
- {
- #region 全局变量
- #endregion
+ public partial class ZSFDEMO : Telerik.WinControls.UI.ShapedForm
+ {
+ public ZSFDEMO()
+ {
+ InitializeComponent();
+ }
- public ZSFDEMO()
- {
- InitializeComponent();
- }
-
- private void ZSFDEMO_Load(object sender, EventArgs e)
- {
-
- }
- }
-}
+ private void ZSFDEMO_Load(object sender, EventArgs e)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip b/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip
deleted file mode 100644
index 93736d2..0000000
Binary files a/Analysis/bin/x64/2024.10.24 奇瑞总装增加极差新功能升级包.zip and /dev/null differ
diff --git a/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db b/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db
deleted file mode 100644
index 2789702..0000000
Binary files a/Analysis/bin/x64/Debug/DataBase/CheryAnalysisDB.db and /dev/null differ
diff --git a/Analysis/bin/x64/Debug/Debug.txt b/Analysis/bin/x64/Debug/Debug.txt
index fd49dd1..914603d 100644
--- a/Analysis/bin/x64/Debug/Debug.txt
+++ b/Analysis/bin/x64/Debug/Debug.txt
@@ -1,17 +1,12 @@
-2025-08-04 11:42:26.704----软件Program Main函数开始执行--
-2025-08-04 11:42:26.707--加载配置文件——>开始
-2025-08-04 11:42:26.727--数据库连接 SqlServerName:127.0.0.1
-2025-08-04 11:42:26.728--数据库连接 SqlUserName:sa
-2025-08-04 11:42:26.729--数据库连接 SqlPassword:Hexagon123
-2025-08-04 11:42:26.729--数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 11:42:26.729--加载配置文件——>完成
-2025-08-04 11:42:28.483--数据库连接 SqlServerName:127.0.0.1
-2025-08-04 11:42:28.484--数据库连接 SqlUserName:sa
-2025-08-04 11:42:28.485--数据库连接 SqlPassword:Hexagon123
-2025-08-04 11:42:28.486--数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 11:42:28.486--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123;
-2025-08-04 11:42:28.853-- 进入显示车身模式!显示车身界面。
-2025-08-04 11:42:28.854-- 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-08-04 11:42:28.856--软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-08-04 11:42:28.857--软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-08-04 11:42:32.820---------------海克斯康面隙分析软件程序关闭---------------------
+2025-08-04 16:45:31.230----软件Program Main函数开始执行--
+2025-08-04 16:45:31.232--加载配置文件——>开始
+2025-08-04 16:45:31.327--加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:45:32.142--数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:45:32.143--数据库连接 SqlUserName:sa
+2025-08-04 16:45:32.144--数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:45:32.146--数据库连接 SqlDbName:CJLR
+2025-08-04 16:45:32.147--数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
diff --git a/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv b/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv
deleted file mode 100644
index c8a6990..0000000
--- a/Analysis/bin/x64/Debug/EncoderLogs/2024-09-27.csv
+++ /dev/null
@@ -1,939 +0,0 @@
-2024-09-27 11:38:12.1539,1,2,3,15.237
-2024-09-27 11:38:12.4648,1,2,3,15.237
-2024-09-27 11:38:12.7780,1,2,3,15.237
-2024-09-27 11:38:13.0880,1,2,3,15.237
-2024-09-27 11:38:13.4020,1,2,3,15.237
-2024-09-27 11:38:13.7121,1,2,3,15.237
-2024-09-27 11:38:14.0272,1,2,3,15.237
-2024-09-27 11:38:14.3376,1,2,3,15.237
-2024-09-27 11:38:14.6516,1,2,3,15.237
-2024-09-27 11:38:14.9626,1,2,3,15.237
-2024-09-27 11:38:15.2741,1,2,3,15.237
-2024-09-27 11:38:15.5873,1,2,3,15.237
-2024-09-27 11:38:15.9019,1,2,3,15.237
-2024-09-27 11:38:16.2117,1,2,3,15.237
-2024-09-27 11:38:16.5243,1,2,3,15.237
-2024-09-27 11:38:16.8406,1,2,3,15.237
-2024-09-27 11:38:17.1494,1,2,3,15.237
-2024-09-27 11:38:17.4627,1,2,3,15.237
-2024-09-27 11:38:17.7754,1,2,3,15.237
-2024-09-27 11:38:18.0891,1,2,3,15.237
-2024-09-27 11:38:18.4009,1,2,3,15.237
-2024-09-27 11:38:18.7127,1,2,3,15.237
-2024-09-27 11:38:19.0284,1,2,3,15.237
-2024-09-27 11:38:19.3359,1,2,3,15.237
-2024-09-27 11:38:19.6513,1,2,3,15.237
-2024-09-27 11:38:19.9629,1,2,3,15.237
-2024-09-27 11:38:20.2777,1,2,3,15.237
-2024-09-27 11:38:20.5886,1,2,3,15.237
-2024-09-27 11:38:20.9022,1,2,3,15.237
-2024-09-27 11:38:21.2134,1,2,3,15.237
-2024-09-27 11:38:21.5270,1,2,3,15.237
-2024-09-27 11:38:21.8371,1,2,3,15.237
-2024-09-27 11:38:22.1514,1,2,3,15.237
-2024-09-27 11:38:22.4623,1,2,3,15.237
-2024-09-27 11:38:22.7774,1,2,3,15.237
-2024-09-27 11:38:23.0862,1,2,3,15.237
-2024-09-27 11:38:23.3999,1,2,3,15.237
-2024-09-27 11:38:23.7119,1,2,3,15.237
-2024-09-27 11:38:24.0266,1,2,3,15.237
-2024-09-27 11:38:24.3371,1,2,3,15.237
-2024-09-27 11:38:24.6511,1,2,3,15.237
-2024-09-27 11:38:24.9627,1,2,3,15.237
-2024-09-27 11:38:25.2761,1,2,3,15.237
-2024-09-27 11:38:25.5871,1,2,3,15.237
-2024-09-27 11:38:25.8988,1,2,3,15.237
-2024-09-27 11:38:26.2130,1,2,3,15.237
-2024-09-27 11:38:26.5270,1,2,3,15.237
-2024-09-27 11:38:26.8360,1,2,3,15.237
-2024-09-27 11:38:27.1516,1,2,3,15.237
-2024-09-27 11:38:27.4619,1,2,3,15.237
-2024-09-27 11:38:27.7771,1,2,3,15.237
-2024-09-27 11:38:28.0883,1,2,3,15.237
-2024-09-27 11:38:28.3985,1,2,3,15.237
-2024-09-27 11:38:28.7111,1,2,3,15.237
-2024-09-27 11:38:29.0257,1,2,3,15.237
-2024-09-27 11:38:29.3379,1,2,3,15.237
-2024-09-27 11:38:29.6499,1,2,3,15.237
-2024-09-27 11:38:29.9624,1,2,3,15.237
-2024-09-27 11:38:30.2754,1,2,3,15.237
-2024-09-27 11:38:30.5869,1,2,3,15.237
-2024-09-27 11:38:30.9022,1,2,3,15.237
-2024-09-27 11:38:31.2139,1,2,3,15.237
-2024-09-27 11:38:31.5248,1,2,3,15.237
-2024-09-27 11:38:31.8394,1,2,3,15.237
-2024-09-27 11:38:32.1512,1,2,3,15.237
-2024-09-27 11:38:32.4607,1,2,3,15.237
-2024-09-27 11:38:32.7748,1,2,3,15.237
-2024-09-27 11:38:33.0886,1,2,3,15.237
-2024-09-27 11:38:33.3998,1,2,3,15.237
-2024-09-27 11:38:33.7115,1,2,3,15.237
-2024-09-27 11:38:34.0271,1,2,3,15.237
-2024-09-27 11:38:34.3382,1,2,3,15.237
-2024-09-27 11:38:34.6487,1,2,3,15.237
-2024-09-27 11:38:34.9626,1,2,3,15.237
-2024-09-27 11:38:35.2754,1,2,3,15.237
-2024-09-27 11:38:35.5888,1,2,3,15.237
-2024-09-27 11:38:35.8994,1,2,3,115.237
-2024-09-27 11:38:36.2117,1,2,3,115.237
-2024-09-27 11:38:36.5282,1,2,3,115.237
-2024-09-27 11:38:36.8361,1,2,3,115.237
-2024-09-27 11:38:37.1530,1,2,3,115.237
-2024-09-27 11:38:37.4637,1,2,3,115.237
-2024-09-27 11:38:37.7752,1,2,3,115.237
-2024-09-27 11:38:38.0869,1,2,3,115.237
-2024-09-27 11:38:38.3984,1,2,3,115.237
-2024-09-27 11:38:38.7124,1,2,3,115.237
-2024-09-27 11:38:39.0248,1,2,3,115.237
-2024-09-27 11:38:39.3380,1,2,3,115.237
-2024-09-27 11:38:39.6482,1,2,3,115.237
-2024-09-27 11:38:39.9613,1,2,3,115.237
-2024-09-27 11:38:40.2748,1,2,3,115.237
-2024-09-27 11:38:40.5860,1,2,3,115.237
-2024-09-27 11:38:40.9005,1,2,3,115.237
-2024-09-27 11:38:41.2146,1,2,3,115.237
-2024-09-27 11:38:41.5246,1,2,3,115.237
-2024-09-27 11:38:41.8367,1,2,3,115.237
-2024-09-27 11:38:42.1505,1,2,3,115.237
-2024-09-27 11:38:42.4616,1,2,3,115.237
-2024-09-27 11:38:42.7760,1,2,3,115.237
-2024-09-27 11:38:43.0865,1,2,3,115.237
-2024-09-27 11:38:43.3998,1,2,3,115.237
-2024-09-27 11:38:43.7101,1,2,3,115.237
-2024-09-27 11:38:44.0233,1,2,3,115.237
-2024-09-27 11:38:44.3379,1,2,3,115.237
-2024-09-27 11:38:44.6498,1,2,3,115.237
-2024-09-27 11:38:44.9633,1,2,3,115.237
-2024-09-27 11:38:45.2785,1,2,3,115.237
-2024-09-27 11:38:45.5856,1,2,3,115.237
-2024-09-27 11:38:45.8990,1,2,3,115.237
-2024-09-27 11:38:46.2109,1,2,3,115.237
-2024-09-27 11:38:46.5251,1,2,3,115.237
-2024-09-27 11:38:46.8381,1,2,3,115.237
-2024-09-27 11:38:47.1483,1,2,3,115.237
-2024-09-27 11:38:47.4623,1,2,3,115.237
-2024-09-27 11:38:47.7764,1,2,3,115.237
-2024-09-27 11:38:48.0855,1,2,3,115.237
-2024-09-27 11:38:48.3999,1,2,3,115.237
-2024-09-27 11:38:48.7125,1,2,3,115.237
-2024-09-27 11:38:49.0233,1,2,3,115.237
-2024-09-27 11:38:49.3372,1,2,3,115.237
-2024-09-27 11:38:49.6496,1,2,3,115.237
-2024-09-27 11:38:49.9606,1,2,3,115.237
-2024-09-27 11:38:50.2728,1,2,3,115.237
-2024-09-27 11:38:50.5868,1,2,3,115.237
-2024-09-27 11:38:50.8985,1,2,3,115.237
-2024-09-27 11:38:51.2111,1,2,3,115.237
-2024-09-27 11:38:51.5265,1,2,3,115.237
-2024-09-27 11:38:51.8367,1,2,3,115.237
-2024-09-27 11:38:52.1507,1,2,3,115.237
-2024-09-27 11:38:52.4606,1,2,3,115.237
-2024-09-27 11:38:52.7737,1,2,3,115.237
-2024-09-27 11:38:53.0864,1,2,3,115.237
-2024-09-27 11:38:53.4027,1,2,3,115.237
-2024-09-27 11:38:53.7148,1,2,3,115.237
-2024-09-27 11:38:54.0261,1,2,3,115.237
-2024-09-27 11:38:54.3356,1,2,3,115.237
-2024-09-27 11:38:54.6498,1,2,3,115.237
-2024-09-27 11:38:54.9615,1,2,3,115.237
-2024-09-27 11:38:55.2753,1,2,3,115.237
-2024-09-27 11:38:55.5884,1,2,3,115.237
-2024-09-27 11:38:55.9010,1,2,3,115.237
-2024-09-27 11:38:56.2145,1,2,3,115.237
-2024-09-27 11:38:56.5268,1,2,3,115.237
-2024-09-27 11:38:56.8364,1,2,3,115.237
-2024-09-27 11:38:57.1490,1,2,3,115.237
-2024-09-27 11:38:57.4632,1125.237,2,3,115.237
-2024-09-27 11:38:57.7728,1125.237,2,3,115.237
-2024-09-27 11:38:58.0870,1125.237,2,3,115.237
-2024-09-27 11:38:58.4004,1125.237,2,3,115.237
-2024-09-27 11:38:58.7111,1125.237,2,3,115.237
-2024-09-27 11:38:59.0228,1125.237,2,3,115.237
-2024-09-27 11:38:59.3378,1125.237,2,3,115.237
-2024-09-27 11:38:59.6494,1125.237,2,3,115.237
-2024-09-27 11:38:59.9627,1125.237,2,3,115.237
-2024-09-27 11:39:00.2729,1125.237,2,3,115.237
-2024-09-27 11:39:00.5879,1125.237,2,3,115.237
-2024-09-27 11:39:00.8978,1125.237,2,3,115.237
-2024-09-27 11:39:01.2102,1125.237,2,3,115.237
-2024-09-27 11:39:01.5255,1125.237,2,3,115.237
-2024-09-27 11:39:01.8377,1125.237,2,3,115.237
-2024-09-27 11:39:02.1510,1125.237,2,3,115.237
-2024-09-27 11:39:02.4605,1125.237,2,3,115.237
-2024-09-27 11:39:02.7768,1125.237,2,3,115.237
-2024-09-27 11:39:03.0857,1125.237,2,3,115.237
-2024-09-27 11:39:03.3992,1125.237,2,3,115.237
-2024-09-27 11:39:03.7104,1125.237,2,3,115.237
-2024-09-27 11:39:04.0230,1125.237,2,3,115.237
-2024-09-27 11:39:04.3367,1125.237,2,3,115.237
-2024-09-27 11:39:04.6517,1125.237,2,3,115.237
-2024-09-27 11:39:04.9625,1125.237,2,3,115.237
-2024-09-27 11:39:05.2730,1125.237,2,3,115.237
-2024-09-27 11:39:05.5898,1125.237,2,3,115.237
-2024-09-27 11:39:05.8974,1125.237,2,3,115.237
-2024-09-27 11:39:06.2114,1125.237,2,3,115.237
-2024-09-27 11:39:06.5227,1125.237,2,3,115.237
-2024-09-27 11:39:06.8372,1125.237,2,3,115.237
-2024-09-27 11:39:07.1499,1125.237,2,3,115.237
-2024-09-27 11:39:07.4600,1125.237,2,3,115.237
-2024-09-27 11:39:07.7754,1125.237,2,3,115.237
-2024-09-27 11:39:08.0868,1125.237,2,3,115.237
-2024-09-27 11:39:08.3994,1125.237,2,3,115.237
-2024-09-27 11:39:08.7128,1125.237,2,3,115.237
-2024-09-27 11:39:09.0223,1125.237,2,3,115.237
-2024-09-27 11:39:09.3382,1125.237,2,3,115.237
-2024-09-27 11:39:09.6515,1125.237,2,3,115.237
-2024-09-27 11:39:09.9609,1125.237,2,3,115.237
-2024-09-27 11:39:10.2737,1125.237,2,3,115.237
-2024-09-27 11:39:10.5877,1125.237,2,3,115.237
-2024-09-27 11:39:10.8977,1125.237,2,3,115.237
-2024-09-27 11:39:11.2118,1125.237,2,3,115.237
-2024-09-27 11:39:11.5251,1125.237,2,3,115.237
-2024-09-27 11:39:11.8356,1125.237,2,3,115.237
-2024-09-27 11:39:12.1501,1125.237,2,3,115.237
-2024-09-27 11:39:12.4617,1125.237,2,3,115.237
-2024-09-27 11:39:12.7744,1125.237,2,3,115.237
-2024-09-27 11:39:13.0850,1125.237,2,3,115.237
-2024-09-27 11:39:13.3994,1125.237,2,3,115.237
-2024-09-27 11:39:13.7124,1125.237,2,3,115.237
-2024-09-27 11:39:14.0246,1125.237,2,3,115.237
-2024-09-27 11:39:14.3373,1125.237,2,3,115.237
-2024-09-27 11:39:14.6490,1125.237,2,3,115.237
-2024-09-27 11:39:14.9603,1125.237,2,3,115.237
-2024-09-27 11:39:15.2746,1125.237,2,3,115.237
-2024-09-27 11:39:15.5853,1125.237,2,3,115.237
-2024-09-27 11:39:15.9009,1125.237,2,3,115.237
-2024-09-27 11:39:16.2100,1125.237,2,3,115.237
-2024-09-27 11:39:16.5235,1125.237,2,3,115.237
-2024-09-27 11:39:16.8364,1125.237,2,3,115.237
-2024-09-27 11:39:17.1474,1125.237,2,3,115.237
-2024-09-27 11:39:17.4602,1125.237,2,3,115.237
-2024-09-27 11:39:17.7746,1125.237,2,3,115.237
-2024-09-27 11:39:18.0859,1125.237,2,3,115.237
-2024-09-27 11:39:18.3982,1125.237,2,3,115.237
-2024-09-27 11:39:18.7120,1125.237,2,3,115.237
-2024-09-27 11:39:19.0225,1125.237,2,3,115.237
-2024-09-27 11:39:19.3361,1125.237,2,3,115.237
-2024-09-27 11:39:19.6488,1125.237,2,3,115.237
-2024-09-27 11:39:19.9600,1125.237,2,3,115.237
-2024-09-27 11:39:20.2772,1125.237,2,3,115.237
-2024-09-27 11:39:20.5867,1125.237,2,3,115.237
-2024-09-27 11:39:20.8972,1125.237,2,3,115.237
-2024-09-27 11:39:21.2111,1125.237,2,3,115.237
-2024-09-27 11:39:21.5242,1125.237,2,3,115.237
-2024-09-27 11:39:21.8359,1125.237,2,3,115.237
-2024-09-27 11:39:22.1483,1125.237,2,3,115.237
-2024-09-27 11:39:22.4631,1125.237,2,3,115.237
-2024-09-27 11:39:22.7742,1125.237,2,3,115.237
-2024-09-27 11:39:23.0862,1125.237,2,3,115.237
-2024-09-27 11:39:23.3996,1125.237,2,3,115.237
-2024-09-27 11:39:23.7134,1125.237,2,3,115.237
-2024-09-27 11:39:24.0246,1125.237,2,3,115.237
-2024-09-27 11:39:24.3357,1125.237,2,3,115.237
-2024-09-27 11:39:24.6502,1125.237,2,3,115.237
-2024-09-27 11:39:24.9609,1125.237,2,3,115.237
-2024-09-27 11:39:25.2746,1125.237,2,3,115.237
-2024-09-27 11:39:25.5860,1125.237,2,3,115.237
-2024-09-27 11:39:25.9001,1125.237,2,3,115.237
-2024-09-27 11:39:26.2131,1125.237,2,3,115.237
-2024-09-27 11:39:26.5226,1125.237,2,3,115.237
-2024-09-27 11:39:26.8378,1125.237,2,3,115.237
-2024-09-27 11:39:27.1465,1125.237,2,3,115.237
-2024-09-27 11:39:27.4609,1125.237,2,3,115.237
-2024-09-27 11:39:27.7733,1125.237,2,3,115.237
-2024-09-27 11:39:28.0853,1125.237,2,3,115.237
-2024-09-27 11:39:28.3983,1125.237,2,3,115.237
-2024-09-27 11:39:28.7111,1125.237,2,3,115.237
-2024-09-27 11:39:29.0275,1125.237,2,3,115.237
-2024-09-27 11:39:29.3344,1125.237,2,3,115.237
-2024-09-27 11:39:29.6484,1125.237,2,3,115.237
-2024-09-27 11:39:29.9637,1125.237,2,3,115.237
-2024-09-27 11:39:30.2722,1125.237,2,3,115.237
-2024-09-27 11:39:30.5857,1125.237,2,3,115.237
-2024-09-27 11:39:30.8976,1125.237,2,3,115.237
-2024-09-27 11:39:31.2118,1125.237,2,3,115.237
-2024-09-27 11:39:31.5241,1125.237,2,3,115.237
-2024-09-27 11:39:31.8378,1125.237,2,3,115.237
-2024-09-27 11:39:32.1495,1125.237,2,3,115.237
-2024-09-27 11:39:32.4608,1125.237,2,3,115.237
-2024-09-27 11:39:32.7730,1125.237,2,3,115.237
-2024-09-27 11:39:33.0855,1125.237,2,3,115.237
-2024-09-27 11:39:33.3985,1125.237,2,3,115.237
-2024-09-27 11:39:33.7122,1125.237,2,3,115.237
-2024-09-27 11:39:34.0233,1125.237,2,3,115.237
-2024-09-27 11:39:34.3344,1125.237,2,3,115.237
-2024-09-27 11:39:34.6497,1125.237,2,3,115.237
-2024-09-27 11:39:34.9610,1125.237,2,3,115.237
-2024-09-27 11:39:35.2733,1125.237,2,3,115.237
-2024-09-27 11:39:35.5884,1125.237,2,3,115.237
-2024-09-27 11:39:35.8984,1125.237,2,3,115.237
-2024-09-27 11:39:36.2103,1125.237,2,3,115.237
-2024-09-27 11:39:36.5224,1125.237,2,3,115.237
-2024-09-27 11:39:36.8373,1125.237,2,3,115.237
-2024-09-27 11:39:37.1480,1125.237,2,3,115.237
-2024-09-27 11:39:37.4621,1125.237,2,3,115.237
-2024-09-27 11:39:37.7753,1125.237,2,3,115.237
-2024-09-27 11:39:38.0869,1125.237,2,3,115.237
-2024-09-27 11:39:38.3980,1125.237,2,3,115.237
-2024-09-27 11:39:38.7104,1125.237,2,3,115.237
-2024-09-27 11:39:39.0235,1125.237,2,3,115.237
-2024-09-27 11:39:39.3366,1125.237,2,3,115.237
-2024-09-27 11:39:39.6485,1125.237,2,3,115.237
-2024-09-27 11:39:39.9622,1125.237,2,3,115.237
-2024-09-27 11:39:40.2723,1125.237,2,3,115.237
-2024-09-27 11:39:40.5858,1125.237,2,3,115.237
-2024-09-27 11:39:40.8984,1125.237,2,3,115.237
-2024-09-27 11:39:41.2106,1125.237,2,3,115.237
-2024-09-27 11:39:41.5227,1125.237,2,3,115.237
-2024-09-27 11:39:41.8354,1125.237,2,3,115.237
-2024-09-27 11:39:42.1512,1125.237,2,3,115.237
-2024-09-27 11:39:42.4602,1125.237,2,3,115.237
-2024-09-27 11:39:42.7750,1125.237,2,3,115.237
-2024-09-27 11:39:43.0846,1125.237,2,3,115.237
-2024-09-27 11:39:43.3986,1125.237,2,3,115.237
-2024-09-27 11:39:43.7094,1125.237,2,3,115.237
-2024-09-27 11:39:44.0235,1125.237,2,3,115.237
-2024-09-27 11:39:44.3364,1125.237,2,3,115.237
-2024-09-27 11:39:44.6471,1125.237,2,3,115.237
-2024-09-27 11:39:44.9626,1125.237,2,3,115.237
-2024-09-27 11:39:45.2747,1125.237,2,3,115.237
-2024-09-27 11:39:45.5848,1125.237,2,3,115.237
-2024-09-27 11:39:45.8981,1125.237,2,3,115.237
-2024-09-27 11:39:46.2102,1125.237,2,3,115.237
-2024-09-27 11:39:46.5236,1125.237,2,3,115.237
-2024-09-27 11:39:46.8359,1125.237,2,3,115.237
-2024-09-27 11:39:47.1472,1125.237,2,3,115.237
-2024-09-27 11:39:47.4599,1125.237,2,3,115.237
-2024-09-27 11:39:47.7761,1125.237,2,3,115.237
-2024-09-27 11:39:48.0853,1125.237,2,3,115.237
-2024-09-27 11:39:48.3976,1125.237,2,3,115.237
-2024-09-27 11:39:48.7135,1125.237,2,3,115.237
-2024-09-27 11:39:49.0228,1125.237,2,3,115.237
-2024-09-27 11:39:49.3353,1125.237,2,3,115.237
-2024-09-27 11:39:49.6472,1125.237,2,3,115.237
-2024-09-27 11:39:49.9609,1125.237,2,3,115.237
-2024-09-27 11:39:50.2747,1125.237,2,3,115.237
-2024-09-27 11:39:50.5858,1125.237,2,3,115.237
-2024-09-27 11:39:50.8985,1125.237,2,3,115.237
-2024-09-27 11:39:51.2092,1125.237,2,3,115.237
-2024-09-27 11:39:51.5232,1125.237,2,3,115.237
-2024-09-27 11:39:51.8340,1125.237,2,3,115.237
-2024-09-27 11:39:52.1490,1125.237,2,3,115.237
-2024-09-27 11:39:52.4610,1125.237,2,3,115.237
-2024-09-27 11:39:52.7728,1125.237,2,3,115.237
-2024-09-27 11:39:53.0871,1125.237,2,3,115.237
-2024-09-27 11:39:53.3993,1125.237,2,3,115.237
-2024-09-27 11:39:53.7115,1125.237,2,3,115.237
-2024-09-27 11:39:54.0218,1125.237,2,3,115.237
-2024-09-27 11:39:54.3351,1125.237,2,3,115.237
-2024-09-27 11:39:54.6475,1125.237,2,3,115.237
-2024-09-27 11:39:54.9596,1125.237,2,3,115.237
-2024-09-27 11:39:55.2762,1125.237,2,3,115.237
-2024-09-27 11:39:55.5840,1125.237,2,3,115.237
-2024-09-27 11:39:55.8985,1125.237,2,3,115.237
-2024-09-27 11:39:56.2091,1125.237,2,3,115.237
-2024-09-27 11:39:56.5217,1125.237,2,3,115.237
-2024-09-27 11:39:56.8355,1125.237,2,3,115.237
-2024-09-27 11:39:57.1466,1125.237,2,3,115.237
-2024-09-27 11:39:57.4609,1125.237,2,3,115.237
-2024-09-27 11:39:57.7727,1125.237,2,3,115.237
-2024-09-27 11:39:58.0859,1125.237,2,3,115.237
-2024-09-27 11:39:58.3984,1125.237,2,3,115.237
-2024-09-27 11:39:58.7098,1125.237,2,3,115.237
-2024-09-27 11:39:59.0236,1125.237,2,3,115.237
-2024-09-27 11:39:59.3351,1125.237,2,3,115.237
-2024-09-27 11:39:59.6494,1125.237,2,3,115.237
-2024-09-27 11:39:59.9592,1125.237,2,3,115.237
-2024-09-27 11:40:00.2725,1125.237,2,3,115.237
-2024-09-27 11:40:00.5845,1125.237,2,3,115.237
-2024-09-27 11:40:00.8975,1125.237,2,3,115.237
-2024-09-27 11:40:01.2093,1125.237,2,3,115.237
-2024-09-27 11:40:01.5242,1125.237,2,3,115.237
-2024-09-27 11:40:01.8367,1125.237,2,3,115.237
-2024-09-27 11:40:02.1479,1125.237,2,3,115.237
-2024-09-27 11:40:02.4601,1125.237,2,3,115.237
-2024-09-27 11:40:02.7721,1125.237,2,3,115.237
-2024-09-27 11:40:03.0850,1125.237,2,3,115.237
-2024-09-27 11:40:03.3970,1125.237,2,3,115.237
-2024-09-27 11:40:03.7119,1125.237,2,3,115.237
-2024-09-27 11:40:04.0231,1125.237,2,3,115.237
-2024-09-27 11:40:04.3343,1125.237,2,3,115.237
-2024-09-27 11:40:04.6472,1125.237,2,3,115.237
-2024-09-27 11:40:04.9590,1125.237,2,3,115.237
-2024-09-27 11:40:05.2722,1125.237,2,3,115.237
-2024-09-27 11:40:05.5875,1125.237,2,3,115.237
-2024-09-27 11:40:05.8964,1125.237,2,3,115.237
-2024-09-27 11:40:06.2105,1125.237,2,3,115.237
-2024-09-27 11:40:06.5249,1125.237,2,3,115.237
-2024-09-27 11:40:06.8360,1125.237,2,3,115.237
-2024-09-27 11:40:07.1465,1125.237,2,3,115.237
-2024-09-27 11:40:07.4602,1125.237,2,3,115.237
-2024-09-27 11:40:07.7747,1125.237,2,3,115.237
-2024-09-27 11:40:08.0843,1125.237,2,3,115.237
-2024-09-27 11:40:08.3982,1125.237,2,3,115.237
-2024-09-27 11:40:08.7089,1125.237,2,3,115.237
-2024-09-27 11:40:09.0226,1125.237,2,3,115.237
-2024-09-27 11:40:09.3371,1125.237,2,3,115.237
-2024-09-27 11:40:09.6470,1125.237,2,3,115.237
-2024-09-27 11:40:09.9596,1125.237,2,3,115.237
-2024-09-27 11:40:10.2728,1125.237,2,3,115.237
-2024-09-27 11:40:10.5882,1125.237,2,3,115.237
-2024-09-27 11:40:10.8981,1125.237,2,3,115.237
-2024-09-27 11:40:11.2088,1125.237,2,3,115.237
-2024-09-27 11:40:11.5234,1125.237,2,3,115.237
-2024-09-27 11:40:11.8350,1125.237,2,3,115.237
-2024-09-27 11:40:12.1473,1125.237,2,3,115.237
-2024-09-27 11:40:12.4587,1125.237,2,3,115.237
-2024-09-27 11:40:12.7741,1125.237,2,3,115.237
-2024-09-27 11:40:13.0863,1125.237,2,3,115.237
-2024-09-27 11:40:13.3984,1125.237,2,3,115.237
-2024-09-27 11:40:13.7094,1125.237,2,3,115.237
-2024-09-27 11:40:14.0228,1125.237,2,3,115.237
-2024-09-27 11:40:14.3343,1125.237,2,3,115.237
-2024-09-27 11:40:14.6502,1125.237,2,3,115.237
-2024-09-27 11:40:14.9620,1125.237,2,3,115.237
-2024-09-27 11:40:15.2742,1125.237,2,3,115.237
-2024-09-27 11:40:15.5842,1125.237,2,3,115.237
-2024-09-27 11:40:15.8977,1125.237,2,3,115.237
-2024-09-27 11:40:16.2096,1125.237,2,3,115.237
-2024-09-27 11:40:16.5230,1125.237,2,3,115.237
-2024-09-27 11:40:16.8343,1125.237,2,3,115.237
-2024-09-27 11:40:17.1473,1125.237,2,3,115.237
-2024-09-27 11:40:17.4597,1125.237,2,3,115.237
-2024-09-27 11:40:17.7714,1125.237,2,3,115.237
-2024-09-27 11:40:18.0834,1125.237,2,3,115.237
-2024-09-27 11:40:18.3986,1125.237,2,3,115.237
-2024-09-27 11:40:18.7121,1125.237,2,3,115.237
-2024-09-27 11:40:19.0228,1125.237,2,3,115.237
-2024-09-27 11:40:19.3369,1125.237,2,3,115.237
-2024-09-27 11:40:19.6467,1125.237,2,3,115.237
-2024-09-27 11:40:19.9601,1125.237,2,3,115.237
-2024-09-27 11:40:20.2718,1125.237,2,3,115.237
-2024-09-27 11:40:20.5850,1125.237,2,3,115.237
-2024-09-27 11:40:20.8985,1125.237,2,3,115.237
-2024-09-27 11:40:21.2088,1125.237,2,3,115.237
-2024-09-27 11:40:21.5230,1125.237,2,3,115.237
-2024-09-27 11:40:21.8361,1125.237,2,3,115.237
-2024-09-27 11:40:22.1479,1125.237,2,3,115.237
-2024-09-27 11:40:22.4595,1125.237,2,3,115.237
-2024-09-27 11:40:22.7738,1125.237,2,3,115.237
-2024-09-27 11:40:23.0843,1125.237,2,3,115.237
-2024-09-27 11:40:23.3989,1125.237,2,3,115.237
-2024-09-27 11:40:23.7100,1125.237,2,3,115.237
-2024-09-27 11:40:24.0230,1125.237,2,3,115.237
-2024-09-27 11:40:24.3338,1125.237,2,3,115.237
-2024-09-27 11:40:24.6460,1125.237,2,3,115.237
-2024-09-27 11:40:24.9587,1125.237,2,3,115.237
-2024-09-27 11:40:25.2727,1125.237,2,3,115.237
-2024-09-27 11:40:25.5849,1125.237,2,3,115.237
-2024-09-27 11:40:25.9008,1125.237,2,3,115.237
-2024-09-27 11:40:26.2085,1125.237,2,3,115.237
-2024-09-27 11:40:26.5225,1125.237,2,3,115.237
-2024-09-27 11:40:26.8353,1125.237,2,3,115.237
-2024-09-27 11:40:27.1487,1125.237,2,3,115.237
-2024-09-27 11:40:27.4592,1125.237,2,3,115.237
-2024-09-27 11:40:27.7730,1125.237,2,3,115.237
-2024-09-27 11:40:28.0869,1125.237,2,3,115.237
-2024-09-27 11:40:28.3960,1125.237,2,3,115.237
-2024-09-27 11:40:28.7084,1125.237,2,3,115.237
-2024-09-27 11:40:29.0221,1125.237,2,3,115.237
-2024-09-27 11:40:29.3343,1125.237,2,3,115.237
-2024-09-27 11:40:29.6460,1125.237,2,3,115.237
-2024-09-27 11:40:29.9599,1125.237,2,3,115.237
-2024-09-27 11:40:30.2750,1125.237,2,3,115.237
-2024-09-27 11:40:30.5847,1125.237,2,3,115.237
-2024-09-27 11:40:30.8988,1125.237,2,3,115.237
-2024-09-27 11:40:31.2084,1125.237,2,3,115.237
-2024-09-27 11:40:31.5231,1125.237,2,3,115.237
-2024-09-27 11:40:31.8375,1125.237,2,3,115.237
-2024-09-27 11:40:32.1489,1125.237,2,3,115.237
-2024-09-27 11:40:32.4614,1125.237,2,3,115.237
-2024-09-27 11:40:32.7734,1125.237,2,3,115.237
-2024-09-27 11:40:33.0857,1125.237,2,3,115.237
-2024-09-27 11:40:33.3980,1125.237,2,3,115.237
-2024-09-27 11:40:33.7095,1125.237,2,3,115.237
-2024-09-27 11:40:34.0221,1125.237,2,3,115.237
-2024-09-27 11:40:34.3342,1125.237,2,3,115.237
-2024-09-27 11:40:34.6495,1125.237,2,3,115.237
-2024-09-27 11:40:34.9600,1125.237,2,3,115.237
-2024-09-27 11:40:35.2722,1125.237,2,3,115.237
-2024-09-27 11:40:35.5864,1125.237,2,3,115.237
-2024-09-27 11:40:35.8981,1125.237,2,3,115.237
-2024-09-27 11:40:36.2098,1125.237,2,3,115.237
-2024-09-27 11:40:36.5220,1125.237,2,3,115.237
-2024-09-27 11:40:36.8367,1125.237,2,3,115.237
-2024-09-27 11:40:37.1484,1125.237,2,3,115.237
-2024-09-27 11:40:37.4619,1125.237,2,3,115.237
-2024-09-27 11:40:37.7730,1125.237,2,3,115.237
-2024-09-27 11:40:38.0849,1125.237,2,3,115.237
-2024-09-27 11:40:38.3959,1125.237,2,3,115.237
-2024-09-27 11:40:38.7081,1125.237,2,3,115.237
-2024-09-27 11:40:39.0232,1125.237,2,3,115.237
-2024-09-27 11:40:39.3345,1125.237,2,3,115.237
-2024-09-27 11:40:39.6491,1125.237,2,3,115.237
-2024-09-27 11:40:39.9593,1125.237,2,3,115.237
-2024-09-27 11:40:40.2735,1125.237,2,3,115.237
-2024-09-27 11:40:40.5860,1125.237,2,3,115.237
-2024-09-27 11:40:40.8977,1125.237,2,3,115.237
-2024-09-27 11:40:41.2106,1125.237,2,3,115.237
-2024-09-27 11:40:41.5219,1125.237,2,3,115.237
-2024-09-27 11:40:41.8340,1125.237,2,3,115.237
-2024-09-27 11:40:42.1460,1125.237,2,3,115.237
-2024-09-27 11:40:42.4592,1125.237,2,3,115.237
-2024-09-27 11:40:42.7732,1125.237,2,3,115.237
-2024-09-27 11:40:43.0858,1125.237,2,3,115.237
-2024-09-27 11:40:43.3986,1125.237,2,3,115.237
-2024-09-27 11:40:43.7089,1125.237,2,3,115.237
-2024-09-27 11:40:44.0216,1125.237,2,3,115.237
-2024-09-27 11:40:44.3344,1125.237,2,3,115.237
-2024-09-27 11:40:44.6458,1125.237,2,3,115.237
-2024-09-27 11:40:44.9584,1125.237,2,3,115.237
-2024-09-27 11:40:45.2730,1125.237,2,3,115.237
-2024-09-27 11:40:45.5843,1125.237,2,3,115.237
-2024-09-27 11:40:45.8958,1125.237,2,3,115.237
-2024-09-27 11:40:46.2086,1125.237,2,3,115.237
-2024-09-27 11:40:46.5207,1125.237,2,3,115.237
-2024-09-27 11:40:46.8333,1125.237,2,3,115.237
-2024-09-27 11:40:47.1496,1125.237,2,3,115.237
-2024-09-27 11:40:47.4599,1125.237,2,3,115.237
-2024-09-27 11:40:47.7732,1125.237,2,3,115.237
-2024-09-27 11:40:48.0837,1125.237,2,3,115.237
-2024-09-27 11:40:48.3976,1125.237,2,3,115.237
-2024-09-27 11:40:48.7108,1125.237,2,3,115.237
-2024-09-27 11:40:49.0213,1125.237,2,3,115.237
-2024-09-27 11:40:49.3348,1125.237,2,3,115.237
-2024-09-27 11:40:49.6487,1125.237,2,3,115.237
-2024-09-27 11:40:49.9602,1125.237,2,3,115.237
-2024-09-27 11:40:50.2712,1125.237,2,3,115.237
-2024-09-27 11:40:50.5839,1125.237,2,3,115.237
-2024-09-27 11:40:50.8963,1125.237,2,3,115.237
-2024-09-27 11:40:51.2094,1125.237,2,3,115.237
-2024-09-27 11:40:51.5232,1125.237,2,3,115.237
-2024-09-27 11:40:51.8363,1125.237,2,3,115.237
-2024-09-27 11:40:52.1491,1125.237,2,3,115.237
-2024-09-27 11:40:52.4603,1125.237,2,3,115.237
-2024-09-27 11:40:52.7724,1125.237,2,3,115.237
-2024-09-27 11:40:53.0851,1125.237,2,3,115.237
-2024-09-27 11:40:53.3953,1125.237,2,3,115.237
-2024-09-27 11:40:53.7080,1125.237,2,3,115.237
-2024-09-27 11:40:54.0227,1125.237,2,3,115.237
-2024-09-27 11:40:54.3352,1125.237,2,3,115.237
-2024-09-27 11:40:54.6489,1125.237,2,3,115.237
-2024-09-27 11:40:54.9574,1125.237,2,3,115.237
-2024-09-27 11:40:55.2723,1125.237,2,3,115.237
-2024-09-27 11:40:55.5863,1125.237,2,3,115.237
-2024-09-27 11:40:55.8973,1125.237,2,3,115.237
-2024-09-27 11:40:56.2079,1125.237,2,3,115.237
-2024-09-27 11:40:56.5223,1125.237,2,3,115.237
-2024-09-27 11:40:56.8343,1125.237,2,3,115.237
-2024-09-27 11:40:57.1461,1125.237,2,3,115.237
-2024-09-27 11:40:57.4587,1125.237,2,3,115.237
-2024-09-27 11:40:57.7717,1125.237,2,3,115.237
-2024-09-27 11:40:58.0849,1125.237,2,3,115.237
-2024-09-27 11:40:58.3964,1125.237,2,3,115.237
-2024-09-27 11:40:58.7101,1125.237,2,3,115.237
-2024-09-27 11:40:59.0203,1125.237,2,3,115.237
-2024-09-27 11:40:59.3348,1125.237,2,3,115.237
-2024-09-27 11:40:59.6451,1125.237,2,3,115.237
-2024-09-27 11:40:59.9593,1125.237,2,3,115.237
-2024-09-27 11:41:00.2709,1125.237,2,3,115.237
-2024-09-27 11:41:00.5849,1125.237,2,3,115.237
-2024-09-27 11:41:00.9005,1125.237,2,3,115.237
-2024-09-27 11:41:01.2112,1125.237,2,3,115.237
-2024-09-27 11:41:01.5228,1125.237,2,3,115.237
-2024-09-27 11:41:01.8335,1125.237,2,3,115.237
-2024-09-27 11:41:02.1478,1125.237,2,3,115.237
-2024-09-27 11:41:02.4599,1125.237,2,3,115.237
-2024-09-27 11:41:02.7737,1125.237,2,3,115.237
-2024-09-27 11:41:03.0839,1125.237,2,3,115.237
-2024-09-27 11:41:03.3980,1125.237,2,3,115.237
-2024-09-27 11:41:03.7094,1125.237,2,3,115.237
-2024-09-27 11:41:04.0200,1125.237,2,3,115.237
-2024-09-27 11:41:04.3343,1125.237,2,3,115.237
-2024-09-27 11:41:04.6463,1125.237,2,3,115.237
-2024-09-27 11:41:04.9612,1125.237,2,3,115.237
-2024-09-27 11:41:05.2731,1125.237,2,3,115.237
-2024-09-27 11:41:05.5839,1125.237,2,3,115.237
-2024-09-27 11:41:05.8956,1125.237,2,3,115.237
-2024-09-27 11:41:06.2091,1125.237,2,3,115.237
-2024-09-27 11:41:06.5228,1125.237,2,3,115.237
-2024-09-27 11:41:06.8330,1125.237,2,3,115.237
-2024-09-27 11:41:07.1476,1125.237,2,3,115.237
-2024-09-27 11:41:07.4612,1125.237,2,3,115.237
-2024-09-27 11:41:07.7707,1125.237,2,3,115.237
-2024-09-27 11:41:08.0837,1125.237,2,3,115.237
-2024-09-27 11:41:08.3967,1125.237,2,3,115.237
-2024-09-27 11:41:08.7112,1125.237,2,3,115.237
-2024-09-27 11:41:09.0224,1125.237,2,3,115.237
-2024-09-27 11:41:09.3360,1125.237,2,3,115.237
-2024-09-27 11:41:09.6461,1125.237,2,3,115.237
-2024-09-27 11:41:09.9600,1125.237,2,3,115.237
-2024-09-27 11:41:10.2705,1125.237,2,3,115.237
-2024-09-27 11:41:10.5835,1125.237,2,3,115.237
-2024-09-27 11:41:10.8974,1125.237,2,3,115.237
-2024-09-27 11:41:11.2077,1125.237,2,3,115.237
-2024-09-27 11:41:11.5232,1125.237,2,3,115.237
-2024-09-27 11:41:11.8347,1125.237,2,3,115.237
-2024-09-27 11:41:12.1453,1125.237,2,3,115.237
-2024-09-27 11:41:12.4605,1125.237,2,3,115.237
-2024-09-27 11:41:12.7715,1125.237,2,3,115.237
-2024-09-27 11:41:13.0856,1125.237,2,3,115.237
-2024-09-27 11:41:13.3968,1125.237,2,3,115.237
-2024-09-27 11:41:13.7079,1125.237,2,3,115.237
-2024-09-27 11:41:14.0214,1125.237,2,3,115.237
-2024-09-27 11:41:14.3335,1125.237,2,3,115.237
-2024-09-27 11:41:14.6466,1125.237,2,3,115.237
-2024-09-27 11:41:14.9580,1125.237,2,3,115.237
-2024-09-27 11:41:15.2700,1125.237,2,3,115.237
-2024-09-27 11:41:15.5836,1125.237,2,3,115.237
-2024-09-27 11:41:15.8960,1125.237,2,3,115.237
-2024-09-27 11:41:16.2106,1125.237,2,3,115.237
-2024-09-27 11:41:16.5198,1125.237,2,3,115.237
-2024-09-27 11:41:16.8326,1125.237,2,3,115.237
-2024-09-27 11:41:17.1457,1125.237,2,3,115.237
-2024-09-27 11:41:17.4580,1125.237,2,3,115.237
-2024-09-27 11:41:17.7703,1125.237,2,3,115.237
-2024-09-27 11:41:18.0841,1125.237,2,3,115.237
-2024-09-27 11:41:18.3965,1125.237,2,3,115.237
-2024-09-27 11:41:18.7110,1125.237,2,3,115.237
-2024-09-27 11:41:19.0214,1125.237,2,3,115.237
-2024-09-27 11:41:19.3322,1125.237,2,3,115.237
-2024-09-27 11:41:19.6460,1125.237,2,3,115.237
-2024-09-27 11:41:19.9566,1125.237,2,3,115.237
-2024-09-27 11:41:20.2716,1125.237,2,3,115.237
-2024-09-27 11:41:20.5862,1125.237,2,3,115.237
-2024-09-27 11:41:20.8977,1125.237,2,3,115.237
-2024-09-27 11:41:21.2093,1125.237,2,3,115.237
-2024-09-27 11:41:21.5202,1125.237,2,3,115.237
-2024-09-27 11:41:21.8338,1125.237,2,3,115.237
-2024-09-27 11:41:22.1474,1125.237,2,3,115.237
-2024-09-27 11:41:22.4574,1125.237,2,3,115.237
-2024-09-27 11:41:22.7717,1125.237,2,3,115.237
-2024-09-27 11:41:23.0842,1125.237,2,3,115.237
-2024-09-27 11:41:23.3949,1125.237,2,3,115.237
-2024-09-27 11:41:23.7090,1125.237,2,3,115.237
-2024-09-27 11:41:24.0202,1125.237,2,3,115.237
-2024-09-27 11:41:24.3326,1125.237,2,3,115.237
-2024-09-27 11:41:24.6451,1125.237,2,3,115.237
-2024-09-27 11:41:24.9596,1125.237,2,3,115.237
-2024-09-27 11:41:25.2700,1125.237,2,3,115.237
-2024-09-27 11:41:25.5837,1125.237,2,3,115.237
-2024-09-27 11:41:25.8965,1125.237,2,3,115.237
-2024-09-27 11:41:26.2082,1125.237,2,3,115.237
-2024-09-27 11:41:26.5224,1125.237,2,3,115.237
-2024-09-27 11:41:26.8334,1125.237,2,3,115.237
-2024-09-27 11:41:27.1502,1125.237,2,3,115.237
-2024-09-27 11:41:27.4584,1125.237,2,3,115.237
-2024-09-27 11:41:27.7727,1125.237,2,3,115.237
-2024-09-27 11:41:28.0836,1125.237,2,3,115.237
-2024-09-27 11:41:28.3968,1125.237,2,3,115.237
-2024-09-27 11:41:28.7091,1125.237,2,3,115.237
-2024-09-27 11:41:29.0234,1125.237,2,3,115.237
-2024-09-27 11:41:29.3345,1125.237,2,3,115.237
-2024-09-27 11:41:29.6472,1125.237,2,3,115.237
-2024-09-27 11:41:29.9605,1125.237,2,3,115.237
-2024-09-27 11:41:30.2708,1125.237,2,3,115.237
-2024-09-27 11:41:30.5840,1125.237,2,3,115.237
-2024-09-27 11:41:30.8947,1125.237,2,3,115.237
-2024-09-27 11:41:31.2100,1125.237,2,3,115.237
-2024-09-27 11:41:31.5234,1125.237,2,3,115.237
-2024-09-27 11:41:31.8344,1125.237,2,3,115.237
-2024-09-27 11:41:32.1447,1125.237,2,3,115.237
-2024-09-27 11:41:32.4581,1125.237,2,3,115.237
-2024-09-27 11:41:32.7718,1125.237,2,3,115.237
-2024-09-27 11:41:33.0854,1125.237,2,3,115.237
-2024-09-27 11:41:33.3955,1125.237,2,3,115.237
-2024-09-27 11:41:33.7098,1125.237,2,3,115.237
-2024-09-27 11:41:34.0221,1125.237,2,3,115.237
-2024-09-27 11:41:34.3336,1125.237,2,3,115.237
-2024-09-27 11:41:34.6446,1125.237,2,3,115.237
-2024-09-27 11:41:34.9586,1125.237,2,3,115.237
-2024-09-27 11:41:35.2716,1125.237,2,3,115.237
-2024-09-27 11:41:35.5836,1125.237,2,3,115.237
-2024-09-27 11:41:35.8984,1125.237,2,3,115.237
-2024-09-27 11:41:36.2086,1125.237,2,3,115.237
-2024-09-27 11:41:36.5199,1125.237,2,3,115.237
-2024-09-27 11:41:36.8348,1125.237,2,3,115.237
-2024-09-27 11:41:37.1474,1125.237,2,3,115.237
-2024-09-27 11:41:37.4589,1125.237,2,3,115.237
-2024-09-27 11:41:37.7716,1125.237,2,3,115.237
-2024-09-27 11:41:38.0838,1125.237,2,3,115.237
-2024-09-27 11:41:38.3961,1125.237,2,3,115.237
-2024-09-27 11:41:38.7091,1125.237,2,3,115.237
-2024-09-27 11:41:39.0212,1125.237,2,3,115.237
-2024-09-27 11:41:39.3343,1125.237,2,3,115.237
-2024-09-27 11:41:39.6468,1125.237,2,3,115.237
-2024-09-27 11:41:39.9581,1125.237,2,3,115.237
-2024-09-27 11:41:40.2705,1125.237,2,3,115.237
-2024-09-27 11:41:40.5825,1125.237,2,3,115.237
-2024-09-27 11:41:40.8953,1125.237,2,3,115.237
-2024-09-27 11:41:41.2086,1125.237,2,3,115.237
-2024-09-27 11:41:41.5205,1125.237,2,3,115.237
-2024-09-27 11:41:41.8327,1125.237,2,3,115.237
-2024-09-27 11:41:42.1473,1125.237,2,3,115.237
-2024-09-27 11:41:42.4600,1125.237,2,3,115.237
-2024-09-27 11:41:42.7720,1125.237,2,3,115.237
-2024-09-27 11:41:43.0821,1125.237,2,3,115.237
-2024-09-27 11:41:43.3947,1125.237,2,3,115.237
-2024-09-27 11:41:43.7091,1125.237,2,3,115.237
-2024-09-27 11:41:44.0245,1125.237,2,3,115.237
-2024-09-27 11:41:44.3321,1125.237,2,3,115.237
-2024-09-27 11:41:44.6480,1125.237,2,3,115.237
-2024-09-27 11:41:44.9603,1125.237,2,3,115.237
-2024-09-27 11:41:45.2738,1125.237,2,3,115.237
-2024-09-27 11:41:45.5826,1125.237,2,3,115.237
-2024-09-27 11:41:45.8959,1125.237,2,3,115.237
-2024-09-27 11:41:46.2085,1125.237,2,3,115.237
-2024-09-27 11:41:46.5215,1125.237,2,3,115.237
-2024-09-27 11:41:46.8359,1125.237,2,3,115.237
-2024-09-27 11:41:47.1448,1125.237,2,3,115.237
-2024-09-27 11:41:47.4586,1125.237,2,3,115.237
-2024-09-27 11:41:47.7700,1125.237,2,3,115.237
-2024-09-27 11:41:48.0851,1125.237,2,3,115.237
-2024-09-27 11:41:48.3962,1125.237,2,3,115.237
-2024-09-27 11:41:48.7105,1125.237,2,3,115.237
-2024-09-27 11:41:49.0218,1125.237,2,3,115.237
-2024-09-27 11:41:49.3335,1125.237,2,3,115.237
-2024-09-27 11:41:49.6455,1125.237,2,3,115.237
-2024-09-27 11:41:49.9582,1125.237,2,3,115.237
-2024-09-27 11:41:50.2713,1125.237,2,3,115.237
-2024-09-27 11:41:50.5833,1125.237,2,3,115.237
-2024-09-27 11:41:50.8956,1125.237,2,3,115.237
-2024-09-27 11:41:51.2091,1125.237,2,3,115.237
-2024-09-27 11:41:51.5213,1125.237,2,3,115.237
-2024-09-27 11:41:51.8336,1125.237,2,3,115.237
-2024-09-27 11:41:52.1469,1125.237,2,3,115.237
-2024-09-27 11:41:52.4607,1125.237,2,3,115.237
-2024-09-27 11:41:52.7707,1125.237,2,3,115.237
-2024-09-27 11:41:53.0820,1125.237,2,3,115.237
-2024-09-27 11:41:53.4003,1125.237,2,3,115.237
-2024-09-27 11:41:53.7085,1125.237,2,3,115.237
-2024-09-27 11:41:54.0203,1125.237,2,3,115.237
-2024-09-27 11:41:54.3350,1125.237,2,3,115.237
-2024-09-27 11:41:54.6467,1125.237,2,3,115.237
-2024-09-27 11:41:54.9589,1125.237,2,3,115.237
-2024-09-27 11:41:55.2734,1125.237,2,3,115.237
-2024-09-27 11:41:55.5867,1125.237,2,3,115.237
-2024-09-27 11:41:55.8966,1125.237,2,3,115.237
-2024-09-27 11:41:56.2084,1125.237,2,3,115.237
-2024-09-27 11:41:56.5193,1125.237,2,3,115.237
-2024-09-27 11:41:56.8320,1125.237,2,3,115.237
-2024-09-27 11:41:57.1481,1125.237,2,3,115.237
-2024-09-27 11:41:57.4575,1125.237,2,3,115.237
-2024-09-27 11:41:57.7729,1125.237,2,3,115.237
-2024-09-27 11:41:58.0834,1125.237,2,3,115.237
-2024-09-27 11:41:58.3950,1125.237,2,3,115.237
-2024-09-27 11:41:58.7104,1125.237,2,3,115.237
-2024-09-27 11:41:59.0201,1125.237,2,3,115.237
-2024-09-27 11:41:59.3357,1125.237,2,3,115.237
-2024-09-27 11:41:59.6464,1125.237,2,3,115.237
-2024-09-27 11:41:59.9618,1125.237,2,3,115.237
-2024-09-27 11:42:00.2725,1125.237,2,3,115.237
-2024-09-27 11:42:00.5842,1125.237,2,3,115.237
-2024-09-27 11:42:00.8974,1125.237,2,3,115.237
-2024-09-27 11:42:01.2106,1125.237,2,3,115.237
-2024-09-27 11:42:01.5211,1125.237,2,3,115.237
-2024-09-27 11:42:01.8341,1125.237,2,3,115.237
-2024-09-27 11:42:02.1491,1125.237,2,3,115.237
-2024-09-27 11:42:02.4572,1125.237,2,3,115.237
-2024-09-27 11:42:02.7708,1125.237,2,3,115.237
-2024-09-27 11:42:03.0832,1125.237,2,3,115.237
-2024-09-27 11:42:03.3942,1125.237,2,3,115.237
-2024-09-27 11:42:03.7097,1125.237,2,3,115.237
-2024-09-27 11:42:04.0205,1125.237,2,3,115.237
-2024-09-27 11:42:04.3366,1125.237,2,3,115.237
-2024-09-27 11:42:04.6447,1125.237,2,3,115.237
-2024-09-27 11:42:04.9591,1125.237,2,3,115.237
-2024-09-27 11:42:05.2731,1125.237,2,3,115.237
-2024-09-27 11:42:05.5857,1125.237,2,3,115.237
-2024-09-27 11:42:05.8949,1125.237,2,3,115.237
-2024-09-27 11:42:06.2079,1125.237,2,3,115.237
-2024-09-27 11:42:06.5225,1125.237,2,3,115.237
-2024-09-27 11:42:06.8349,1125.237,2,3,115.237
-2024-09-27 11:42:07.1469,1125.237,2,3,115.237
-2024-09-27 11:42:07.4571,1125.237,2,3,115.237
-2024-09-27 11:42:07.7706,1125.237,2,3,115.237
-2024-09-27 11:42:08.0836,1125.237,2,3,115.237
-2024-09-27 11:42:08.3991,1125.237,2,3,115.237
-2024-09-27 11:42:08.7078,1125.237,2,3,115.237
-2024-09-27 11:42:09.0200,1125.237,2,3,115.237
-2024-09-27 11:42:09.3332,1125.237,2,3,115.237
-2024-09-27 11:42:09.6477,1125.237,2,3,115.237
-2024-09-27 11:42:09.9585,1125.237,2,3,115.237
-2024-09-27 11:42:10.2717,1125.237,2,3,115.237
-2024-09-27 11:42:10.5818,1125.237,2,3,115.237
-2024-09-27 11:42:10.8979,1125.237,2,3,115.237
-2024-09-27 11:42:11.2081,1125.237,2,3,115.237
-2024-09-27 11:42:11.5202,1125.237,2,3,115.237
-2024-09-27 11:42:11.8327,1125.237,2,3,115.237
-2024-09-27 11:42:12.1447,1125.237,2,3,115.237
-2024-09-27 11:42:12.4595,1125.237,2,3,115.237
-2024-09-27 11:42:12.7693,1125.237,2,3,115.237
-2024-09-27 11:42:13.0849,1125.237,2,3,115.237
-2024-09-27 11:42:13.3960,1125.237,2,3,115.237
-2024-09-27 11:42:13.7080,1125.237,2,3,115.237
-2024-09-27 11:42:14.0192,1125.237,2,3,115.237
-2024-09-27 11:42:14.3350,1125.237,2,3,115.237
-2024-09-27 11:42:14.6448,1125.237,2,3,115.237
-2024-09-27 11:42:14.9599,1125.237,2,3,115.237
-2024-09-27 11:42:15.2728,1125.237,2,3,115.237
-2024-09-27 11:42:15.5828,1125.237,2,3,115.237
-2024-09-27 11:42:15.8975,1125.237,2,3,115.237
-2024-09-27 11:42:16.2073,1125.237,2,3,115.237
-2024-09-27 11:42:16.5220,1125.237,2,3,115.237
-2024-09-27 11:42:16.8353,1125.237,2,3,115.237
-2024-09-27 11:42:17.1444,1125.237,2,3,115.237
-2024-09-27 11:42:17.4591,1125.237,2,3,115.237
-2024-09-27 11:42:17.7730,1125.237,2,3,115.237
-2024-09-27 11:42:18.0824,1125.237,2,3,115.237
-2024-09-27 11:42:18.3962,1125.237,2,3,115.237
-2024-09-27 11:42:18.7085,1125.237,2,3,115.237
-2024-09-27 11:42:19.0192,1125.237,2,3,115.237
-2024-09-27 11:42:19.3327,1125.237,2,3,115.237
-2024-09-27 11:42:19.6492,1125.237,2,3,115.237
-2024-09-27 11:42:19.9584,1125.237,2,3,115.237
-2024-09-27 11:42:20.2704,1125.237,2,3,115.237
-2024-09-27 11:42:20.5862,1125.237,2,3,115.237
-2024-09-27 11:42:20.8968,1125.237,2,3,115.237
-2024-09-27 11:42:21.2066,1125.237,2,3,115.237
-2024-09-27 11:42:21.5220,1125.237,2,3,115.237
-2024-09-27 11:42:21.8355,1125.237,2,3,115.237
-2024-09-27 11:42:22.1457,1125.237,2,3,115.237
-2024-09-27 11:42:22.4596,1125.237,2,3,115.237
-2024-09-27 11:42:22.7710,1125.237,2,3,115.237
-2024-09-27 11:42:23.0833,1125.237,2,3,115.237
-2024-09-27 11:42:23.3978,1125.237,2,3,115.237
-2024-09-27 11:42:23.7093,1125.237,2,3,115.237
-2024-09-27 11:42:24.0210,1125.237,2,3,115.237
-2024-09-27 11:42:24.3317,1125.237,2,3,115.237
-2024-09-27 11:42:24.6481,1125.237,2,3,115.237
-2024-09-27 11:42:24.9580,1125.237,2,3,115.237
-2024-09-27 11:42:25.2720,1125.237,2,3,115.237
-2024-09-27 11:42:25.5821,1125.237,2,3,115.237
-2024-09-27 11:42:25.8961,1125.237,2,3,115.237
-2024-09-27 11:42:26.2080,1125.237,2,3,115.237
-2024-09-27 11:42:26.5214,1125.237,2,3,115.237
-2024-09-27 11:42:26.8331,1125.237,2,3,115.237
-2024-09-27 11:42:27.1444,1125.237,2,3,115.237
-2024-09-27 11:42:27.4565,1125.237,2,3,115.237
-2024-09-27 11:42:27.7713,1125.237,2,3,115.237
-2024-09-27 11:42:28.0826,1125.237,2,3,115.237
-2024-09-27 11:42:28.3962,1125.237,2,3,115.237
-2024-09-27 11:42:28.7074,1125.237,2,3,115.237
-2024-09-27 11:42:29.0205,1125.237,2,3,115.237
-2024-09-27 11:42:29.3322,1125.237,2,3,115.237
-2024-09-27 11:42:29.6476,1125.237,2,3,115.237
-2024-09-27 11:42:29.9602,1125.237,2,3,115.237
-2024-09-27 11:42:30.2720,1125.237,2,3,115.237
-2024-09-27 11:42:30.5853,1125.237,2,3,115.237
-2024-09-27 11:42:30.8972,1125.237,2,3,115.237
-2024-09-27 11:42:31.2081,1125.237,2,3,115.237
-2024-09-27 11:42:31.5195,1125.237,2,3,115.237
-2024-09-27 11:42:31.8324,1125.237,2,3,115.237
-2024-09-27 11:42:32.1477,1125.237,2,3,115.237
-2024-09-27 11:42:32.4580,1125.237,2,3,115.237
-2024-09-27 11:42:32.7706,1125.237,2,3,115.237
-2024-09-27 11:42:33.0831,1125.237,2,3,115.237
-2024-09-27 11:42:33.3962,1125.237,2,3,115.237
-2024-09-27 11:42:33.7079,1125.237,2,3,115.237
-2024-09-27 11:42:34.0222,1125.237,2,3,115.237
-2024-09-27 11:42:34.3335,1125.237,2,3,115.237
-2024-09-27 11:42:34.6444,1125.237,2,3,115.237
-2024-09-27 11:42:34.9619,1125.237,2,3,115.237
-2024-09-27 11:42:35.2718,1125.237,2,3,115.237
-2024-09-27 11:42:35.5828,1125.237,2,3,115.237
-2024-09-27 11:42:35.8952,1125.237,2,3,115.237
-2024-09-27 11:42:36.2082,1125.237,2,3,115.237
-2024-09-27 11:42:36.5230,1125.237,2,3,115.237
-2024-09-27 11:42:36.8348,1125.237,2,3,115.237
-2024-09-27 11:42:37.1468,1125.237,2,3,115.237
-2024-09-27 11:42:37.4565,1125.237,2,3,115.237
-2024-09-27 11:42:37.7705,1125.237,2,3,115.237
-2024-09-27 11:42:38.0835,1125.237,2,3,115.237
-2024-09-27 11:42:38.3973,1125.237,2,3,115.237
-2024-09-27 11:42:38.7064,1125.237,2,3,115.237
-2024-09-27 11:42:39.0196,1125.237,2,3,115.237
-2024-09-27 11:42:39.3370,1125.237,2,3,115.237
-2024-09-27 11:42:39.6454,1125.237,2,3,115.237
-2024-09-27 11:42:39.9572,1125.237,2,3,115.237
-2024-09-27 11:42:40.2721,1125.237,2,3,115.237
-2024-09-27 11:42:40.5835,1125.237,2,3,115.237
-2024-09-27 11:42:40.8966,1125.237,2,3,115.237
-2024-09-27 11:42:41.2098,1125.237,2,3,115.237
-2024-09-27 11:42:41.5237,1125.237,2,3,115.237
-2024-09-27 11:42:41.8324,1125.237,2,3,115.237
-2024-09-27 11:42:42.1462,1125.237,2,3,115.237
-2024-09-27 11:42:42.4589,1125.237,2,3,115.237
-2024-09-27 11:42:42.7700,1125.237,2,3,115.237
-2024-09-27 11:42:43.0821,1125.237,2,3,115.237
-2024-09-27 11:42:43.3944,1125.237,2,3,115.237
-2024-09-27 11:42:43.7083,1125.237,2,3,115.237
-2024-09-27 11:42:44.0215,1125.237,2,3,115.237
-2024-09-27 11:42:44.3315,1125.237,2,3,115.237
-2024-09-27 11:42:44.6458,1125.237,2,3,115.237
-2024-09-27 11:42:44.9612,1125.237,2,3,115.237
-2024-09-27 11:42:45.2721,1125.237,2,3,115.237
-2024-09-27 11:42:45.5825,1125.237,2,3,115.237
-2024-09-27 11:42:45.8958,1125.237,2,3,115.237
-2024-09-27 11:42:46.2080,1125.237,2,3,115.237
-2024-09-27 11:42:46.5193,1125.237,2,3,115.237
-2024-09-27 11:42:46.8351,1125.237,2,3,115.237
-2024-09-27 11:42:47.1473,1125.237,2,3,115.237
-2024-09-27 11:42:47.4570,1125.237,2,3,115.237
-2024-09-27 11:42:47.7695,1125.237,2,3,115.237
-2024-09-27 11:42:48.0825,1125.237,2,3,115.237
-2024-09-27 11:42:48.3958,1125.237,2,3,115.237
-2024-09-27 11:42:48.7076,1125.237,2,3,115.237
-2024-09-27 11:42:49.0211,1125.237,2,3,115.237
-2024-09-27 11:42:49.3314,1125.237,2,3,115.237
-2024-09-27 11:42:49.6454,1125.237,2,3,115.237
-2024-09-27 11:42:49.9590,1125.237,2,3,115.237
-2024-09-27 11:42:50.2721,1125.237,2,3,115.237
-2024-09-27 11:42:50.5826,1125.237,2,3,115.237
-2024-09-27 11:42:50.8953,1125.237,2,3,115.237
-2024-09-27 11:42:51.2083,1125.237,2,3,115.237
-2024-09-27 11:42:51.5194,1125.237,2,3,115.237
-2024-09-27 11:42:51.8341,1125.237,2,3,115.237
-2024-09-27 11:42:52.1465,1125.237,2,3,115.237
-2024-09-27 11:42:52.4596,1125.237,2,3,115.237
-2024-09-27 11:42:52.7702,1125.237,2,3,115.237
-2024-09-27 11:42:53.0840,1125.237,2,3,115.237
-2024-09-27 11:42:53.3974,1125.237,2,3,115.237
-2024-09-27 11:42:53.7069,1125.237,2,3,115.237
-2024-09-27 11:42:54.0189,1125.237,2,3,115.237
-2024-09-27 11:42:54.3331,1125.237,2,3,115.237
-2024-09-27 11:42:54.6484,1125.237,2,3,115.237
-2024-09-27 11:42:54.9573,1125.237,2,3,115.237
-2024-09-27 11:42:55.2717,1125.237,2,3,115.237
-2024-09-27 11:42:55.5827,1125.237,2,3,115.237
-2024-09-27 11:42:55.8954,1125.237,2,3,115.237
-2024-09-27 11:42:56.2070,1125.237,2,3,115.237
-2024-09-27 11:42:56.5218,1125.237,2,3,115.237
-2024-09-27 11:42:56.8336,1125.237,2,3,115.237
-2024-09-27 11:42:57.1482,1125.237,2,3,115.237
-2024-09-27 11:42:57.4586,1125.237,2,3,115.237
-2024-09-27 11:42:57.7689,1125.237,2,3,115.237
-2024-09-27 11:42:58.0812,1125.237,2,3,115.237
-2024-09-27 11:42:58.3953,1125.237,2,3,115.237
-2024-09-27 11:42:58.7067,1125.237,2,3,115.237
-2024-09-27 11:42:59.0232,1125.237,2,3,115.237
-2024-09-27 11:42:59.3347,1125.237,2,3,115.237
-2024-09-27 11:42:59.6450,1125.237,2,3,115.237
-2024-09-27 11:42:59.9572,1125.237,2,3,115.237
-2024-09-27 11:43:00.2696,1125.237,2,3,115.237
-2024-09-27 11:43:00.5822,1125.237,2,3,115.237
-2024-09-27 11:43:00.8973,1125.237,2,3,115.237
-2024-09-27 11:43:01.2111,1125.237,2,3,115.237
-2024-09-27 11:43:01.5199,1125.237,2,3,115.237
-2024-09-27 11:43:01.8345,1125.237,2,3,115.237
-2024-09-27 11:43:02.1472,1125.237,2,3,115.237
-2024-09-27 11:43:02.4579,1125.237,2,3,115.237
-2024-09-27 11:43:02.7696,1125.237,2,3,115.237
-2024-09-27 11:43:03.2643,1125.237,2,3,115.237
-2024-09-27 11:43:03.5693,1125.237,2,3,115.237
-2024-09-27 11:43:03.8782,1125.237,2,3,115.237
-2024-09-27 11:43:04.1920,1125.237,2,3,115.237
-2024-09-27 11:43:04.5077,1125.237,2,3,115.237
-2024-09-27 11:43:04.8184,1125.237,2,3,115.237
-2024-09-27 11:43:05.1303,1125.237,2,3,115.237
-2024-09-27 11:43:05.4422,1125.237,2,3,115.237
diff --git a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini
index 7a676df..14d8012 100644
--- a/Analysis/bin/x64/Debug/File/AnalysisConfig.ini
+++ b/Analysis/bin/x64/Debug/File/AnalysisConfig.ini
@@ -9,27 +9,19 @@ RememberMe=1
NextsenseCSVEH3Path=D:\cherytestEH3
NextsenseCSVEHYPath=D:\cherytestEHY
NextseneSelfMeasurePath=D:\test
-FPY=0.8
-FPY2=0.6
ReportCSVPath=D:\QMLTest
CLMSModeID=10
;1:CLMS授权
AuthorizationMode=1
-;CarModel 初始化车型
-CarModel=EHY
-EquipmentNo=NS002
-EquipmentName=Hexagon
+
;1:上传IOT;0:不上传IOT
StartIOTFlag=0
IOTAddress=http://10.188.2.56:9337/web/httpServlet/api/saveGfResult
IOTCarTypeAddr=http://10.188.2.56:9337/web/httpServlet/api/queryGFModelAndMaterial
-;显示车身数据:1:显示;0:不显示
-ShowDataFlag=1
-;L显示左侧车身界面;R-显示右侧车身界面
-ShowData=R
+
TolerancePercentage=1.5
ExceptionPercentage=6
@@ -40,8 +32,7 @@ Password=1
CreateReportFlag=1
;1:解析csv 0:不解析
AnalysisCSVFlag=1
-;1-打印编码器log;0-不打印
-RecordEncoderFlag=0
+
;1-计算合格率时包含极差项 ;0-不包含
IncludeRangeFlag=1
@@ -70,7 +61,7 @@ TimerRefreshCMMStatus=3
[MSDB]
SqlServerName=127.0.0.1
-SqlDbName=NextSenseStandardDB
+SqlDbName=CJLR
SqlUserName=sa
SqlPassword=Hexagon123
diff --git a/Analysis/bin/x64/Debug/NLog.config b/Analysis/bin/x64/Debug/NLog.config
index 3cfa512..c43a78a 100644
--- a/Analysis/bin/x64/Debug/NLog.config
+++ b/Analysis/bin/x64/Debug/NLog.config
@@ -49,7 +49,7 @@
-
+
insert into TLogInfo(LogTime,LogLevel,LogMessage,LogAction,LogAmount,LogStackTrack) values (@LogTime, @LogLevel, @LogMessage,@LogAction,@LogAmount, @LogStackTrack);
diff --git a/Analysis/bin/x64/Debug/NSAnalysis.exe b/Analysis/bin/x64/Debug/NSAnalysis.exe
index cdbd947..08e335f 100644
Binary files a/Analysis/bin/x64/Debug/NSAnalysis.exe and b/Analysis/bin/x64/Debug/NSAnalysis.exe differ
diff --git a/Analysis/bin/x64/Debug/NSAnalysis.pdb b/Analysis/bin/x64/Debug/NSAnalysis.pdb
index 468a045..b52863d 100644
Binary files a/Analysis/bin/x64/Debug/NSAnalysis.pdb and b/Analysis/bin/x64/Debug/NSAnalysis.pdb differ
diff --git a/Analysis/bin/x64/Debug/PLCModule.dll.config b/Analysis/bin/x64/Debug/PLCModule.dll.config
deleted file mode 100644
index 2c3f83c..0000000
--- a/Analysis/bin/x64/Debug/PLCModule.dll.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Analysis/bin/x64/Debug/PLCModule.pdb b/Analysis/bin/x64/Debug/PLCModule.pdb
deleted file mode 100644
index 1fce5fb..0000000
Binary files a/Analysis/bin/x64/Debug/PLCModule.pdb and /dev/null differ
diff --git a/Analysis/bin/x64/Debug/logs/2024-09-21.log b/Analysis/bin/x64/Debug/logs/2024-09-21.log
deleted file mode 100644
index 9a13cb5..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-09-21.log
+++ /dev/null
@@ -1,48 +0,0 @@
-2024-09-21 17:00:55.9019 [INFO] : --软件Program Main函数开始执行--
-2024-09-21 17:00:55.9250 [INFO] : 加载配置文件——>开始
-2024-09-21 17:00:55.9461 [INFO] : 加载配置文件——>完成
-2024-09-21 17:00:55.9461 [INFO] : Log in using the CLMS authorization.
-2024-09-21 17:00:59.7480 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-21 17:01:01.2389 [INFO] : 启动PLC写线程!
-2024-09-21 17:01:01.2389 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-21 17:01:01.2389 [INFO] : 连接PLC....
-2024-09-21 17:01:01.2389 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-21 17:01:01.2389 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-21 17:01:02.1187 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:01:02.2865 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-21 17:01:02.4696 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:01:03.6923 [ERROR] : PLC S7连接失败。
-2024-09-21 17:01:03.7065 [ERROR] : 连接PLC失败
-2024-09-21 17:02:51.3391 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-21 17:48:29.8048 [INFO] : --软件Program Main函数开始执行--
-2024-09-21 17:48:29.8244 [INFO] : 加载配置文件——>开始
-2024-09-21 17:48:29.8454 [INFO] : 加载配置文件——>完成
-2024-09-21 17:48:29.8454 [INFO] : Log in using the CLMS authorization.
-2024-09-21 17:48:32.2503 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-21 17:48:32.9998 [INFO] : 启动PLC写线程!
-2024-09-21 17:48:32.9998 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-21 17:48:32.9998 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-21 17:48:32.9998 [INFO] : 连接PLC....
-2024-09-21 17:48:32.9998 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-21 17:48:33.6655 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:48:33.8172 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-21 17:48:34.0023 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:48:35.0265 [ERROR] : PLC S7连接失败。
-2024-09-21 17:48:35.0265 [ERROR] : 连接PLC失败
-2024-09-21 17:51:57.4352 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-21 17:52:26.0157 [INFO] : --软件Program Main函数开始执行--
-2024-09-21 17:52:26.0316 [INFO] : 加载配置文件——>开始
-2024-09-21 17:52:26.0486 [INFO] : 加载配置文件——>完成
-2024-09-21 17:52:26.0486 [INFO] : Log in using the CLMS authorization.
-2024-09-21 17:52:28.6580 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-21 17:52:29.8033 [INFO] : 启动PLC写线程!
-2024-09-21 17:52:29.8033 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-21 17:52:29.8043 [INFO] : 连接PLC....
-2024-09-21 17:52:29.8043 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-21 17:52:29.8043 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-21 17:52:30.4382 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:52:30.5932 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-21 17:52:30.7444 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-21 17:52:31.8313 [ERROR] : PLC S7连接失败。
-2024-09-21 17:52:31.8313 [ERROR] : 连接PLC失败
-2024-09-21 17:54:17.2184 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-09-23.log b/Analysis/bin/x64/Debug/logs/2024-09-23.log
deleted file mode 100644
index e94d269..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-09-23.log
+++ /dev/null
@@ -1,52 +0,0 @@
-2024-09-23 08:58:35.8137 [INFO] : --软件Program Main函数开始执行--
-2024-09-23 08:58:35.8137 [INFO] : 加载配置文件——>开始
-2024-09-23 08:58:35.8362 [INFO] : 加载配置文件——>完成
-2024-09-23 08:58:35.8362 [INFO] : Log in using the CLMS authorization.
-2024-09-23 08:58:37.5700 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-23 08:58:38.3574 [INFO] : 启动PLC写线程!
-2024-09-23 08:58:38.3574 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-23 08:58:38.3574 [INFO] : 连接PLC....
-2024-09-23 08:58:38.3574 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-23 08:58:38.3574 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-23 08:58:38.8978 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 08:58:38.9786 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-23 08:58:39.0958 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 08:58:40.4005 [ERROR] : PLC S7连接失败。
-2024-09-23 08:58:40.4005 [ERROR] : 连接PLC失败
-2024-09-23 08:58:48.1574 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 08:58:48.7524 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 08:58:49.0584 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 09:01:45.3858 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-23 09:01:49.8169 [INFO] : --软件Program Main函数开始执行--
-2024-09-23 09:01:49.8169 [INFO] : 加载配置文件——>开始
-2024-09-23 09:01:49.8309 [INFO] : 加载配置文件——>完成
-2024-09-23 09:01:49.8309 [INFO] : Log in using the CLMS authorization.
-2024-09-23 09:01:51.3166 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-23 09:01:51.7625 [INFO] : 启动PLC写线程!
-2024-09-23 09:01:51.7625 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-23 09:01:51.7625 [INFO] : 连接PLC....
-2024-09-23 09:01:51.7625 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-23 09:01:51.7625 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-23 09:01:52.3728 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 09:01:52.4631 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-23 09:01:52.5773 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 09:01:53.8034 [ERROR] : PLC S7连接失败。
-2024-09-23 09:01:53.8034 [ERROR] : 连接PLC失败
-2024-09-23 09:02:03.0005 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-23 13:40:50.7856 [INFO] : --软件Program Main函数开始执行--
-2024-09-23 13:40:50.7976 [INFO] : 加载配置文件——>开始
-2024-09-23 13:40:50.8095 [INFO] : 加载配置文件——>完成
-2024-09-23 13:40:50.8095 [INFO] : Log in using the CLMS authorization.
-2024-09-23 13:40:52.6730 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-23 13:40:53.3877 [INFO] : 启动PLC写线程!
-2024-09-23 13:40:53.3877 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-23 13:40:53.3877 [INFO] : 连接PLC....
-2024-09-23 13:40:53.3877 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-23 13:40:53.3877 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-23 13:40:53.9235 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 13:40:54.0187 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-23 13:40:54.1578 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 13:40:55.4907 [ERROR] : PLC S7连接失败。
-2024-09-23 13:40:55.4907 [ERROR] : 连接PLC失败
-2024-09-23 13:40:59.5166 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-23 13:41:15.9000 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-09-27.log b/Analysis/bin/x64/Debug/logs/2024-09-27.log
deleted file mode 100644
index 5686626..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-09-27.log
+++ /dev/null
@@ -1,1494 +0,0 @@
-2024-09-27 09:57:25.9808 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 09:57:25.9808 [INFO] : 加载配置文件——>开始
-2024-09-27 09:57:26.0052 [INFO] : 加载配置文件——>完成
-2024-09-27 09:57:26.0052 [INFO] : Log in using the CLMS authorization.
-2024-09-27 09:57:28.4030 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 09:57:29.5607 [INFO] : 启动PLC写线程!
-2024-09-27 09:57:29.5607 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 09:57:29.5607 [INFO] : 连接PLC....
-2024-09-27 09:57:29.5607 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 09:57:29.5607 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 09:57:30.1513 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 09:57:30.3503 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 09:57:30.4862 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 09:57:31.6407 [ERROR] : PLC S7连接失败。
-2024-09-27 09:57:31.6407 [ERROR] : 连接PLC失败
-2024-09-27 10:09:58.9966 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 10:58:01.1809 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 10:58:01.1974 [INFO] : 加载配置文件——>开始
-2024-09-27 10:58:01.2175 [INFO] : 加载配置文件——>完成
-2024-09-27 10:58:01.2196 [INFO] : Log in using the CLMS authorization.
-2024-09-27 10:58:03.4360 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 10:58:04.2843 [INFO] : 启动PLC写线程!
-2024-09-27 10:58:04.2843 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 10:58:04.2843 [INFO] : 连接PLC....
-2024-09-27 10:58:04.2843 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 10:58:04.2843 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 10:58:04.9036 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 10:58:05.1041 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 10:58:05.2593 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 10:58:06.3002 [ERROR] : PLC S7连接失败。
-2024-09-27 10:58:06.3002 [ERROR] : 连接PLC失败
-2024-09-27 10:59:44.8132 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 10:59:49.7419 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 10:59:49.7544 [INFO] : 加载配置文件——>开始
-2024-09-27 10:59:49.7544 [INFO] : 加载配置文件——>完成
-2024-09-27 10:59:49.7544 [INFO] : Log in using the CLMS authorization.
-2024-09-27 10:59:51.4852 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 10:59:52.1391 [INFO] : 启动PLC写线程!
-2024-09-27 10:59:52.1391 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 10:59:52.1391 [INFO] : 连接PLC....
-2024-09-27 10:59:52.1391 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 10:59:52.1391 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 10:59:52.7591 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 10:59:52.9505 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 10:59:53.1196 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 10:59:54.1537 [ERROR] : PLC S7连接失败。
-2024-09-27 10:59:54.1537 [ERROR] : 连接PLC失败
-2024-09-27 11:10:37.7048 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 11:29:50.3128 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 11:29:50.3296 [INFO] : 加载配置文件——>开始
-2024-09-27 11:29:50.3475 [INFO] : 加载配置文件——>完成
-2024-09-27 11:29:50.3475 [INFO] : Log in using the CLMS authorization.
-2024-09-27 11:29:52.6833 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 11:29:53.9108 [INFO] : 启动PLC写线程!
-2024-09-27 11:29:53.9108 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 11:29:53.9108 [INFO] : 连接PLC....
-2024-09-27 11:29:53.9108 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 11:29:53.9108 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 11:29:54.4845 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:29:54.7014 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 11:29:54.8315 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:29:55.9291 [ERROR] : PLC S7连接失败。
-2024-09-27 11:29:55.9291 [ERROR] : 连接PLC失败
-2024-09-27 11:31:57.0780 [INFO] : 启动PLC写线程!
-2024-09-27 11:31:57.0780 [INFO] : 连接PLC....
-2024-09-27 11:31:57.0780 [INFO] : PLC S7连接成功。
-2024-09-27 11:31:57.0890 [INFO] : 连接PLC成功
-2024-09-27 11:31:57.4230 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:57.7340 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:58.0457 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:58.3539 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:58.6687 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:58.9832 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:59.2927 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:59.6054 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:31:59.9194 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:00.2303 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:00.5435 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:00.8587 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:01.1687 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:01.4818 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:01.7945 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:02.1081 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:02.4168 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:02.7306 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:03.0456 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:03.3575 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:03.6702 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:03.9800 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:04.2941 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:04.6051 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:04.9201 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:05.2311 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:05.5431 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:05.8556 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:06.1681 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:06.4842 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:06.7927 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:07.1052 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:07.4202 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:07.7308 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:08.0426 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:08.3558 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:08.6690 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:08.9828 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:09.2944 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:09.6076 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:09.9187 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:10.2298 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:10.5434 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:10.8569 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:11.1683 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:11.4809 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:11.7934 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:12.1085 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:12.4197 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:12.7319 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:13.0452 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:13.3548 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:13.6709 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:13.9815 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:14.2944 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:14.6075 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:14.9201 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:15.2313 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:15.5433 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:15.8574 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:16.1704 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:16.4820 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:16.7938 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:17.1070 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:17.4210 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:17.7334 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:18.0434 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:18.3561 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:18.6673 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:18.9805 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:19.2932 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:19.6092 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:19.9186 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:20.2305 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:20.5465 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:20.8560 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:21.1687 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:21.4815 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:21.7948 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:22.1087 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:22.4187 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:22.7306 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:23.0429 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:23.3549 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:23.6705 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:23.9834 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:24.2934 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:24.6078 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:24.9176 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:25.2330 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:25.5461 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:25.8563 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:26.1693 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:26.4804 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:26.7929 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:27.1053 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:27.4184 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:27.7330 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:28.0462 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:28.3592 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:28.6670 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:28.9803 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:29.2950 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:29.6066 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:29.9175 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:30.2326 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:30.5448 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:30.8570 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:31.1695 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:31.4822 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:31.7924 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:32.1059 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:32.4183 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:32.7356 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:33.0459 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:33.3590 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:33.6681 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:33.9801 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:34.2930 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:34.6049 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:34.9206 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:35.2310 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:35.5464 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:35.8582 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:36.1675 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:36.4832 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:36.7936 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:37.1082 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:37.4189 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:37.7311 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:38.0416 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:38.3544 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:38.6699 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:38.9798 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:39.2939 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:39.6070 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:39.9177 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:40.2327 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:40.5439 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:40.8559 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:41.1677 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:41.4849 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:41.7934 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:42.1053 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:42.4182 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:42.7317 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:43.0472 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:43.3587 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:43.6686 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:43.9822 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:44.2955 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:44.6050 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:44.9174 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:45.2301 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:45.5439 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:45.8564 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:46.1690 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:46.4801 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:46.7950 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:47.1047 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:47.4178 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:47.7336 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:48.0434 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:48.3578 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:48.6688 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:48.9810 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:49.2936 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:49.6063 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:49.9193 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:50.2328 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:50.5441 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:50.8556 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:51.1680 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:51.4803 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:51.7937 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:52.1071 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:52.4207 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:52.7314 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:53.0439 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:53.3557 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:53.6703 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:53.9821 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:54.2937 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:54.6075 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:54.9184 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:55.2297 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:55.5425 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:55.8548 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:56.1673 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:56.4799 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:56.7944 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:57.1066 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:57.4194 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:57.7326 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:58.0453 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:58.3559 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:58.6686 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:58.9817 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:59.2921 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:59.6060 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:32:59.9184 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:00.2303 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:00.5422 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:00.8552 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:01.1686 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:01.4799 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:01.7940 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:02.1058 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:02.4177 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:02.7298 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:03.0433 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:03.3557 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:03.6707 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:03.9818 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:04.2932 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:04.6052 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:04.9183 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:05.2315 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:05.5441 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:05.8558 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:06.1692 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:06.4826 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:06.7931 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:07.1060 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:07.4193 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:07.7316 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:08.0433 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:08.3573 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:08.6694 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:08.9801 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:09.2953 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:09.6051 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:09.9204 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:10.2316 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:10.5452 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:10.8548 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:11.1685 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:11.4809 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:11.7929 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:12.1068 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:12.4175 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:12.7319 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:13.0454 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:13.3548 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:13.6677 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:13.9825 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:14.2943 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:14.6066 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:14.9180 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:15.2325 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:15.5438 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:15.8581 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:16.1670 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:16.4821 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:16.7928 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:17.1049 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:17.4181 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:17.7291 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:18.0447 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:18.3562 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:18.6717 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:18.9843 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:19.2937 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:19.6062 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:19.9173 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:20.2300 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:20.5427 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:20.8567 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:21.1682 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:21.4812 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:21.7926 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:22.1060 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:22.4180 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:22.7333 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:23.0445 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:23.3551 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:23.6680 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:23.9824 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:24.2939 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:24.6066 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:24.9187 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:25.2313 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:25.5422 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:25.8565 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:26.1693 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:26.4806 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:26.7920 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:27.1046 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:27.4216 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:27.7303 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:28.0448 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:28.3549 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:28.6673 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:28.9808 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:29.2933 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:29.6085 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:29.9185 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:30.2322 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:30.5437 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:30.8560 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:31.1674 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:31.4823 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:31.7930 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:32.1051 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:32.4186 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:32.7323 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:33.0433 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:33.3567 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:33.6712 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:33.9854 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:34.2955 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:34.6056 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:34.9172 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:35.2308 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:35.5421 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:35.8564 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:36.1693 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:36.4826 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:36.7949 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:37.1053 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:37.4195 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:37.7323 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:38.0425 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:38.3572 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:38.6682 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:38.9813 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:39.2956 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:39.6057 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:39.9179 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:40.2325 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:40.5466 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:40.8564 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:41.1672 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:41.4818 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:41.7919 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:42.1061 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:42.4213 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:42.7311 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:43.0421 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:43.3544 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:43.6686 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:43.9802 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:44.2959 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:44.6049 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:44.9216 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:45.2300 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:45.5421 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:45.8578 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:46.1675 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:46.4818 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:46.7931 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:47.1086 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:47.4175 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:47.7324 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:48.0423 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:48.3565 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:48.6700 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:48.9807 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:49.2944 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:49.6045 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:49.9174 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:50.2304 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:50.5459 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:50.8557 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:51.1676 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:51.4824 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:51.7930 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:52.1045 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:52.4168 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:52.7328 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:53.0437 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:53.3565 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:53.6702 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:53.9802 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:54.2928 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:54.6064 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:54.9177 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:55.2297 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:55.5421 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:55.8559 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:56.1699 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:56.4833 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:56.7931 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:57.1060 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:57.4202 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:57.7297 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:58.0447 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:58.3554 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:58.6680 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:58.9807 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:59.2944 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:59.6070 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:33:59.9194 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:00.2332 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:00.5418 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:00.8560 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:01.1670 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:01.4817 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:01.7945 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:02.1064 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:02.4182 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:02.7337 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:03.0461 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:03.3568 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:03.6687 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:03.9807 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:04.2920 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:04.6054 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:04.9205 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:05.2315 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:05.5456 [FATAL] : -1,-1,-1,-1
-2024-09-27 11:34:05.7753 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 11:34:10.6407 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 11:34:10.6548 [INFO] : 加载配置文件——>开始
-2024-09-27 11:34:10.6548 [INFO] : 加载配置文件——>完成
-2024-09-27 11:34:10.6548 [INFO] : Log in using the CLMS authorization.
-2024-09-27 11:34:12.4358 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 11:34:13.2403 [INFO] : 启动PLC写线程!
-2024-09-27 11:34:13.2403 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 11:34:13.2403 [INFO] : 连接PLC....
-2024-09-27 11:34:13.2403 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 11:34:13.2403 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 11:34:13.2569 [INFO] : PLC S7连接成功。
-2024-09-27 11:34:13.3950 [INFO] : 连接PLC成功
-2024-09-27 11:34:13.8105 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:34:14.0092 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 11:34:14.1560 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:14.2022 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:34:14.4640 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:14.7781 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:15.0902 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:15.4036 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:15.7137 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:16.0252 [FATAL] : 2.64299988746643,3.48300004005432,0,0
-2024-09-27 11:34:16.3524 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 11:37:55.4831 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 11:37:55.5024 [INFO] : 加载配置文件——>开始
-2024-09-27 11:37:55.5082 [INFO] : 加载配置文件——>完成
-2024-09-27 11:37:55.5082 [INFO] : Log in using the CLMS authorization.
-2024-09-27 11:37:58.0775 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 11:38:02.7190 [INFO] : 启动PLC写线程!
-2024-09-27 11:38:02.7190 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 11:38:02.7190 [INFO] : 连接PLC....
-2024-09-27 11:38:02.7190 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 11:38:02.7190 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 11:38:02.7429 [INFO] : PLC S7连接成功。
-2024-09-27 11:38:02.9123 [INFO] : 连接PLC成功
-2024-09-27 11:38:03.2860 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:38:06.6803 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 11:38:12.1539 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:12.1812 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 11:38:12.4648 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:12.7780 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:13.0880 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:13.4020 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:13.7121 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:14.0272 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:14.3376 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:14.6516 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:14.9626 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:15.2741 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:15.5873 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:15.9019 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:16.2117 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:16.5243 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:16.8406 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:17.1494 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:17.4627 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:17.7754 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:18.0891 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:18.4009 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:18.7127 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:19.0284 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:19.3359 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:19.6513 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:19.9629 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:20.2777 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:20.5886 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:20.9022 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:21.2134 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:21.5270 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:21.8371 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:22.1514 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:22.4623 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:22.7774 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:23.0862 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:23.3999 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:23.7119 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:24.0266 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:24.3371 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:24.6511 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:24.9627 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:25.2761 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:25.5871 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:25.8988 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:26.2130 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:26.5270 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:26.8360 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:27.1516 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:27.4619 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:27.7771 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:28.0883 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:28.3985 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:28.7111 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:29.0257 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:29.3379 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:29.6499 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:29.9624 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:30.2754 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:30.5869 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:30.9022 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:31.2139 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:31.5248 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:31.8394 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:32.1512 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:32.4607 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:32.7748 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:33.0886 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:33.3998 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:33.7115 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:34.0271 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:34.3382 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:34.6487 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:34.9626 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:35.2754 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:35.5888 [FATAL] : 1,2,3,15.237
-2024-09-27 11:38:35.8994 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:36.2117 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:36.5282 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:36.8361 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:37.1530 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:37.4637 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:37.7752 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:38.0869 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:38.3984 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:38.7124 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:39.0248 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:39.3380 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:39.6482 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:39.9613 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:40.2748 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:40.5860 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:40.9005 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:41.2146 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:41.5246 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:41.8367 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:42.1505 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:42.4616 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:42.7760 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:43.0865 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:43.3998 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:43.7101 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:44.0233 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:44.3379 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:44.6498 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:44.9633 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:45.2785 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:45.5856 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:45.8990 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:46.2109 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:46.5251 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:46.8381 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:47.1483 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:47.4623 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:47.7764 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:48.0855 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:48.3999 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:48.7125 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:49.0233 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:49.3372 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:49.6496 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:49.9606 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:50.2728 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:50.5868 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:50.8985 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:51.2111 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:51.5265 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:51.8367 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:52.1507 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:52.4606 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:52.7737 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:53.0864 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:53.4027 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:53.7148 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:54.0261 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:54.3356 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:54.6498 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:54.9615 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:55.2753 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:55.5884 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:55.9010 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:56.2145 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:56.5268 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:56.8364 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:57.1490 [FATAL] : 1,2,3,115.237
-2024-09-27 11:38:57.4632 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:57.7728 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:58.0870 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:58.4004 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:58.7111 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:59.0228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:59.3378 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:59.6494 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:38:59.9627 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:00.2729 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:00.5879 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:00.8978 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:01.2102 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:01.5255 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:01.8377 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:02.1510 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:02.4605 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:02.7768 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:03.0857 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:03.3992 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:03.7104 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:04.0230 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:04.3367 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:04.6517 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:04.9625 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:05.2730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:05.5898 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:05.8974 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:06.2114 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:06.5227 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:06.8372 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:07.1499 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:07.4600 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:07.7754 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:08.0868 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:08.3994 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:08.7128 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:09.0223 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:09.3382 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:09.6515 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:09.9609 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:10.2737 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:10.5877 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:10.8977 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:11.2118 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:11.5251 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:11.8356 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:12.1501 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:12.4617 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:12.7744 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:13.0850 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:13.3994 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:13.7124 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:14.0246 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:14.3373 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:14.6490 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:14.9603 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:15.2746 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:15.5853 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:15.9009 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:16.2100 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:16.5235 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:16.8364 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:17.1474 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:17.4602 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:17.7746 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:18.0859 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:18.3982 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:18.7120 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:19.0225 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:19.3361 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:19.6488 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:19.9600 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:20.2772 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:20.5867 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:20.8972 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:21.2111 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:21.5242 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:21.8359 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:22.1483 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:22.4631 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:22.7742 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:23.0862 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:23.3996 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:23.7134 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:24.0246 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:24.3357 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:24.6502 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:24.9609 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:25.2746 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:25.5860 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:25.9001 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:26.2131 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:26.5226 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:26.8378 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:27.1465 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:27.4609 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:27.7733 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:28.0853 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:28.3983 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:28.7111 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:29.0275 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:29.3344 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:29.6484 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:29.9637 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:30.2722 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:30.5857 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:30.8976 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:31.2118 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:31.5241 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:31.8378 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:32.1495 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:32.4608 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:32.7730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:33.0855 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:33.3985 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:33.7122 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:34.0233 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:34.3344 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:34.6497 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:34.9610 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:35.2733 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:35.5884 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:35.8984 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:36.2103 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:36.5224 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:36.8373 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:37.1480 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:37.4621 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:37.7753 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:38.0869 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:38.3980 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:38.7104 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:39.0235 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:39.3366 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:39.6485 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:39.9622 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:40.2723 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:40.5858 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:40.8984 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:41.2106 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:41.5227 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:41.8354 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:42.1512 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:42.4602 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:42.7750 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:43.0846 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:43.3986 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:43.7094 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:44.0235 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:44.3364 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:44.6471 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:44.9626 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:45.2747 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:45.5848 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:45.8981 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:46.2102 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:46.5236 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:46.8359 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:47.1472 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:47.4599 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:47.7761 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:48.0853 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:48.3976 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:48.7135 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:49.0228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:49.3353 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:49.6472 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:49.9609 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:50.2747 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:50.5858 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:50.8985 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:51.2092 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:51.5232 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:51.8340 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:52.1490 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:52.4610 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:52.7728 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:53.0871 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:53.3993 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:53.7115 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:54.0218 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:54.3351 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:54.6475 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:54.9596 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:55.2762 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:55.5840 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:55.8985 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:56.2091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:56.5217 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:56.8355 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:57.1466 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:57.4609 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:57.7727 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:58.0859 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:58.3984 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:58.7098 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:59.0236 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:59.3351 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:59.6494 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:39:59.9592 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:00.2725 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:00.5845 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:00.8975 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:01.2093 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:01.5242 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:01.8367 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:02.1479 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:02.4601 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:02.7721 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:03.0850 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:03.3970 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:03.7119 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:04.0231 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:04.3343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:04.6472 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:04.9590 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:05.2722 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:05.5875 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:05.8964 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:06.2105 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:06.5249 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:06.8360 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:07.1465 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:07.4602 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:07.7747 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:08.0843 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:08.3982 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:08.7089 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:09.0226 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:09.3371 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:09.6470 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:09.9596 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:10.2728 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:10.5882 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:10.8981 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:11.2088 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:11.5234 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:11.8350 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:12.1473 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:12.4587 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:12.7741 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:13.0863 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:13.3984 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:13.7094 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:14.0228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:14.3343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:14.6502 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:14.9620 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:15.2742 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:15.5842 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:15.8977 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:16.2096 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:16.5230 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:16.8343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:17.1473 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:17.4597 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:17.7714 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:18.0834 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:18.3986 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:18.7121 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:19.0228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:19.3369 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:19.6467 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:19.9601 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:20.2718 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:20.5850 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:20.8985 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:21.2088 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:21.5230 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:21.8361 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:22.1479 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:22.4595 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:22.7738 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:23.0843 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:23.3989 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:23.7100 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:24.0230 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:24.3338 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:24.6460 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:24.9587 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:25.2727 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:25.5849 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:25.9008 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:26.2085 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:26.5225 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:26.8353 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:27.1487 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:27.4592 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:27.7730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:28.0869 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:28.3960 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:28.7084 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:29.0221 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:29.3343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:29.6460 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:29.9599 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:30.2750 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:30.5847 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:30.8988 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:31.2084 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:31.5231 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:31.8375 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:32.1489 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:32.4614 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:32.7734 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:33.0857 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:33.3980 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:33.7095 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:34.0221 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:34.3342 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:34.6495 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:34.9600 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:35.2722 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:35.5864 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:35.8981 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:36.2098 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:36.5220 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:36.8367 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:37.1484 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:37.4619 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:37.7730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:38.0849 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:38.3959 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:38.7081 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:39.0232 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:39.3345 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:39.6491 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:39.9593 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:40.2735 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:40.5860 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:40.8977 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:41.2106 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:41.5219 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:41.8340 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:42.1460 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:42.4592 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:42.7732 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:43.0858 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:43.3986 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:43.7089 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:44.0216 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:44.3344 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:44.6458 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:44.9584 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:45.2730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:45.5843 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:45.8958 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:46.2086 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:46.5207 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:46.8333 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:47.1496 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:47.4599 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:47.7732 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:48.0837 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:48.3976 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:48.7108 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:49.0213 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:49.3348 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:49.6487 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:49.9602 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:50.2712 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:50.5839 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:50.8963 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:51.2094 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:51.5232 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:51.8363 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:52.1491 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:52.4603 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:52.7724 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:53.0851 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:53.3953 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:53.7080 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:54.0227 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:54.3352 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:54.6489 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:54.9574 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:55.2723 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:55.5863 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:55.8973 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:56.2079 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:56.5223 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:56.8343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:57.1461 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:57.4587 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:57.7717 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:58.0849 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:58.3964 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:58.7101 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:59.0203 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:59.3348 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:59.6451 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:40:59.9593 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:00.2709 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:00.5849 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:00.9005 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:01.2112 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:01.5228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:01.8335 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:02.1478 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:02.4599 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:02.7737 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:03.0839 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:03.3980 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:03.7094 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:04.0200 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:04.3343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:04.6463 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:04.9612 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:05.2731 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:05.5839 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:05.8956 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:06.2091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:06.5228 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:06.8330 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:07.1476 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:07.4612 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:07.7707 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:08.0837 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:08.3967 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:08.7112 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:09.0224 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:09.3360 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:09.6461 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:09.9600 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:10.2705 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:10.5835 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:10.8974 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:11.2077 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:11.5232 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:11.8347 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:12.1453 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:12.4605 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:12.7715 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:13.0856 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:13.3968 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:13.7079 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:14.0214 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:14.3335 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:14.6466 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:14.9580 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:15.2700 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:15.5836 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:15.8960 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:16.2106 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:16.5198 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:16.8326 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:17.1457 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:17.4580 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:17.7703 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:18.0841 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:18.3965 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:18.7110 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:19.0214 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:19.3322 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:19.6460 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:19.9566 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:20.2716 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:20.5862 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:20.8977 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:21.2093 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:21.5202 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:21.8338 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:22.1474 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:22.4574 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:22.7717 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:23.0842 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:23.3949 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:23.7090 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:24.0202 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:24.3326 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:24.6451 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:24.9596 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:25.2700 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:25.5837 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:25.8965 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:26.2082 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:26.5224 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:26.8334 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:27.1502 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:27.4584 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:27.7727 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:28.0836 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:28.3968 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:28.7091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:29.0234 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:29.3345 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:29.6472 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:29.9605 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:30.2708 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:30.5840 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:30.8947 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:31.2100 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:31.5234 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:31.8344 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:32.1447 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:32.4581 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:32.7718 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:33.0854 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:33.3955 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:33.7098 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:34.0221 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:34.3336 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:34.6446 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:34.9586 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:35.2716 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:35.5836 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:35.8984 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:36.2086 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:36.5199 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:36.8348 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:37.1474 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:37.4589 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:37.7716 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:38.0838 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:38.3961 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:38.7091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:39.0212 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:39.3343 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:39.6468 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:39.9581 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:40.2705 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:40.5825 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:40.8953 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:41.2086 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:41.5205 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:41.8327 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:42.1473 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:42.4600 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:42.7720 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:43.0821 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:43.3947 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:43.7091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:44.0245 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:44.3321 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:44.6480 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:44.9603 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:45.2738 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:45.5826 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:45.8959 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:46.2085 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:46.5215 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:46.8359 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:47.1448 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:47.4586 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:47.7700 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:48.0851 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:48.3962 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:48.7105 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:49.0218 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:49.3335 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:49.6455 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:49.9582 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:50.2713 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:50.5833 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:50.8956 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:51.2091 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:51.5213 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:51.8336 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:52.1469 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:52.4607 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:52.7707 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:53.0820 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:53.4003 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:53.7085 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:54.0203 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:54.3350 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:54.6467 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:54.9589 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:55.2734 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:55.5867 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:55.8966 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:56.2084 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:56.5193 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:56.8320 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:57.1481 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:57.4575 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:57.7729 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:58.0834 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:58.3950 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:58.7104 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:59.0201 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:59.3357 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:59.6464 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:41:59.9618 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:00.2725 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:00.5842 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:00.8974 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:01.2106 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:01.5211 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:01.8341 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:02.1491 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:02.4572 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:02.7708 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:03.0832 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:03.3942 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:03.7097 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:04.0205 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:04.3366 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:04.6447 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:04.9591 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:05.2731 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:05.5857 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:05.8949 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:06.2079 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:06.5225 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:06.8349 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:07.1469 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:07.4571 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:07.7706 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:08.0836 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:08.3991 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:08.7078 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:09.0200 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:09.3332 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:09.6477 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:09.9585 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:10.2717 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:10.5818 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:10.8979 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:11.2081 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:11.5202 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:11.8327 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:12.1447 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:12.4595 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:12.7693 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:13.0849 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:13.3960 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:13.7080 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:14.0192 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:14.3350 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:14.6448 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:14.9599 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:15.2728 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:15.5828 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:15.8975 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:16.2073 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:16.5220 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:16.8353 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:17.1444 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:17.4591 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:17.7730 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:18.0824 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:18.3962 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:18.7085 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:19.0192 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:19.3327 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:19.6492 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:19.9584 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:20.2704 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:20.5862 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:20.8968 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:21.2066 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:21.5220 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:21.8355 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:22.1457 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:22.4596 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:22.7710 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:23.0833 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:23.3978 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:23.7093 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:24.0210 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:24.3317 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:24.6481 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:24.9580 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:25.2720 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:25.5821 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:25.8961 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:26.2080 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:26.5214 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:26.8331 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:27.1444 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:27.4565 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:27.7713 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:28.0826 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:28.3962 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:28.7074 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:29.0205 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:29.3322 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:29.6476 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:29.9602 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:30.2720 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:30.5853 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:30.8972 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:31.2081 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:31.5195 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:31.8324 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:32.1477 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:32.4580 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:32.7706 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:33.0831 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:33.3962 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:33.7079 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:34.0222 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:34.3335 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:34.6444 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:34.9619 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:35.2718 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:35.5828 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:35.8952 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:36.2082 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:36.5230 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:36.8348 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:37.1468 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:37.4565 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:37.7705 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:38.0835 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:38.3973 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:38.7064 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:39.0196 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:39.3370 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:39.6454 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:39.9572 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:40.2721 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:40.5835 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:40.8966 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:41.2098 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:41.5237 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:41.8324 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:42.1462 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:42.4589 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:42.7700 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:43.0821 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:43.3944 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:43.7083 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:44.0215 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:44.3315 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:44.6458 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:44.9612 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:45.2721 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:45.5825 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:45.8958 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:46.2080 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:46.5193 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:46.8351 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:47.1473 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:47.4570 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:47.7695 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:48.0825 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:48.3958 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:48.7076 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:49.0211 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:49.3314 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:49.6454 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:49.9590 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:50.2721 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:50.5826 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:50.8953 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:51.2083 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:51.5194 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:51.8341 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:52.1465 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:52.4596 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:52.7702 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:53.0840 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:53.3974 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:53.7069 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:54.0189 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:54.3331 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:54.6484 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:54.9573 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:55.2717 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:55.5827 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:55.8954 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:56.2070 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:56.5218 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:56.8336 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:57.1482 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:57.4586 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:57.7689 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:58.0812 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:58.3953 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:58.7067 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:59.0232 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:59.3347 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:59.6450 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:42:59.9572 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:00.2696 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:00.5822 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:00.8973 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:01.2111 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:01.5199 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:01.8345 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:02.1472 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:02.4579 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:02.7696 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:03.2643 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:03.5693 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:03.8782 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:04.1920 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:04.5077 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:04.8184 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:05.1303 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:43:05.4422 [FATAL] : 1125.237,2,3,115.237
-2024-09-27 11:44:55.5553 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 13:27:12.9534 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 13:27:12.9534 [INFO] : 加载配置文件——>开始
-2024-09-27 13:27:12.9534 [INFO] : 加载配置文件——>完成
-2024-09-27 13:27:12.9534 [INFO] : Log in using the CLMS authorization.
-2024-09-27 13:27:14.8742 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 13:27:15.3909 [INFO] : 启动PLC写线程!
-2024-09-27 13:27:15.3909 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 13:27:15.3909 [INFO] : 连接PLC....
-2024-09-27 13:27:15.3909 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 13:27:15.3909 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 13:27:15.3909 [INFO] : PLC S7连接成功。
-2024-09-27 13:27:15.5325 [INFO] : 连接PLC成功
-2024-09-27 13:27:15.9305 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 13:27:16.0765 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 13:27:16.2083 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 13:37:15.6402 [INFO] : PLC心跳检测10分钟内未变化,断开PLC,进行PLC重连!
-2024-09-27 13:37:15.6563 [INFO] : PLC断开,重连!
-2024-09-27 13:37:15.6583 [INFO] : PLC S7连接成功。
-2024-09-27 13:37:16.6638 [INFO] : 重新连接PLC成功!
-2024-09-27 13:41:11.0555 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-09-27 13:43:12.2093 [INFO] : --软件Program Main函数开始执行--
-2024-09-27 13:43:12.2237 [INFO] : 加载配置文件——>开始
-2024-09-27 13:43:12.2384 [INFO] : 加载配置文件——>完成
-2024-09-27 13:43:12.2384 [INFO] : Log in using the CLMS authorization.
-2024-09-27 13:43:14.2705 [INFO] : 进入显示车身模式!显示车身界面。
-2024-09-27 13:43:15.1350 [INFO] : 启动PLC写线程!
-2024-09-27 13:43:15.1350 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-09-27 13:43:15.1350 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-09-27 13:43:15.1350 [INFO] : 连接PLC....
-2024-09-27 13:43:15.1350 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-09-27 13:43:15.2069 [INFO] : PLC S7连接成功。
-2024-09-27 13:43:15.2822 [INFO] : 连接PLC成功
-2024-09-27 13:43:15.6409 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 13:43:15.7991 [INFO] : 显示左侧EH3车身数据界面。
-2024-09-27 13:43:15.9368 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 13:43:25.0367 [INFO] : Left EH3 UI Refresh Button:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-09-27 13:43:39.0334 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-08.log b/Analysis/bin/x64/Debug/logs/2024-10-08.log
deleted file mode 100644
index b3777b6..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-08.log
+++ /dev/null
@@ -1,16 +0,0 @@
-2024-10-08 13:29:47.7936 [INFO] : --软件Program Main函数开始执行--
-2024-10-08 13:29:47.8050 [INFO] : 加载配置文件——>开始
-2024-10-08 13:29:47.8168 [INFO] : 加载配置文件——>完成
-2024-10-08 13:29:47.8168 [INFO] : Log in using the CLMS authorization.
-2024-10-08 13:29:49.6682 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-08 13:29:50.4355 [INFO] : 启动PLC写线程!
-2024-10-08 13:29:50.4355 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-08 13:29:50.4355 [INFO] : 连接PLC....
-2024-10-08 13:29:50.4355 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-08 13:29:50.4355 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-08 13:29:51.0390 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-08 13:29:51.1585 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-08 13:29:51.2848 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-08 13:29:52.4839 [ERROR] : PLC S7连接失败。
-2024-10-08 13:29:52.4839 [ERROR] : 连接PLC失败
-2024-10-08 13:30:24.7725 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-12.log b/Analysis/bin/x64/Debug/logs/2024-10-12.log
deleted file mode 100644
index 61657c3..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-12.log
+++ /dev/null
@@ -1,96 +0,0 @@
-2024-10-12 13:51:47.9983 [INFO] : --软件Program Main函数开始执行--
-2024-10-12 13:51:48.0134 [INFO] : 加载配置文件——>开始
-2024-10-12 13:51:48.0134 [INFO] : 加载配置文件——>完成
-2024-10-12 13:51:48.0134 [INFO] : Log in using the CLMS authorization.
-2024-10-12 13:51:49.8664 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-12 13:51:50.3342 [INFO] : 启动PLC写线程!
-2024-10-12 13:51:50.3342 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-12 13:51:50.3342 [INFO] : 连接PLC....
-2024-10-12 13:51:50.3342 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-12 13:51:50.3342 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-12 13:51:50.9243 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-12 13:51:51.0839 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-12 13:51:51.2198 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-12 13:51:52.3946 [ERROR] : PLC S7连接失败。
-2024-10-12 13:51:52.3946 [ERROR] : 连接PLC失败
-2024-10-12 13:52:10.3443 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-12 15:32:37.1682 [INFO] : --软件Program Main函数开始执行--
-2024-10-12 15:32:37.1682 [INFO] : 加载配置文件——>开始
-2024-10-12 15:32:37.1862 [INFO] : 加载配置文件——>完成
-2024-10-12 15:32:37.1862 [INFO] : Log in using the CLMS authorization.
-2024-10-12 15:32:38.8678 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-12 15:32:39.4205 [INFO] : 启动PLC写线程!
-2024-10-12 15:32:39.4205 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-12 15:32:39.4205 [INFO] : 连接PLC....
-2024-10-12 15:32:39.4205 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-12 15:32:39.4205 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-12 15:32:39.9222 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-12 15:32:40.0866 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-12 15:32:40.2238 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-12 15:32:41.4787 [ERROR] : PLC S7连接失败。
-2024-10-12 15:32:41.4787 [ERROR] : 连接PLC失败
-2024-10-12 15:33:25.4024 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-10-12 15:33:25.4024 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-12 15:33:25.4024 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-12 15:33:25.4024 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23084
-2024-10-12 15:33:25.4024 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-12 15:33:25.4024 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-21 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-21 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-22 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-22 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4488 [ERROR] : EH3 L-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4654 [ERROR] : EH3 L-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4654 [ERROR] : EH3 L-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4654 [ERROR] : EH3 L-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4654 [ERROR] : EH3 L-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4826 [ERROR] : EH3 L-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.4826 [ERROR] : EH3 L-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6030 [ERROR] : EH3 R-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6111 [ERROR] : EH3 R-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6111 [ERROR] : EH3 R-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6300 [ERROR] : EH3 R-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6388 [ERROR] : EH3 R-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6388 [ERROR] : EH3 R-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6388 [ERROR] : EH3 R-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.6557 [ERROR] : EH3 R-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:33:25.7032 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-12 15:33:25.7032 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-10-12 15:33:25.7293 [INFO] : 将EH3总结果插入数据库完毕。
-2024-10-12 15:33:25.7293 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-12 15:33:25.7293 [INFO] : EH3数据生成报告功能未启用!
-2024-10-12 15:33:25.7293 [INFO] : 数据上传IOT功能未启用!
-2024-10-12 15:35:29.8196 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-10-12 15:35:29.8196 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-12 15:35:29.8196 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-12 15:35:29.8196 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23085
-2024-10-12 15:35:29.8196 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:WNNBBDEC8RDA23085
-2024-10-12 15:35:29.8196 [INFO] : 在数据库表TTempSaveVIN中删除该VIN:WNNBBDEC8RDA23085
-2024-10-12 15:35:29.8580 [ERROR] : EH3 L-21 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8580 [ERROR] : EH3 L-21 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8580 [ERROR] : EH3 L-22 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8580 [ERROR] : EH3 L-22 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8694 [ERROR] : EH3 L-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8694 [ERROR] : EH3 L-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8694 [ERROR] : EH3 L-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8694 [ERROR] : EH3 L-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8850 [ERROR] : EH3 L-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8850 [ERROR] : EH3 L-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8850 [ERROR] : EH3 L-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:29.8850 [ERROR] : EH3 L-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0049 [ERROR] : EH3 R-14 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0129 [ERROR] : EH3 R-14 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0129 [ERROR] : EH3 R-15 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0279 [ERROR] : EH3 R-15 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0373 [ERROR] : EH3 R-16 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0373 [ERROR] : EH3 R-16 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0373 [ERROR] : EH3 R-18 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0545 [ERROR] : EH3 R-18 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2024-10-12 15:35:30.0875 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-12 15:35:30.0875 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-10-12 15:35:30.0875 [INFO] : 将EH3总结果插入数据库完毕。
-2024-10-12 15:35:30.0875 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-12 15:35:30.0875 [INFO] : EH3数据生成报告功能未启用!
-2024-10-12 15:35:30.0875 [INFO] : 数据上传IOT功能未启用!
-2024-10-12 15:37:17.0987 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-22.log b/Analysis/bin/x64/Debug/logs/2024-10-22.log
deleted file mode 100644
index 3a8fff3..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-22.log
+++ /dev/null
@@ -1,32 +0,0 @@
-2024-10-22 10:11:33.2937 [INFO] : --软件Program Main函数开始执行--
-2024-10-22 10:11:33.2937 [INFO] : 加载配置文件——>开始
-2024-10-22 10:11:33.3170 [INFO] : 加载配置文件——>完成
-2024-10-22 10:11:33.3170 [INFO] : Log in using the CLMS authorization.
-2024-10-22 10:11:34.9861 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-22 10:11:35.6488 [INFO] : 启动PLC写线程!
-2024-10-22 10:11:35.6488 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-22 10:11:35.6488 [INFO] : 连接PLC....
-2024-10-22 10:11:35.6488 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-22 10:11:35.6488 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-22 10:11:36.1538 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-22 10:11:36.3181 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-22 10:11:36.4690 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-22 10:11:37.6955 [ERROR] : PLC S7连接失败。
-2024-10-22 10:11:37.6955 [ERROR] : 连接PLC失败
-2024-10-22 10:19:20.3929 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-22 11:42:00.4117 [INFO] : --软件Program Main函数开始执行--
-2024-10-22 11:42:00.4117 [INFO] : 加载配置文件——>开始
-2024-10-22 11:42:00.4326 [INFO] : 加载配置文件——>完成
-2024-10-22 11:42:00.4326 [INFO] : Log in using the CLMS authorization.
-2024-10-22 11:42:01.9976 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-22 11:42:02.6044 [INFO] : 启动PLC写线程!
-2024-10-22 11:42:02.6044 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-22 11:42:02.6044 [INFO] : 连接PLC....
-2024-10-22 11:42:02.6044 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-22 11:42:02.6044 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-22 11:42:03.0922 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-22 11:42:03.2706 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-22 11:42:03.4162 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-22 11:42:04.6519 [ERROR] : PLC S7连接失败。
-2024-10-22 11:42:04.6519 [ERROR] : 连接PLC失败
-2024-10-22 13:50:01.1628 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-23.log b/Analysis/bin/x64/Debug/logs/2024-10-23.log
deleted file mode 100644
index 3dd2b96..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-23.log
+++ /dev/null
@@ -1,294 +0,0 @@
-2024-10-23 10:04:56.3174 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 10:05:00.3004 [INFO] : 加载配置文件——>开始
-2024-10-23 10:05:00.3167 [INFO] : 加载配置文件——>完成
-2024-10-23 10:05:00.3167 [INFO] : Log in using the CLMS authorization.
-2024-10-23 10:05:02.3946 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 10:05:03.3208 [INFO] : 启动PLC写线程!
-2024-10-23 10:05:03.3208 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 10:05:03.3208 [INFO] : 连接PLC....
-2024-10-23 10:05:03.3208 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 10:05:03.3208 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 10:05:03.8579 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-23 10:05:04.0519 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-23 10:05:04.1963 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-23 10:05:05.3853 [ERROR] : PLC S7连接失败。
-2024-10-23 10:05:05.3853 [ERROR] : 连接PLC失败
-2024-10-23 10:06:27.7542 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-23 10:06:30.1222 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 10:06:30.1222 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 10:06:30.1261 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23999
-2024-10-23 10:06:30.1261 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 10:06:30.1261 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 10:06:36.3555 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 10:06:36.3555 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-23 10:06:36.3804 [INFO] : 将总结果插入数据库完毕。
-2024-10-23 10:06:36.3804 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 10:06:36.3804 [INFO] : iCreateReportFlag=0 : EHY数据生成报告功能未启用!
-2024-10-23 10:06:36.3804 [INFO] : EHY数据上传IOT功能未启用!
-2024-10-23 10:07:56.5082 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 10:08:01.0826 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 10:08:01.0826 [INFO] : 加载配置文件——>开始
-2024-10-23 10:08:01.0957 [INFO] : 加载配置文件——>完成
-2024-10-23 10:08:01.0957 [INFO] : Log in using the CLMS authorization.
-2024-10-23 10:08:03.2131 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 10:08:03.9328 [INFO] : 启动PLC写线程!
-2024-10-23 10:08:03.9328 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 10:08:03.9328 [INFO] : 连接PLC....
-2024-10-23 10:08:03.9328 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 10:08:03.9328 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 10:08:04.5510 [INFO] : Left EH3 UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-23 10:08:04.7347 [INFO] : 显示左侧EH3车身数据界面。
-2024-10-23 10:08:04.8636 [INFO] : Left EHY UI Refresh tmrRefreshData:CarType:EH3 ;VIN: LLNNBBDEC5RDA18303
-2024-10-23 10:08:06.0531 [ERROR] : PLC S7连接失败。
-2024-10-23 10:08:06.0531 [ERROR] : 连接PLC失败
-2024-10-23 10:09:30.0979 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-23 10:09:30.0979 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 10:09:30.0979 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 10:09:30.0979 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23998
-2024-10-23 10:09:30.0979 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 10:09:30.0979 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 10:09:30.5658 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 10:09:30.5658 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-23 10:09:30.5854 [INFO] : 将总结果插入数据库完毕。
-2024-10-23 10:09:30.5854 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 10:09:30.5943 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-23 10:09:30.5943 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023100930_LNNBBDEC8RDA23998.csv
-2024-10-23 10:09:30.7341 [INFO] : Update To IOT Data Content: {"serno":"20241023100930734","requestData":[{"vin":"LNNBBDEC8RDA23998","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 10:09:30","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23998","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23998","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"}]}]}
-2024-10-23 10:09:40.7881 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1266
-2024-10-23 10:09:40.7881 [ERROR] : EHY数据上传IOT失败!
-2024-10-23 11:00:37.5378 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 13:14:43.3743 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 13:14:43.3743 [INFO] : 加载配置文件——>开始
-2024-10-23 13:14:43.3980 [INFO] : 加载配置文件——>完成
-2024-10-23 13:14:43.3980 [INFO] : Log in using the CLMS authorization.
-2024-10-23 13:14:45.3305 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 13:14:46.3625 [INFO] : 启动PLC写线程!
-2024-10-23 13:14:46.3625 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 13:14:46.3625 [INFO] : 连接PLC....
-2024-10-23 13:14:46.3625 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 13:14:46.3625 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 13:14:48.4154 [ERROR] : PLC S7连接失败。
-2024-10-23 13:14:48.4154 [ERROR] : 连接PLC失败
-2024-10-23 13:15:11.4963 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:02:03.4498 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:02:03.4613 [INFO] : 加载配置文件——>开始
-2024-10-23 14:02:03.4613 [INFO] : 加载配置文件——>完成
-2024-10-23 14:02:03.4613 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:02:05.1381 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:02:05.7326 [INFO] : 启动PLC写线程!
-2024-10-23 14:02:05.7326 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:02:05.7326 [INFO] : 连接PLC....
-2024-10-23 14:02:05.7326 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:02:05.7326 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:02:07.7914 [ERROR] : PLC S7连接失败。
-2024-10-23 14:02:07.7914 [ERROR] : 连接PLC失败
-2024-10-23 14:03:31.3437 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:20:01.8223 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:20:01.8338 [INFO] : 加载配置文件——>开始
-2024-10-23 14:20:01.8475 [INFO] : 加载配置文件——>完成
-2024-10-23 14:20:01.8475 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:20:03.7521 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:20:04.6498 [INFO] : 启动PLC写线程!
-2024-10-23 14:20:04.6498 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:20:04.6498 [INFO] : 连接PLC....
-2024-10-23 14:20:04.6498 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:20:04.6498 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:20:06.7141 [ERROR] : PLC S7连接失败。
-2024-10-23 14:20:06.7141 [ERROR] : 连接PLC失败
-2024-10-23 14:29:31.8066 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:29:33.1442 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:29:33.1442 [INFO] : 加载配置文件——>开始
-2024-10-23 14:29:33.1598 [INFO] : 加载配置文件——>完成
-2024-10-23 14:29:33.1598 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:29:34.8100 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:29:35.6439 [INFO] : 启动PLC写线程!
-2024-10-23 14:29:35.6439 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:29:35.6439 [INFO] : 连接PLC....
-2024-10-23 14:29:35.6439 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:29:35.6439 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:29:37.6987 [ERROR] : PLC S7连接失败。
-2024-10-23 14:29:37.6987 [ERROR] : 连接PLC失败
-2024-10-23 14:31:00.9365 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:31:07.5510 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:31:07.5510 [INFO] : 加载配置文件——>开始
-2024-10-23 14:31:07.5510 [INFO] : 加载配置文件——>完成
-2024-10-23 14:31:07.5510 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:31:09.1709 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:31:09.9346 [INFO] : 启动PLC写线程!
-2024-10-23 14:31:09.9346 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:31:09.9346 [INFO] : 连接PLC....
-2024-10-23 14:31:09.9346 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:31:09.9346 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:31:11.9773 [ERROR] : PLC S7连接失败。
-2024-10-23 14:31:11.9773 [ERROR] : 连接PLC失败
-2024-10-23 14:33:40.9002 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:36:36.3807 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:36:36.3807 [INFO] : 加载配置文件——>开始
-2024-10-23 14:36:36.3807 [INFO] : 加载配置文件——>完成
-2024-10-23 14:36:36.3930 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:36:37.9213 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:36:38.6950 [INFO] : 启动PLC写线程!
-2024-10-23 14:36:38.6950 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:36:38.6950 [INFO] : 连接PLC....
-2024-10-23 14:36:38.6950 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:36:38.6950 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:36:40.7571 [ERROR] : PLC S7连接失败。
-2024-10-23 14:36:40.7571 [ERROR] : 连接PLC失败
-2024-10-23 14:37:57.1822 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:38:53.7067 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:38:53.7185 [INFO] : 加载配置文件——>开始
-2024-10-23 14:38:53.7185 [INFO] : 加载配置文件——>完成
-2024-10-23 14:38:53.7308 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:38:55.6340 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:38:56.7717 [INFO] : 启动PLC写线程!
-2024-10-23 14:38:56.7717 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:38:56.7717 [INFO] : 连接PLC....
-2024-10-23 14:38:56.7717 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:38:56.7717 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:38:58.8738 [ERROR] : PLC S7连接失败。
-2024-10-23 14:38:58.8738 [ERROR] : 连接PLC失败
-2024-10-23 14:41:08.9543 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:41:12.7458 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:41:12.7458 [INFO] : 加载配置文件——>开始
-2024-10-23 14:41:12.7615 [INFO] : 加载配置文件——>完成
-2024-10-23 14:41:12.7615 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:41:14.2639 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:41:15.0677 [INFO] : 启动PLC写线程!
-2024-10-23 14:41:15.0677 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:41:15.0677 [INFO] : 连接PLC....
-2024-10-23 14:41:15.0677 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:41:15.0677 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:41:17.1234 [ERROR] : PLC S7连接失败。
-2024-10-23 14:41:17.1234 [ERROR] : 连接PLC失败
-2024-10-23 14:41:46.0880 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 14:45:28.8317 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 14:45:28.8317 [INFO] : 加载配置文件——>开始
-2024-10-23 14:45:28.8464 [INFO] : 加载配置文件——>完成
-2024-10-23 14:45:28.8464 [INFO] : Log in using the CLMS authorization.
-2024-10-23 14:45:30.3738 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 14:45:31.1593 [INFO] : 启动PLC写线程!
-2024-10-23 14:45:31.1593 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 14:45:31.1593 [INFO] : 连接PLC....
-2024-10-23 14:45:31.1593 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 14:45:31.1593 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 14:45:33.2069 [ERROR] : PLC S7连接失败。
-2024-10-23 14:45:33.2069 [ERROR] : 连接PLC失败
-2024-10-23 14:47:11.0158 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-23 16:47:36.2974 [INFO] : --软件Program Main函数开始执行--
-2024-10-23 16:47:36.3106 [INFO] : 加载配置文件——>开始
-2024-10-23 16:47:36.3261 [INFO] : 加载配置文件——>完成
-2024-10-23 16:47:36.3261 [INFO] : Log in using the CLMS authorization.
-2024-10-23 16:47:38.3732 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-23 16:47:39.4171 [INFO] : 启动PLC写线程!
-2024-10-23 16:47:39.4171 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-23 16:47:39.4171 [INFO] : 连接PLC....
-2024-10-23 16:47:39.4171 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-23 16:47:39.4171 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-23 16:47:41.4666 [ERROR] : PLC S7连接失败。
-2024-10-23 16:47:41.4666 [ERROR] : 连接PLC失败
-2024-10-23 16:49:19.5651 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-23 16:49:19.5651 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 16:49:19.5701 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:49:19.5701 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23997
-2024-10-23 16:49:19.5701 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 16:49:19.5701 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 16:49:19.8688 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 16:49:19.8688 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-23 16:49:19.8926 [INFO] : 将总结果插入数据库完毕。
-2024-10-23 16:49:19.8926 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:49:19.8976 [INFO] : LNNBBDEC8RDA23997 EHY开始计算极差:============
-2024-10-23 16:49:19.9197 [INFO] : LNNBBDEC8RDA23997 EHY计算极差完成,并插入数据库:============
-2024-10-23 16:49:19.9557 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-23 16:49:19.9557 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023164919_LNNBBDEC8RDA23997.csv
-2024-10-23 16:49:20.0835 [INFO] : Update To IOT Data Content: {"serno":"20241023164920083","requestData":[{"vin":"LNNBBDEC8RDA23997","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:49:19","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD01L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD07","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23997","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-23 16:49:30.1367 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396
-2024-10-23 16:49:30.1367 [ERROR] : EHY数据上传IOT失败!
-2024-10-23 16:55:26.0299 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-23 16:55:26.0299 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 16:55:26.0299 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:55:26.0299 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23996
-2024-10-23 16:55:26.0299 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 16:55:26.0299 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 16:55:26.2711 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 16:55:26.2711 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-23 16:55:26.2711 [INFO] : 将总结果插入数据库完毕。
-2024-10-23 16:55:26.2711 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:55:26.2805 [INFO] : LNNBBDEC8RDA23996 EHY开始计算极差:============
-2024-10-23 16:55:26.2961 [INFO] : LNNBBDEC8RDA23996 EHY计算极差完成,并插入数据库:============
-2024-10-23 16:55:26.3266 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-23 16:55:26.3266 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023165526_LNNBBDEC8RDA23996.csv
-2024-10-23 16:55:26.3266 [INFO] : Update To IOT Data Content: {"serno":"20241023165526328","requestData":[{"vin":"LNNBBDEC8RDA23996","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:55:26","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-01","actualValue":"","controlLine":"-1.7/0.3","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD01L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD07","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23996","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-23 16:55:36.3605 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396
-2024-10-23 16:55:36.3605 [ERROR] : EHY数据上传IOT失败!
-2024-10-23 16:56:48.3579 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-23 16:56:48.3579 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 16:56:48.3579 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:56:48.3579 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23995
-2024-10-23 16:56:48.3579 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 16:56:48.3579 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 16:56:48.6501 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 16:56:48.6511 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-23 16:56:48.6511 [INFO] : 将总结果插入数据库完毕。
-2024-10-23 16:56:48.6511 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:56:48.6511 [INFO] : LNNBBDEC8RDA23995 EHY开始计算极差:============
-2024-10-23 16:56:48.6511 [INFO] : L-01G G 查询的测量值为inv
-2024-10-23 16:56:48.6725 [INFO] : L-01G G 查询的测量值为inv
-2024-10-23 16:56:48.6725 [INFO] : LNNBBDEC8RDA23995 EHY计算极差完成,并插入数据库:============
-2024-10-23 16:56:48.7121 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-23 16:56:48.7121 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241023165648_LNNBBDEC8RDA23995.csv
-2024-10-23 16:56:48.7141 [INFO] : Update To IOT Data Content: {"serno":"20241023165648714","requestData":[{"vin":"LNNBBDEC8RDA23995","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:56:48","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-01","actualValue":"","controlLine":"2.4/4.2","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD01L","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23995","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-23 16:56:58.7366 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396
-2024-10-23 16:56:58.7366 [ERROR] : EHY数据上传IOT失败!
-2024-10-23 16:58:42.4020 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-10-23 16:58:42.4020 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 16:58:42.4020 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:58:42.4020 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA22999
-2024-10-23 16:58:42.4020 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 16:58:42.4020 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 16:58:42.6358 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 16:58:42.6358 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-10-23 16:58:42.6358 [INFO] : 将EH3总结果插入数据库完毕。
-2024-10-23 16:58:42.6358 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:58:42.6358 [INFO] : LNNBBDEC8RDA22999 EH3开始计算极差:============
-2024-10-23 16:58:42.6358 [INFO] : L-01G G 查询的测量值为inv
-2024-10-23 16:58:42.6524 [INFO] : L-01G G 查询的测量值为inv
-2024-10-23 16:58:42.6524 [INFO] : LNNBBDEC8RDA22999 EH3计算极差完成,并插入数据库:============
-2024-10-23 16:58:42.6817 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241023165842_LNNBBDEC8RDA22999.csv
-2024-10-23 16:58:42.6817 [INFO] : Update To IOT Data Content: {"serno":"20241023165842682","requestData":[{"vin":"LNNBBDEC8RDA22999","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:58:42","targetRate":"60.00%","rate":"89.09%","GapList":[{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-01","actualValue":"","controlLine":"2.4/4.2","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD01L","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22999","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-23 16:58:52.7129 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396
-2024-10-23 16:58:52.7129 [ERROR] : EH3数据上传IOT失败!
-2024-10-23 16:59:51.4632 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-10-23 16:59:51.4632 [INFO] : Copy D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-23 16:59:51.4632 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:59:51.4632 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA22998
-2024-10-23 16:59:51.4632 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-23 16:59:51.4632 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-23 16:59:51.7086 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-23 16:59:51.7086 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-10-23 16:59:51.7152 [INFO] : 将EH3总结果插入数据库完毕。
-2024-10-23 16:59:51.7152 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-23 16:59:51.7152 [INFO] : LNNBBDEC8RDA22998 EH3开始计算极差:============
-2024-10-23 16:59:51.7345 [INFO] : LNNBBDEC8RDA22998 EH3计算极差完成,并插入数据库:============
-2024-10-23 16:59:51.7581 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241023165951_LNNBBDEC8RDA22998.csv
-2024-10-23 16:59:51.7581 [INFO] : Update To IOT Data Content: {"serno":"20241023165951759","requestData":[{"vin":"LNNBBDEC8RDA22998","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-23 16:59:51","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA22998","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-23 17:00:01.7805 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1396
-2024-10-23 17:00:01.7805 [ERROR] : EH3数据上传IOT失败!
-2024-10-23 17:01:05.8332 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-24.log b/Analysis/bin/x64/Debug/logs/2024-10-24.log
deleted file mode 100644
index fa70061..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-24.log
+++ /dev/null
@@ -1,32 +0,0 @@
-2024-10-24 14:19:09.8451 [INFO] : --软件Program Main函数开始执行--
-2024-10-24 14:19:09.8558 [INFO] : 加载配置文件——>开始
-2024-10-24 14:19:09.8558 [INFO] : 加载配置文件——>完成
-2024-10-24 14:19:09.8558 [INFO] : Log in using the CLMS authorization.
-2024-10-24 14:19:11.7946 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-24 14:19:12.8062 [INFO] : 启动PLC写线程!
-2024-10-24 14:19:12.8062 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-24 14:19:12.8062 [INFO] : 连接PLC....
-2024-10-24 14:19:12.8082 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-24 14:19:12.8082 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-24 14:19:13.3777 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-24 14:19:13.3885 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-24 14:19:13.5659 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-24 14:19:14.8698 [ERROR] : PLC S7连接失败。
-2024-10-24 14:19:14.8788 [ERROR] : 连接PLC失败
-2024-10-24 14:21:12.4495 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-24 14:31:31.8417 [INFO] : --软件Program Main函数开始执行--
-2024-10-24 14:31:31.8551 [INFO] : 加载配置文件——>开始
-2024-10-24 14:31:31.8551 [INFO] : 加载配置文件——>完成
-2024-10-24 14:31:31.8551 [INFO] : Log in using the CLMS authorization.
-2024-10-24 14:31:33.7788 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-24 14:31:34.2886 [INFO] : 启动PLC写线程!
-2024-10-24 14:31:34.2886 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-24 14:31:34.2886 [INFO] : 连接PLC....
-2024-10-24 14:31:34.2886 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-24 14:31:34.2886 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-24 14:31:34.9032 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-24 14:31:35.1371 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-24 14:31:35.2962 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-24 14:31:36.3452 [ERROR] : PLC S7连接失败。
-2024-10-24 14:31:36.3452 [ERROR] : 连接PLC失败
-2024-10-24 14:33:43.0475 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-25.log b/Analysis/bin/x64/Debug/logs/2024-10-25.log
deleted file mode 100644
index f803a96..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-25.log
+++ /dev/null
@@ -1,48 +0,0 @@
-2024-10-25 08:54:53.4485 [INFO] : --软件Program Main函数开始执行--
-2024-10-25 08:54:53.4605 [INFO] : 加载配置文件——>开始
-2024-10-25 08:54:53.4759 [INFO] : 加载配置文件——>完成
-2024-10-25 08:54:53.4759 [INFO] : Log in using the CLMS authorization.
-2024-10-25 08:54:55.4776 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-25 08:54:56.4966 [INFO] : 启动PLC写线程!
-2024-10-25 08:54:56.4966 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-25 08:54:56.4966 [INFO] : 连接PLC....
-2024-10-25 08:54:56.4966 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-25 08:54:56.4966 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-25 08:54:57.0338 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 08:54:57.0566 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 08:54:57.2322 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-25 08:54:58.6023 [ERROR] : PLC S7连接失败。
-2024-10-25 08:54:58.6023 [ERROR] : 连接PLC失败
-2024-10-25 08:58:15.7830 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-25 10:24:13.4677 [INFO] : --软件Program Main函数开始执行--
-2024-10-25 10:24:13.4677 [INFO] : 加载配置文件——>开始
-2024-10-25 10:24:13.4924 [INFO] : 加载配置文件——>完成
-2024-10-25 10:24:13.4924 [INFO] : Log in using the CLMS authorization.
-2024-10-25 10:24:15.3397 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-25 10:24:16.0226 [INFO] : 启动PLC写线程!
-2024-10-25 10:24:16.0226 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-25 10:24:16.0226 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-25 10:24:16.0226 [INFO] : 连接PLC....
-2024-10-25 10:24:16.0226 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-25 10:24:16.5304 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 10:24:16.7679 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 10:24:16.9615 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-25 10:24:18.0774 [ERROR] : PLC S7连接失败。
-2024-10-25 10:24:18.0774 [ERROR] : 连接PLC失败
-2024-10-25 10:29:12.0287 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-25 21:10:49.2901 [INFO] : --软件Program Main函数开始执行--
-2024-10-25 21:10:49.2901 [INFO] : 加载配置文件——>开始
-2024-10-25 21:10:49.3134 [INFO] : 加载配置文件——>完成
-2024-10-25 21:10:49.3134 [INFO] : Log in using the CLMS authorization.
-2024-10-25 21:10:51.9005 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-25 21:10:53.0414 [INFO] : 启动PLC写线程!
-2024-10-25 21:10:53.0414 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-25 21:10:53.0414 [INFO] : 连接PLC....
-2024-10-25 21:10:53.0414 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-25 21:10:53.0414 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-25 21:10:53.2467 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 21:10:53.8082 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-25 21:10:54.1766 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-25 21:10:55.0985 [ERROR] : PLC S7连接失败。
-2024-10-25 21:10:55.1033 [ERROR] : 连接PLC失败
-2024-10-25 21:13:13.5219 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-28.log b/Analysis/bin/x64/Debug/logs/2024-10-28.log
deleted file mode 100644
index 011a1c5..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-28.log
+++ /dev/null
@@ -1,131 +0,0 @@
-2024-10-28 11:09:57.9723 [INFO] : --软件Program Main函数开始执行--
-2024-10-28 11:09:57.9723 [INFO] : 加载配置文件——>开始
-2024-10-28 11:09:57.9948 [INFO] : 加载配置文件——>完成
-2024-10-28 11:09:57.9948 [INFO] : Log in using the CLMS authorization.
-2024-10-28 11:09:59.9602 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-28 11:10:00.9633 [INFO] : 启动PLC写线程!
-2024-10-28 11:10:00.9633 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-28 11:10:00.9633 [INFO] : 连接PLC....
-2024-10-28 11:10:00.9633 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-28 11:10:00.9633 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-28 11:10:01.4599 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:10:01.4599 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:10:01.6433 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-28 11:10:03.0548 [ERROR] : PLC S7连接失败。
-2024-10-28 11:10:03.0548 [ERROR] : 连接PLC失败
-2024-10-28 11:34:00.3505 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-28 11:39:22.9612 [INFO] : --软件Program Main函数开始执行--
-2024-10-28 11:39:22.9732 [INFO] : 加载配置文件——>开始
-2024-10-28 11:39:22.9732 [INFO] : 加载配置文件——>完成
-2024-10-28 11:39:22.9732 [INFO] : Log in using the CLMS authorization.
-2024-10-28 11:39:24.5599 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-28 11:39:24.9829 [INFO] : 启动PLC写线程!
-2024-10-28 11:39:24.9829 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-28 11:39:24.9829 [INFO] : 连接PLC....
-2024-10-28 11:39:24.9829 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-28 11:39:24.9829 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-28 11:39:25.6191 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:39:25.8262 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:39:26.0277 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-28 11:39:27.0385 [ERROR] : PLC S7连接失败。
-2024-10-28 11:39:27.0385 [ERROR] : 连接PLC失败
-2024-10-28 11:40:59.6375 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-28 11:40:59.6409 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-28 11:40:59.6409 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 11:40:59.6409 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23989
-2024-10-28 11:40:59.6409 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-28 11:40:59.6409 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-28 11:40:59.9067 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-28 11:40:59.9067 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-28 11:40:59.9067 [INFO] : LNNBBDEC8RDA23989 EHY开始计算极差:============
-2024-10-28 11:40:59.9305 [INFO] : LNNBBDEC8RDA23989 EHY计算极差完成,并插入数据库:============
-2024-10-28 11:41:00.0671 [INFO] : 将总结果插入数据库完毕。
-2024-10-28 11:41:00.0671 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 11:41:00.0671 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-28 11:41:00.0671 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028114100_LNNBBDEC8RDA23989.csv
-2024-10-28 11:41:00.2120 [INFO] : Update To IOT Data Content: {"serno":"20241028114100211","requestData":[{"vin":"LNNBBDEC8RDA23989","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-28 11:40:59","targetRate":"60.00%","rate":"89.29%","GapList":[{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23989","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-28 11:41:10.2676 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1449
-2024-10-28 11:41:10.2676 [ERROR] : EHY数据上传IOT失败!
-2024-10-28 11:44:14.3919 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-28 11:45:28.7062 [INFO] : --软件Program Main函数开始执行--
-2024-10-28 11:45:28.7062 [INFO] : 加载配置文件——>开始
-2024-10-28 11:45:28.7266 [INFO] : 加载配置文件——>完成
-2024-10-28 11:45:28.7266 [INFO] : Log in using the CLMS authorization.
-2024-10-28 11:45:30.6378 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-28 11:45:31.5423 [INFO] : 启动PLC写线程!
-2024-10-28 11:45:31.5423 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-28 11:45:31.5423 [INFO] : 连接PLC....
-2024-10-28 11:45:31.5423 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-28 11:45:31.5423 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-28 11:45:32.0060 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:45:32.0615 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 11:45:32.2256 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-28 11:45:33.6410 [ERROR] : PLC S7连接失败。
-2024-10-28 11:45:33.6410 [ERROR] : 连接PLC失败
-2024-10-28 11:45:50.1109 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-28 11:45:50.1109 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-28 11:45:50.1109 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 11:45:50.1109 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23988
-2024-10-28 11:45:50.1109 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-28 11:45:50.1109 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-28 11:45:50.5023 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-28 11:45:50.5023 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-28 11:45:50.5023 [INFO] : LNNBBDEC8RDA23988 EHY开始计算极差:============
-2024-10-28 11:45:50.5288 [INFO] : LNNBBDEC8RDA23988 EHY计算极差完成,并插入数据库:============
-2024-10-28 11:45:50.6315 [INFO] : 计算合格率的时:包含极差计算项!
-2024-10-28 11:45:50.6486 [INFO] : 将总结果插入数据库完毕。
-2024-10-28 11:45:50.6486 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 11:45:50.6486 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-28 11:45:50.6486 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028114550_LNNBBDEC8RDA23988.csv
-2024-10-28 11:45:50.6486 [INFO] : EHY数据上传IOT功能未启用!
-2024-10-28 11:51:09.3510 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-28 13:04:32.5072 [INFO] : --软件Program Main函数开始执行--
-2024-10-28 13:04:32.5072 [INFO] : 加载配置文件——>开始
-2024-10-28 13:04:32.5406 [INFO] : 加载配置文件——>完成
-2024-10-28 13:04:32.5406 [INFO] : Log in using the CLMS authorization.
-2024-10-28 13:04:35.2191 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-28 13:04:36.2499 [INFO] : 启动PLC写线程!
-2024-10-28 13:04:36.2499 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-28 13:04:36.2499 [INFO] : 连接PLC....
-2024-10-28 13:04:36.2499 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-28 13:04:36.2499 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-28 13:04:36.9419 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 13:04:36.9569 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-28 13:04:37.1866 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-28 13:04:38.3876 [ERROR] : PLC S7连接失败。
-2024-10-28 13:04:38.5630 [ERROR] : 连接PLC失败
-2024-10-28 13:04:54.8953 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-28 13:04:54.8994 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-28 13:04:54.8994 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 13:04:54.8994 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23986
-2024-10-28 13:04:54.9152 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-28 13:04:54.9152 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-28 13:04:55.2717 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-28 13:04:55.2717 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-28 13:04:55.2717 [INFO] : LNNBBDEC8RDA23986 EHY开始计算极差:============
-2024-10-28 13:04:55.3138 [INFO] : LNNBBDEC8RDA23986 EHY计算极差完成,并插入数据库:============
-2024-10-28 13:04:55.6991 [INFO] : 计算合格率的时:包含极差计算项!
-2024-10-28 13:04:55.7237 [INFO] : 将总结果插入数据库完毕。
-2024-10-28 13:04:55.7264 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 13:04:55.7264 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-28 13:04:55.7264 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028130455_LNNBBDEC8RDA23986.csv
-2024-10-28 13:04:55.7264 [INFO] : EHY数据上传IOT功能未启用!
-2024-10-28 13:06:51.7277 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-28 13:06:51.7277 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-28 13:06:51.7277 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 13:06:51.7277 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23985
-2024-10-28 13:06:51.7277 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-28 13:06:51.7277 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-28 13:06:52.0731 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-28 13:06:52.0731 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-28 13:06:52.0731 [INFO] : LNNBBDEC8RDA23985 EHY开始计算极差:============
-2024-10-28 13:06:52.1132 [INFO] : LNNBBDEC8RDA23985 EHY计算极差完成,并插入数据库:============
-2024-10-28 13:06:52.2336 [INFO] : 将总结果插入数据库完毕。
-2024-10-28 13:06:52.2336 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-28 13:06:52.2432 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-28 13:06:52.2432 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241028130652_LNNBBDEC8RDA23985.csv
-2024-10-28 13:06:52.2432 [INFO] : EHY数据上传IOT功能未启用!
-2024-10-28 13:07:22.3402 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-29.log b/Analysis/bin/x64/Debug/logs/2024-10-29.log
deleted file mode 100644
index 63ca56c..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-29.log
+++ /dev/null
@@ -1,15 +0,0 @@
-2024-10-29 08:39:25.7460 [INFO] : --软件Program Main函数开始执行--
-2024-10-29 08:39:25.7604 [INFO] : 加载配置文件——>开始
-2024-10-29 08:39:25.7604 [INFO] : 加载配置文件——>完成
-2024-10-29 08:39:25.7604 [INFO] : Log in using the CLMS authorization.
-2024-10-29 08:39:27.8604 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-29 08:39:28.7505 [INFO] : 启动PLC写线程!
-2024-10-29 08:39:28.7505 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-29 08:39:28.7505 [INFO] : 连接PLC....
-2024-10-29 08:39:28.7505 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-29 08:39:28.7505 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-29 08:39:29.2731 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-29 08:39:29.2731 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-29 08:39:29.4676 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-29 08:39:30.8631 [ERROR] : PLC S7连接失败。
-2024-10-29 08:39:30.8631 [ERROR] : 连接PLC失败
diff --git a/Analysis/bin/x64/Debug/logs/2024-10-30.log b/Analysis/bin/x64/Debug/logs/2024-10-30.log
deleted file mode 100644
index 7f71f75..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-10-30.log
+++ /dev/null
@@ -1,68 +0,0 @@
-2024-10-30 19:15:25.9273 [INFO] : --软件Program Main函数开始执行--
-2024-10-30 19:15:25.9406 [INFO] : 加载配置文件——>开始
-2024-10-30 19:15:25.9599 [INFO] : 加载配置文件——>完成
-2024-10-30 19:15:25.9599 [INFO] : Log in using the CLMS authorization.
-2024-10-30 19:15:28.5359 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-30 19:15:29.8510 [INFO] : 启动PLC写线程!
-2024-10-30 19:15:29.8510 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-30 19:15:29.8510 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-30 19:15:29.8510 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-30 19:15:29.8510 [INFO] : 连接PLC....
-2024-10-30 19:15:30.8794 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:15:30.8899 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:15:31.1795 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-30 19:15:31.9943 [ERROR] : PLC S7连接失败。
-2024-10-30 19:15:31.9943 [ERROR] : 连接PLC失败
-2024-10-30 19:41:03.5489 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-30 19:41:09.2521 [INFO] : --软件Program Main函数开始执行--
-2024-10-30 19:41:09.3190 [INFO] : 加载配置文件——>开始
-2024-10-30 19:41:09.3374 [INFO] : 加载配置文件——>完成
-2024-10-30 19:41:09.3419 [INFO] : Log in using the CLMS authorization.
-2024-10-30 19:41:12.7135 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-30 19:41:13.9867 [INFO] : 启动PLC写线程!
-2024-10-30 19:41:13.9867 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-30 19:41:13.9867 [INFO] : 连接PLC....
-2024-10-30 19:41:13.9867 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-30 19:41:13.9867 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-30 19:41:14.5559 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:41:14.5595 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:41:14.8776 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-30 19:41:16.1479 [ERROR] : PLC S7连接失败。
-2024-10-30 19:41:16.1479 [ERROR] : 连接PLC失败
-2024-10-30 19:42:16.2455 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-10-30 19:42:24.9076 [INFO] : --软件Program Main函数开始执行--
-2024-10-30 19:42:24.9318 [INFO] : 加载配置文件——>开始
-2024-10-30 19:42:24.9375 [INFO] : 加载配置文件——>完成
-2024-10-30 19:42:24.9375 [INFO] : Log in using the CLMS authorization.
-2024-10-30 19:42:27.6564 [INFO] : 进入显示车身模式!显示车身界面。
-2024-10-30 19:42:28.4533 [INFO] : 启动PLC写线程!
-2024-10-30 19:42:28.4533 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-10-30 19:42:28.4533 [INFO] : 连接PLC....
-2024-10-30 19:42:28.4901 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-10-30 19:42:28.4901 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-10-30 19:42:29.3068 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:42:29.3448 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-10-30 19:42:29.6262 [INFO] : 显示左侧EHY车身数据界面。
-2024-10-30 19:42:30.5471 [ERROR] : PLC S7连接失败。
-2024-10-30 19:42:30.5471 [ERROR] : 连接PLC失败
-2024-10-30 19:42:41.4254 [INFO] : 存在EHY CSV文件,开始解析:
-2024-10-30 19:42:41.4254 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-10-30 19:42:41.4254 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-30 19:42:41.4349 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23981
-2024-10-30 19:42:41.4349 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-10-30 19:42:41.4349 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-10-30 19:42:41.8289 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-10-30 19:42:41.8289 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-10-30 19:42:41.8289 [INFO] : LNNBBDEC8RDA23981 EHY开始计算极差:============
-2024-10-30 19:42:41.8822 [INFO] : LNNBBDEC8RDA23981 EHY计算极差完成,并插入数据库:============
-2024-10-30 19:42:42.3510 [INFO] : 计算合格率的时:包含极差计算项!
-2024-10-30 19:42:42.3744 [INFO] : 将总结果插入数据库完毕。
-2024-10-30 19:42:42.3744 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-10-30 19:42:42.3744 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-10-30 19:42:42.3744 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241030194242_LNNBBDEC8RDA23981.csv
-2024-10-30 19:46:30.5684 [INFO] : Update To IOT Data Content: {"serno":"20241030194630568","requestData":[{"vin":"LNNBBDEC8RDA23981","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-10-30 19:42:41","targetRate":"60.00%","rate":"87.84%","GapList":[{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23981","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-10-30 19:46:40.7087 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488
-2024-10-30 19:46:40.7087 [ERROR] : EHY数据上传IOT失败!
diff --git a/Analysis/bin/x64/Debug/logs/2024-11-04.log b/Analysis/bin/x64/Debug/logs/2024-11-04.log
deleted file mode 100644
index 3840fb8..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-11-04.log
+++ /dev/null
@@ -1,40 +0,0 @@
-2024-11-04 13:57:14.4424 [INFO] : --软件Program Main函数开始执行--
-2024-11-04 13:57:14.4534 [INFO] : 加载配置文件——>开始
-2024-11-04 13:57:14.4534 [INFO] : 加载配置文件——>完成
-2024-11-04 13:57:14.4645 [INFO] : Log in using the CLMS authorization.
-2024-11-04 13:57:16.3121 [INFO] : 进入显示车身模式!显示车身界面。
-2024-11-04 13:57:17.1323 [INFO] : 启动PLC写线程!
-2024-11-04 13:57:17.1323 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-11-04 13:57:17.1323 [INFO] : 连接PLC....
-2024-11-04 13:57:17.1323 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-11-04 13:57:17.1370 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-11-04 13:57:17.6566 [INFO] : Left EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-04 13:57:17.6787 [INFO] : Left EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-04 13:57:17.8484 [INFO] : 显示左侧EHY车身数据界面。
-2024-11-04 13:57:19.2413 [ERROR] : PLC S7连接失败。
-2024-11-04 13:57:19.2413 [ERROR] : 连接PLC失败
-2024-11-04 13:58:33.2828 [INFO] : 存在EHY CSV文件,开始解析:
-2024-11-04 13:58:33.2828 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-11-04 13:58:33.2828 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-11-04 13:58:33.2828 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23979
-2024-11-04 13:58:33.2921 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-11-04 13:58:33.2921 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-11-04 13:58:33.6369 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-11-04 13:58:33.6369 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-11-04 13:58:33.6369 [INFO] : LNNBBDEC8RDA23979 EHY开始计算极差:============
-2024-11-04 13:58:33.6627 [INFO] : LNNBBDEC8RDA23979 EHY计算极差完成,并插入数据库:============
-2024-11-04 13:58:33.9819 [INFO] : 计算合格率的时:包含极差计算项!
-2024-11-04 13:58:34.0019 [INFO] : 将总结果插入数据库完毕。
-2024-11-04 13:58:34.0019 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-11-04 13:58:34.0019 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-11-04 13:58:34.0019 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241104135834_LNNBBDEC8RDA23979.csv
-2024-11-04 13:58:34.1311 [INFO] : Update To IOT Data Content: {"serno":"20241104135834131","requestData":[{"vin":"LNNBBDEC8RDA23979","model":"EHY","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-11-04 13:58:33","targetRate":"60.00%","rate":"87.84%","GapList":[{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-01","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-01","actualValue":"2.6","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-02","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-02","actualValue":"2.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-03","actualValue":"-0.7","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-03","actualValue":"3.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-10","actualValue":"0.9","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-10","actualValue":"2.9","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-12","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-13","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-21","actualValue":"-1.0","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-21","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-22","actualValue":"0.5","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-22","actualValue":"2.1","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-14","actualValue":"-2.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-15","actualValue":"-1.5","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-15","actualValue":"3.2","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-16","actualValue":"-1.8","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"L-18","actualValue":"1.5","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"L-18","actualValue":"3.1","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-01","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-01","actualValue":"3.5","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-02","actualValue":"-1.5","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-02","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-03","actualValue":"-1.9","controlLine":"-1.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-03","actualValue":"2.9","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-04","actualValue":"-0.9","controlLine":"-0.5/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-10","actualValue":"3.8","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-08","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-08","actualValue":"3.7","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-12","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-13","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-14","actualValue":"-0.6","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-14","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-15","actualValue":"-1.3","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-15","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-16","actualValue":"-0.7","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-16","actualValue":"4.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"F","pointNumber":"R-18","actualValue":"0.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"R-18","actualValue":"3.0","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD01L","actualValue":"1.3","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD03L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD04L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD05L","actualValue":"0.0","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD06L","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD01R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD02R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD03R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD04R","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD06R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD07","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD08","actualValue":"0.5","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD09","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD10","actualValue":"0.8","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD11","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD12","actualValue":"1.5","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNBBDEC8RDA23979","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-11-04 13:58:44.1834 [ERROR] : EHY数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488
-2024-11-04 13:58:44.1834 [ERROR] : EHY数据上传IOT失败!
-2024-11-04 14:01:05.2871 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-04 14:01:05.4598 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-04 14:01:05.6160 [INFO] : 显示右侧EHY车身数据界面。
-2024-11-04 14:02:03.7890 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-11-25.log b/Analysis/bin/x64/Debug/logs/2024-11-25.log
deleted file mode 100644
index d74aa14..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-11-25.log
+++ /dev/null
@@ -1,37 +0,0 @@
-2024-11-25 18:52:55.4032 [INFO] : --软件Program Main函数开始执行--
-2024-11-25 18:52:55.4032 [INFO] : 加载配置文件——>开始
-2024-11-25 18:52:55.4295 [INFO] : 加载配置文件——>完成
-2024-11-25 18:52:55.4295 [INFO] : Log in using the CLMS authorization.
-2024-11-25 18:52:59.0483 [INFO] : 进入显示车身模式!显示车身界面。
-2024-11-25 18:53:00.0579 [INFO] : 启动PLC写线程!
-2024-11-25 18:53:00.0579 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-11-25 18:53:00.0579 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-11-25 18:53:00.0579 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-11-25 18:53:00.0579 [INFO] : 连接PLC....
-2024-11-25 18:53:00.1609 [ERROR] : PLC S7连接失败。
-2024-11-25 18:53:00.3116 [ERROR] : 连接PLC失败
-2024-11-25 18:53:00.7807 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-25 18:53:00.8142 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-11-25 18:53:01.0531 [INFO] : 显示右侧EHY车身数据界面。
-2024-11-25 19:03:05.8190 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-11-25 19:03:05.8190 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241125_163248.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241125_163248.csv Done. 备份完成
-2024-11-25 19:03:05.8230 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241125_163248.csv
-2024-11-25 19:03:05.8230 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC6RDA37462
-2024-11-25 19:03:05.8230 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-11-25 19:03:05.8230 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-11-25 19:03:06.2483 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-11-25 19:03:06.2483 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-11-25 19:03:06.2483 [INFO] : LNNACDEC6RDA37462 EH3开始计算极差:============
-2024-11-25 19:03:06.2802 [INFO] : L-18G G 查询的测量值为inv
-2024-11-25 19:03:06.2802 [INFO] : LNNACDEC6RDA37462 EH3计算极差完成,并插入数据库:============
-2024-11-25 19:03:06.8161 [INFO] : 计算合格率的时:包含极差计算项!
-2024-11-25 19:03:06.8484 [INFO] : 将EH3总结果插入数据库完毕。
-2024-11-25 19:03:06.8484 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241125_163248.csv
-2024-11-25 19:03:06.8590 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241125190306_LNNACDEC6RDA37462.csv
-2024-11-25 19:03:07.0013 [INFO] : Update To IOT Data Content: {"serno":"20241125190307001","requestData":[{"vin":"LNNACDEC6RDA37462","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-11-25 19:03:06","targetRate":"60.00%","rate":"82.19%","GapList":[{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-01","actualValue":"-1.2","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-02","actualValue":"-1.8","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-02","actualValue":"3.2","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-03","actualValue":"-1.2","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-03","actualValue":"3.2","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-04","actualValue":"-0.0","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-04","actualValue":"2.7","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-06","actualValue":"0.5","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-06","actualValue":"2.9","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-10","actualValue":"0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-10","actualValue":"3.6","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-08","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-08","actualValue":"3.3","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-12","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-12","actualValue":"3.6","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-13","actualValue":"0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-13","actualValue":"3.5","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-21","actualValue":"-0.6","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-21","actualValue":"3.0","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-22","actualValue":"0.3","controlLine":"-1.0/0.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-22","actualValue":"1.4","controlLine":"1.8/2.8","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-14","actualValue":"-1.3","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-14","actualValue":"2.3","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-15","actualValue":"-0.8","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-15","actualValue":"3.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-16","actualValue":"-1.6","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-16","actualValue":"2.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"L-18","actualValue":"-2.3","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"L-18","actualValue":"","controlLine":"2.6/5.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-01","actualValue":"-1.0","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-01","actualValue":"3.8","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-02","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-02","actualValue":"3.5","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-03","actualValue":"-1.5","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-03","actualValue":"3.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-04","actualValue":"0.6","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-04","actualValue":"2.6","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-06","actualValue":"1.1","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-06","actualValue":"3.2","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-10","actualValue":"0.4","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-10","actualValue":"3.5","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-08","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-08","actualValue":"3.5","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-12","actualValue":"-0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-12","actualValue":"3.2","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-13","actualValue":"0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-13","actualValue":"3.4","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-14","actualValue":"-1.8","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-14","actualValue":"3.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-15","actualValue":"0.0","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-15","actualValue":"4.0","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-16","actualValue":"-1.1","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-16","actualValue":"3.8","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"F","pointNumber":"R-18","actualValue":"2.0","controlLine":"-2.7/-0.7","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"R-18","actualValue":"3.4","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD01L","actualValue":"0.5","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD04L","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD05L","actualValue":"1.6","controlLine":"0.0/0.5","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD06L","actualValue":"1.0","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD01R","actualValue":"0.8","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD02R","actualValue":"0.6","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD03R","actualValue":"0.0","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD04R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD06R","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD07","actualValue":"0.1","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD08","actualValue":"0.3","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD09","actualValue":"0.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD10","actualValue":"1.4","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD11","actualValue":"0.1","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD12","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC6RDA37462","gfNo":"G","pointNumber":"FD13","actualValue":"inv","controlLine":"0.0/1.2","measurementResult":"NG"}]}]}
-2024-11-25 19:03:17.0717 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488
-2024-11-25 19:03:17.0717 [ERROR] : EH3数据上传IOT失败!
-2024-11-25 19:21:23.8635 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-12-24.log b/Analysis/bin/x64/Debug/logs/2024-12-24.log
deleted file mode 100644
index 1761dc5..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-12-24.log
+++ /dev/null
@@ -1,347 +0,0 @@
-2024-12-24 14:30:30.1733 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 14:30:30.1733 [INFO] : 加载配置文件——>开始
-2024-12-24 14:30:30.1932 [INFO] : 加载配置文件——>完成
-2024-12-24 14:30:30.1932 [INFO] : Log in using the CLMS authorization.
-2024-12-24 14:30:32.2280 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 14:30:32.9463 [INFO] : 启动PLC写线程!
-2024-12-24 14:30:32.9463 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 14:30:32.9463 [INFO] : 连接PLC....
-2024-12-24 14:30:32.9463 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 14:30:32.9463 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 14:30:33.4364 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:30:33.6195 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:30:33.7516 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 14:30:35.0630 [ERROR] : PLC S7连接失败。
-2024-12-24 14:30:35.0630 [ERROR] : 连接PLC失败
-2024-12-24 14:30:55.6145 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-12-24 14:30:55.6145 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010605.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010605.csv Done. 备份完成
-2024-12-24 14:30:55.6145 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010605.csv
-2024-12-24 14:30:55.6145 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC7RDA51631
-2024-12-24 14:30:55.6145 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 14:30:55.6145 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 14:30:55.8088 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 14:30:55.8088 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-12-24 14:30:55.8088 [INFO] : LNNACDEC7RDA51631 EH3开始计算极差:============
-2024-12-24 14:30:55.8257 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:30:55.8257 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 14:30:55.8257 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 14:30:55.8257 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 14:30:55.8257 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 14:30:55.8287 [INFO] : LNNACDEC7RDA51631 EH3计算极差完成,并插入数据库:============
-2024-12-24 14:30:55.9944 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 14:30:56.0114 [INFO] : 将EH3总结果插入数据库完毕。
-2024-12-24 14:30:56.0114 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010605.csv
-2024-12-24 14:30:56.0158 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143056_LNNACDEC7RDA51631.csv
-2024-12-24 14:30:56.1387 [INFO] : Update To IOT Data Content: {"serno":"20241224143056138","requestData":[{"vin":"LNNACDEC7RDA51631","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-12-24 14:30:55","targetRate":"60.00%","rate":"62.50%","GapList":[{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-01","actualValue":"-0.7","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-01","actualValue":"3.2","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-02","actualValue":"-1.4","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-02","actualValue":"2.8","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-03","actualValue":"-1.4","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-03","actualValue":"3.1","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-04","actualValue":"-0.1","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-04","actualValue":"3.1","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-06","actualValue":"1.2","controlLine":"-0.8/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-06","actualValue":"3.3","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-10","actualValue":"-0.8","controlLine":"-0.4/0.8","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-10","actualValue":"3.3","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-08","actualValue":"0.3","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-08","actualValue":"3.0","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-12","actualValue":"-0.3","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-12","actualValue":"3.9","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-13","actualValue":"-0.2","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-13","actualValue":"4.0","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-21","actualValue":"-0.1","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-21","actualValue":"2.6","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-22","actualValue":"-0.9","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-22","actualValue":"2.0","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-14","actualValue":"-0.1","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-14","actualValue":"4.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-15","actualValue":"-0.2","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-15","actualValue":"4.9","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-16","actualValue":"-0.3","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-16","actualValue":"3.7","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"F","pointNumber":"L-18","actualValue":"-1.6","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"L-18","actualValue":"4.6","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD01L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD02L","actualValue":"0.2","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD04L","actualValue":"0.1","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD05L","actualValue":"0.6","controlLine":"0.0/0.5","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD06L","actualValue":"1.2","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD01R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD02R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD03R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD04R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD06R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD08","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD09","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD10","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD11","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD12","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC7RDA51631","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-12-24 14:31:06.1928 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488
-2024-12-24 14:31:06.1928 [ERROR] : EH3数据上传IOT失败!
-2024-12-24 14:31:47.4233 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-12-24 14:31:47.4233 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_124000.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_124000.csv Done. 备份完成
-2024-12-24 14:31:47.4233 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_124000.csv
-2024-12-24 14:31:47.4233 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC4RDA51862
-2024-12-24 14:31:47.4233 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 14:31:47.4233 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 14:31:47.6506 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 14:31:47.6506 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-12-24 14:31:47.6506 [INFO] : LNNACDEC4RDA51862 EH3开始计算极差:============
-2024-12-24 14:31:47.6607 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:31:47.6607 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 14:31:47.6727 [INFO] : LNNACDEC4RDA51862 EH3计算极差完成,并插入数据库:============
-2024-12-24 14:31:47.8317 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 14:31:47.8317 [INFO] : 将EH3总结果插入数据库完毕。
-2024-12-24 14:31:47.8317 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_124000.csv
-2024-12-24 14:31:47.8317 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143147_LNNACDEC4RDA51862.csv
-2024-12-24 14:31:47.8317 [INFO] : Update To IOT Data Content: {"serno":"20241224143147841","requestData":[{"vin":"LNNACDEC4RDA51862","model":"EH3","equipmentNo":"NS002","equipmentName":"Hexagon","calibrationResult":"OK","detectionTime":"2024-12-24 14:31:47","targetRate":"60.00%","rate":"70.83%","GapList":[{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-01","actualValue":"-0.6","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-01","actualValue":"3.7","controlLine":"2.4/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-02","actualValue":"-1.3","controlLine":"-1.7/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-02","actualValue":"3.6","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-03","actualValue":"-0.8","controlLine":"-1.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-03","actualValue":"4.0","controlLine":"2.3/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-04","actualValue":"-0.3","controlLine":"-0.5/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-04","actualValue":"2.7","controlLine":"2.3/3.6","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-06","actualValue":"1.3","controlLine":"-0.8/0.8","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-06","actualValue":"3.1","controlLine":"2.6/4.6","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-10","actualValue":"-0.7","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-10","actualValue":"3.4","controlLine":"2.7/4.1","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-08","actualValue":"0.5","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-08","actualValue":"3.1","controlLine":"2.9/4.2","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-12","actualValue":"-0.1","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-12","actualValue":"3.6","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-13","actualValue":"-0.0","controlLine":"-0.4/0.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-13","actualValue":"3.3","controlLine":"2.7/3.9","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-21","actualValue":"-0.6","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-21","actualValue":"2.6","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-22","actualValue":"-0.3","controlLine":"-1.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-22","actualValue":"1.9","controlLine":"1.8/2.8","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-14","actualValue":"-1.7","controlLine":"-2.4/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-14","actualValue":"3.4","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-15","actualValue":"-0.1","controlLine":"-2.0/0.3","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-15","actualValue":"4.0","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-16","actualValue":"-0.3","controlLine":"-2.0/0.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-16","actualValue":"3.1","controlLine":"2.7/4.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"F","pointNumber":"L-18","actualValue":"-1.3","controlLine":"-2.7/-0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"L-18","actualValue":"3.7","controlLine":"2.6/5.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD01L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD02L","actualValue":"0.4","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD03L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD04L","actualValue":"0.3","controlLine":"0.0/0.7","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD05L","actualValue":"0.7","controlLine":"0.0/0.5","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD06L","actualValue":"0.9","controlLine":"0.0/1.0","measurementResult":"OK"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD01R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD02R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD03R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD04R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD06R","actualValue":"inv","controlLine":"0.0/0.7","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD07","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD08","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD09","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD10","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD11","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD12","actualValue":"inv","controlLine":"0.0/1.0","measurementResult":"NG"},{"vin":"LNNACDEC4RDA51862","gfNo":"G","pointNumber":"FD13","actualValue":"0.0","controlLine":"0.0/1.2","measurementResult":"OK"}]}]}
-2024-12-24 14:31:57.8640 [ERROR] : EH3数据上传IOT完成,结果返回为:Error: System.Net.WebException: 操作超时
- 在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
- 在 System.Net.HttpWebRequest.GetRequestStream()
- 在 NSAnalysis.CenterControl.PostJsonToIOT(String url, String jsonData, Nullable`1 timeout) 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 1488
-2024-12-24 14:31:57.8640 [ERROR] : EH3数据上传IOT失败!
-2024-12-24 14:33:03.3317 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-12-24 14:33:08.2898 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 14:33:08.3007 [INFO] : 加载配置文件——>开始
-2024-12-24 14:33:08.3007 [INFO] : 加载配置文件——>完成
-2024-12-24 14:33:08.3007 [INFO] : Log in using the CLMS authorization.
-2024-12-24 14:33:10.0445 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 14:33:10.4170 [INFO] : 启动PLC写线程!
-2024-12-24 14:33:10.4170 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 14:33:10.4170 [INFO] : 连接PLC....
-2024-12-24 14:33:10.4170 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 14:33:10.4170 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 14:33:11.2272 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:33:11.3963 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:33:11.5631 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 14:33:12.4642 [ERROR] : PLC S7连接失败。
-2024-12-24 14:33:12.4642 [ERROR] : 连接PLC失败
-2024-12-24 14:33:22.1907 [INFO] : 存在EHY CSV文件,开始解析:
-2024-12-24 14:33:22.1907 [INFO] : Copy D:\cherytestEHY\CheryEHY_20241222_210242.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20241222_210242.csv Done. 备份完成
-2024-12-24 14:33:22.1907 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20241222_210242.csv
-2024-12-24 14:33:22.1907 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDECXRDA52019
-2024-12-24 14:33:22.1907 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 14:33:22.1907 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 14:33:22.3871 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 14:33:22.3871 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-12-24 14:33:22.3871 [INFO] : LNNBBDECXRDA52019 EHY开始计算极差:============
-2024-12-24 14:33:22.4030 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:33:22.4030 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 14:33:22.4030 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 14:33:22.4030 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 14:33:22.4030 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 14:33:22.4060 [INFO] : LNNBBDECXRDA52019 EHY计算极差完成,并插入数据库:============
-2024-12-24 14:33:22.5865 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 14:33:22.6054 [INFO] : 将总结果插入数据库完毕。
-2024-12-24 14:33:22.6054 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20241222_210242.csv
-2024-12-24 14:33:22.6104 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-12-24 14:33:22.6104 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224143322_LNNBBDECXRDA52019.csv
-2024-12-24 14:33:22.6104 [INFO] : EHY数据上传IOT功能未启用!
-2024-12-24 14:33:29.8866 [INFO] : 存在EHY CSV文件,开始解析:
-2024-12-24 14:33:29.8906 [INFO] : Copy D:\cherytestEHY\CheryEHY_20241223_100433.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20241223_100433.csv Done. 备份完成
-2024-12-24 14:33:29.8906 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20241223_100433.csv
-2024-12-24 14:33:29.8906 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA52682
-2024-12-24 14:33:29.8906 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 14:33:29.8906 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 14:33:29.9979 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 14:33:29.9979 [INFO] : 解析NextSense EHY CSV 报告完毕!
-2024-12-24 14:33:29.9979 [INFO] : LNNBBDEC8RDA52682 EHY开始计算极差:============
-2024-12-24 14:33:30.0079 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 14:33:30.0079 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:33:30.0159 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 14:33:30.0159 [INFO] : LNNBBDEC8RDA52682 EHY计算极差完成,并插入数据库:============
-2024-12-24 14:33:30.1664 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 14:33:30.1664 [INFO] : 将总结果插入数据库完毕。
-2024-12-24 14:33:30.1664 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20241223_100433.csv
-2024-12-24 14:33:30.1739 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-12-24 14:33:30.1739 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224143330_LNNBBDEC8RDA52682.csv
-2024-12-24 14:33:30.1739 [INFO] : EHY数据上传IOT功能未启用!
-2024-12-24 14:34:17.6817 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-12-24 14:38:24.5852 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 14:38:24.5852 [INFO] : 加载配置文件——>开始
-2024-12-24 14:38:24.6001 [INFO] : 加载配置文件——>完成
-2024-12-24 14:38:24.6001 [INFO] : Log in using the CLMS authorization.
-2024-12-24 14:38:26.3224 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 14:38:26.8810 [INFO] : 启动PLC写线程!
-2024-12-24 14:38:26.8810 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 14:38:26.8810 [INFO] : 连接PLC....
-2024-12-24 14:38:26.8810 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 14:38:26.8810 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 14:38:27.4784 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:38:27.7911 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 14:38:27.9995 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 14:38:28.9294 [ERROR] : PLC S7连接失败。
-2024-12-24 14:38:28.9294 [ERROR] : 连接PLC失败
-2024-12-24 14:38:51.1635 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-12-24 14:38:51.1635 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_023436.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_023436.csv Done. 备份完成
-2024-12-24 14:38:51.1635 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_023436.csv
-2024-12-24 14:38:51.1635 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEB0RDA50893
-2024-12-24 14:38:51.1635 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 14:38:51.1635 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 14:38:51.3250 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 14:38:51.3250 [INFO] : 解析NextSense EH3 CSV 报告完毕!
-2024-12-24 14:38:51.3250 [INFO] : LNNACDEB0RDA50893 EH3开始计算极差:============
-2024-12-24 14:38:51.3419 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 14:38:51.3419 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 14:38:51.3459 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 14:38:51.3459 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 14:38:51.3459 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 14:38:51.3459 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 14:38:51.3459 [INFO] : L-18G G 查询的测量值为inv
-2024-12-24 14:38:51.3459 [INFO] : LNNACDEB0RDA50893 EH3计算极差完成,并插入数据库:============
-2024-12-24 14:38:51.4994 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 14:38:51.5248 [INFO] : 将EH3总结果插入数据库完毕。
-2024-12-24 14:38:51.5248 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_023436.csv
-2024-12-24 14:38:51.5248 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224143851_LNNACDEB0RDA50893.csv
-2024-12-24 14:38:51.5248 [INFO] : 数据上传IOT功能未启用!
-2024-12-24 14:40:57.4092 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-12-24 15:01:51.6933 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 15:01:51.6933 [INFO] : 加载配置文件——>开始
-2024-12-24 15:01:51.7193 [INFO] : 加载配置文件——>完成
-2024-12-24 15:01:51.7193 [INFO] : Log in using the CLMS authorization.
-2024-12-24 15:01:53.5682 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 15:01:54.6327 [INFO] : 启动PLC写线程!
-2024-12-24 15:01:54.6327 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 15:01:54.6327 [INFO] : 连接PLC....
-2024-12-24 15:01:54.6327 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 15:01:54.6327 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 15:01:55.1136 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:01:55.2454 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:01:55.4409 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 15:01:56.7394 [ERROR] : PLC S7连接失败。
-2024-12-24 15:01:56.7394 [ERROR] : 连接PLC失败
-2024-12-24 15:05:39.6062 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-12-24 15:16:02.5332 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 15:16:02.5791 [INFO] : 加载配置文件——>开始
-2024-12-24 15:16:02.5791 [INFO] : 加载配置文件——>完成
-2024-12-24 15:16:02.5791 [INFO] : Log in using the CLMS authorization.
-2024-12-24 15:16:05.0564 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 15:16:05.9702 [INFO] : 启动PLC写线程!
-2024-12-24 15:16:05.9702 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 15:16:05.9702 [INFO] : 连接PLC....
-2024-12-24 15:16:05.9702 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 15:16:05.9702 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 15:16:06.5368 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:16:06.6116 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:16:06.8206 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 15:16:08.1162 [ERROR] : PLC S7连接失败。
-2024-12-24 15:16:08.1162 [ERROR] : 连接PLC失败
-2024-12-24 15:16:39.2165 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-12-24 15:16:39.2185 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010605.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010605.csv Done. 备份完成
-2024-12-24 15:16:39.2185 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010605.csv
-2024-12-24 15:16:39.2185 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC7RDA51631
-2024-12-24 15:16:39.2185 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 15:16:39.2185 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 15:16:39.3934 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 15:16:43.9619 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=30
-2024-12-24 15:16:56.5746 [INFO] : LNNACDEC7RDA51631 EH3开始计算极差:============
-2024-12-24 15:16:56.5831 [INFO] : L-01G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : L-04G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : L-08G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : L-12G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : L-21G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : L-15G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 15:16:56.5831 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-01G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-02G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-03G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-14G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-15G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-16G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : L-18G G 查询的测量值为no find
-2024-12-24 15:16:56.5941 [INFO] : LNNACDEC7RDA51631 EH3计算极差完成,并插入数据库:============
-2024-12-24 15:16:56.7618 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 15:16:59.0230 [INFO] : 将EH3总结果插入数据库完毕。
-2024-12-24 15:16:59.0230 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010605.csv
-2024-12-24 15:17:01.1836 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224151701_LNNACDEC7RDA51631.csv
-2024-12-24 15:17:01.1836 [INFO] : 数据上传IOT功能未启用!
-2024-12-24 15:17:06.2052 [INFO] : 存在EH3 CSV文件,开始解析:
-2024-12-24 15:17:06.2052 [INFO] : Copy D:\cherytestEH3\CheryEH3_20241222_010750.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEH3_20241222_010750.csv Done. 备份完成
-2024-12-24 15:17:06.2052 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\CheryEH3_20241222_010750.csv
-2024-12-24 15:17:06.2052 [INFO] : 解析出NextSense CSV中的VIN为:NNACDEC0RDA51647
-2024-12-24 15:17:06.2052 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 15:17:06.2052 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 15:17:06.2916 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 15:17:10.6475 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=30
-2024-12-24 15:17:18.6252 [INFO] : LNNACDEC0RDA51647 EH3开始计算极差:============
-2024-12-24 15:17:18.6252 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 15:17:18.6252 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 15:17:18.6252 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 15:17:18.6252 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 15:17:18.6252 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 15:17:18.6252 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 15:17:18.6402 [INFO] : R-02G G 查询的测量值为no find
-2024-12-24 15:17:18.6402 [INFO] : R-03G G 查询的测量值为no find
-2024-12-24 15:17:18.6402 [INFO] : R-14G G 查询的测量值为no find
-2024-12-24 15:17:18.6750 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 15:17:18.6750 [INFO] : R-16G G 查询的测量值为no find
-2024-12-24 15:17:18.6750 [INFO] : LNNACDEC0RDA51647 EH3计算极差完成,并插入数据库:============
-2024-12-24 15:17:19.7621 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 15:17:25.4176 [INFO] : 将EH3总结果插入数据库完毕。
-2024-12-24 15:17:25.4176 [INFO] : 全部插入解析完毕,删除文件:CheryEH3_20241222_010750.csv
-2024-12-24 15:17:25.4226 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20241224151725_LNNACDEC0RDA51647.csv
-2024-12-24 15:17:25.4226 [INFO] : 数据上传IOT功能未启用!
-2024-12-24 15:18:46.4094 [INFO] : 存在EHY CSV文件,开始解析:
-2024-12-24 15:18:46.4094 [INFO] : Copy D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\奇瑞总装C0heryEHY_20241011_131932.csv Done. 备份完成
-2024-12-24 15:18:46.4094 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\奇瑞总装C0heryEHY_20241011_131932.csv
-2024-12-24 15:18:46.4094 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDEC8RDA23979
-2024-12-24 15:18:46.4094 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2024-12-24 15:18:46.4094 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2024-12-24 15:18:46.6999 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2024-12-24 15:18:49.8428 [INFO] : 解析NextSense EHY CSV 报告完毕!检查数量=56
-2024-12-24 15:19:05.4768 [INFO] : LNNBBDEC8RDA23979 EHY开始计算极差:============
-2024-12-24 15:19:05.4768 [INFO] : L-01G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-04G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-08G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-12G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-21G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-15G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : R-01G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : R-04G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : R-08G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : R-12G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : R-15G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-01G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-02G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-03G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-14G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-15G G 查询的测量值为no find
-2024-12-24 15:19:05.4837 [INFO] : L-16G G 查询的测量值为no find
-2024-12-24 15:19:05.4997 [INFO] : L-18G G 查询的测量值为no find
-2024-12-24 15:19:05.5256 [INFO] : LNNBBDEC8RDA23979 EHY计算极差完成,并插入数据库:============
-2024-12-24 15:19:05.8623 [INFO] : 计算合格率的时:包含极差计算项!
-2024-12-24 15:19:05.8623 [INFO] : 将总结果插入数据库完毕。
-2024-12-24 15:19:05.8623 [INFO] : 全部插入解析完毕,删除文件:奇瑞总装C0heryEHY_20241011_131932.csv
-2024-12-24 15:19:05.8623 [INFO] : 开始生成客户所需要的CSV格式文件:
-2024-12-24 15:19:05.8623 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20241224151905_LNNBBDEC8RDA23979.csv
-2024-12-24 15:19:05.8623 [INFO] : EHY数据上传IOT功能未启用!
-2024-12-24 15:20:56.1552 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 15:20:56.1552 [INFO] : 加载配置文件——>开始
-2024-12-24 15:20:56.1552 [INFO] : 加载配置文件——>完成
-2024-12-24 15:20:56.1552 [INFO] : Log in using the CLMS authorization.
-2024-12-24 15:20:57.7075 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 15:20:58.3567 [INFO] : 启动PLC写线程!
-2024-12-24 15:20:58.3567 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 15:20:58.3567 [INFO] : 连接PLC....
-2024-12-24 15:20:58.3567 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 15:20:58.3567 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 15:20:58.8927 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:20:59.2102 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:20:59.3361 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 15:21:00.4245 [ERROR] : PLC S7连接失败。
-2024-12-24 15:21:00.4245 [ERROR] : 连接PLC失败
-2024-12-24 15:21:24.5076 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2024-12-24 15:21:32.2236 [INFO] : --软件Program Main函数开始执行--
-2024-12-24 15:21:32.2386 [INFO] : 加载配置文件——>开始
-2024-12-24 15:21:32.2386 [INFO] : 加载配置文件——>完成
-2024-12-24 15:21:32.2386 [INFO] : Log in using the CLMS authorization.
-2024-12-24 15:21:34.0589 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-24 15:21:34.6051 [INFO] : 启动PLC写线程!
-2024-12-24 15:21:34.6051 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-24 15:21:34.6051 [INFO] : 连接PLC....
-2024-12-24 15:21:34.6051 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-24 15:21:34.6051 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-24 15:21:35.2242 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:21:35.5172 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-24 15:21:35.7072 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-24 15:21:36.6627 [ERROR] : PLC S7连接失败。
-2024-12-24 15:21:36.6627 [ERROR] : 连接PLC失败
-2024-12-24 15:42:22.1763 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2024-12-25.log b/Analysis/bin/x64/Debug/logs/2024-12-25.log
deleted file mode 100644
index 52f8be7..0000000
--- a/Analysis/bin/x64/Debug/logs/2024-12-25.log
+++ /dev/null
@@ -1,16 +0,0 @@
-2024-12-25 14:34:29.0527 [INFO] : --软件Program Main函数开始执行--
-2024-12-25 14:34:29.0666 [INFO] : 加载配置文件——>开始
-2024-12-25 14:34:29.0806 [INFO] : 加载配置文件——>完成
-2024-12-25 14:34:29.0806 [INFO] : Log in using the CLMS authorization.
-2024-12-25 14:34:31.3257 [INFO] : 进入显示车身模式!显示车身界面。
-2024-12-25 14:34:32.2168 [INFO] : 启动PLC写线程!
-2024-12-25 14:34:32.2168 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2024-12-25 14:34:32.2168 [INFO] : 连接PLC....
-2024-12-25 14:34:32.2168 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2024-12-25 14:34:32.2168 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2024-12-25 14:34:32.7905 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-25 14:34:32.8189 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2024-12-25 14:34:32.9759 [INFO] : 显示右侧EHY车身数据界面。
-2024-12-25 14:34:34.2772 [ERROR] : PLC S7连接失败。
-2024-12-25 14:34:34.2804 [ERROR] : 连接PLC失败
-2024-12-25 14:37:19.9505 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-02-21.log b/Analysis/bin/x64/Debug/logs/2025-02-21.log
deleted file mode 100644
index 7fdcfa4..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-02-21.log
+++ /dev/null
@@ -1,21 +0,0 @@
-2025-02-21 10:49:43.9960 [INFO] : --软件Program Main函数开始执行--
-2025-02-21 10:49:44.0150 [INFO] : 加载配置文件——>开始
-2025-02-21 10:49:44.0350 [INFO] : 加载配置文件——>完成
-2025-02-21 10:49:44.0350 [INFO] : Log in using the CLMS authorization.
-2025-02-21 10:49:44.5258 [INFO] : The CLMS module is unavailable!
-2025-02-21 10:55:45.2135 [INFO] : --软件Program Main函数开始执行--
-2025-02-21 10:55:45.2285 [INFO] : 加载配置文件——>开始
-2025-02-21 10:55:45.2285 [INFO] : 加载配置文件——>完成
-2025-02-21 10:55:45.2285 [INFO] : Log in using the CLMS authorization.
-2025-02-21 10:55:47.7784 [INFO] : 进入显示车身模式!显示车身界面。
-2025-02-21 10:55:48.7084 [INFO] : 启动PLC写线程!
-2025-02-21 10:55:48.7084 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-02-21 10:55:48.7084 [INFO] : 连接PLC....
-2025-02-21 10:55:48.7084 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-02-21 10:55:48.7084 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-02-21 10:55:48.7760 [ERROR] : PLC S7连接失败。
-2025-02-21 10:55:49.2306 [ERROR] : 连接PLC失败
-2025-02-21 10:55:49.6496 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-02-21 10:55:49.6866 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-02-21 10:55:49.8794 [INFO] : 显示右侧EHY车身数据界面。
-2025-02-21 10:57:35.0644 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-02-27.log b/Analysis/bin/x64/Debug/logs/2025-02-27.log
deleted file mode 100644
index 474ba60..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-02-27.log
+++ /dev/null
@@ -1,93 +0,0 @@
-2025-02-27 21:39:23.6425 [INFO] : --软件Program Main函数开始执行--
-2025-02-27 21:39:23.6614 [INFO] : 加载配置文件——>开始
-2025-02-27 21:39:23.6775 [INFO] : 加载配置文件——>完成
-2025-02-27 21:39:23.6775 [INFO] : Log in using the CLMS authorization.
-2025-02-27 21:39:25.9772 [INFO] : 进入显示车身模式!显示车身界面。
-2025-02-27 21:39:27.1440 [INFO] : 启动PLC写线程!
-2025-02-27 21:39:27.1440 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-02-27 21:39:27.1440 [INFO] : 连接PLC....
-2025-02-27 21:39:27.1440 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-02-27 21:39:27.1440 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-02-27 21:39:27.2375 [ERROR] : PLC S7连接失败。
-2025-02-27 21:39:27.3972 [ERROR] : 连接PLC失败
-2025-02-27 21:39:27.8198 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-02-27 21:39:27.8492 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-02-27 21:39:28.1009 [INFO] : 显示右侧EHY车身数据界面。
-2025-02-27 21:42:16.5194 [INFO] : 存在EH3 CSV文件,开始解析:
-2025-02-27 21:42:16.5194 [INFO] : Copy D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-02-27 21:42:16.5194 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv
-2025-02-27 21:42:16.5194 [INFO] : 解析出NextSense CSV中的VIN为:
-2025-02-27 21:42:16.5301 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:L123123123
-2025-02-27 21:42:16.5301 [INFO] : 在数据库表TTempSaveVIN中删除该VIN:L123123123
-2025-02-27 21:42:16.5301 [ERROR] : EH3 R01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:42:16.5408 [ERROR] : EH3 R01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:42:16.5408 [ERROR] : EH3 L01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:42:16.5408 [ERROR] : EH3 L01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:42:16.6099 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2025-02-27 21:42:16.6099 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=4
-2025-02-27 21:42:16.6099 [INFO] : L123123123 EH3开始计算极差:============
-2025-02-27 21:42:16.6226 [INFO] : L-01G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-04G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-08G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-12G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-21G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-15G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : R-01G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : R-04G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : R-08G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : R-12G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : R-15G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-01G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-02G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-03G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-14G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-15G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-16G G 查询的测量值为no find
-2025-02-27 21:42:16.6226 [INFO] : L-18G G 查询的测量值为no find
-2025-02-27 21:42:16.6411 [INFO] : L123123123 EH3计算极差完成,并插入数据库:============
-2025-02-27 21:42:16.7074 [INFO] : 计算合格率的时:包含极差计算项!
-2025-02-27 21:42:16.7332 [INFO] : 将EH3总结果插入数据库完毕。
-2025-02-27 21:42:16.7332 [INFO] : 全部插入解析完毕,删除文件:5mm_SelfTest_20250226_141125.csv
-2025-02-27 21:42:16.7332 [INFO] : 客户csv报告生成完毕,路径为:D:\QMLTest\20250227214216_L123123123.csv
-2025-02-27 21:42:16.7332 [INFO] : 数据上传IOT功能未启用!
-2025-02-27 21:44:26.4800 [INFO] : 存在EH3 CSV文件,开始解析:
-2025-02-27 21:44:26.4800 [INFO] : Copy D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-02-27 21:44:26.4800 [INFO] : 开始解析NextSense EH3 CSV 报告:D:\cherytestEH3\5mm_SelfTest_20250226_141125.csv
-2025-02-27 21:44:26.4800 [INFO] : 解析出NextSense CSV中的VIN为:
-2025-02-27 21:44:26.4800 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2025-02-27 21:44:26.4800 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2025-02-27 21:44:26.4940 [ERROR] : EH3 R01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:44:26.4940 [ERROR] : EH3 R01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:44:26.4940 [ERROR] : EH3 L01 F 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:44:26.4940 [ERROR] : EH3 L01 G 查询数据获取公差带失败!数据库中数量不唯一,请检查公差带配置!
-2025-02-27 21:44:26.5533 [INFO] : 解析EH3数据完成,并将所有测量数据插入到数据库完毕。
-2025-02-27 21:44:26.5533 [INFO] : 解析NextSense EH3 CSV 报告完毕!检测项数=4
-2025-02-27 21:44:26.5533 [INFO] : L EH3开始计算极差:============
-2025-02-27 21:44:26.6241 [INFO] : L-01G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-04G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-08G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-12G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-21G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-15G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : R-01G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : R-04G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : R-08G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : R-12G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : R-15G G 查询的测量值为no find
-2025-02-27 21:44:26.6241 [INFO] : L-01G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-02G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-03G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-14G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-15G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-16G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L-18G G 查询的测量值为no find
-2025-02-27 21:44:26.6352 [INFO] : L EH3计算极差完成,并插入数据库:============
-2025-02-27 21:44:26.7338 [INFO] : 计算合格率的时:包含极差计算项!
-2025-02-27 21:44:26.7338 [INFO] : 将EH3总结果插入数据库完毕。
-2025-02-27 21:44:26.7338 [INFO] : 全部插入解析完毕,删除文件:5mm_SelfTest_20250226_141125.csv
-2025-02-27 21:44:26.7538 [INFO] : AnalysisNextSenseCSV 函数分析异常:System.ArgumentException: 字符串的长度不能为零。
-参数名: oldValue
- 在 System.String.ReplaceInternal(String oldValue, String newValue)
- 在 System.String.Replace(String oldValue, String newValue)
- 在 NSAnalysis.CenterControl.AnalysisNextSenseEH3CSV() 位置 E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\CenterControl.cs:行号 799
-2025-02-27 21:49:55.0056 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-03-03.log b/Analysis/bin/x64/Debug/logs/2025-03-03.log
deleted file mode 100644
index ce97bae..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-03-03.log
+++ /dev/null
@@ -1,192 +0,0 @@
-2025-03-03 10:24:58.3488 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 10:24:58.3488 [INFO] : 加载配置文件——>开始
-2025-03-03 10:24:58.3708 [INFO] : 加载配置文件——>完成
-2025-03-03 10:24:58.3708 [INFO] : Log in using the CLMS authorization.
-2025-03-03 10:25:00.1878 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 10:25:00.8555 [INFO] : 启动PLC写线程!
-2025-03-03 10:25:00.8555 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 10:25:00.8555 [INFO] : 连接PLC....
-2025-03-03 10:25:00.8555 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 10:25:00.8555 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 10:25:00.8715 [ERROR] : PLC S7连接失败。
-2025-03-03 10:25:01.1720 [ERROR] : 连接PLC失败
-2025-03-03 10:25:01.5272 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 10:25:01.5362 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 10:25:01.6819 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 10:58:11.5165 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-03 11:36:51.1540 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 11:36:51.1540 [INFO] : 加载配置文件——>开始
-2025-03-03 11:36:51.1726 [INFO] : 加载配置文件——>完成
-2025-03-03 11:36:51.1726 [INFO] : Log in using the CLMS authorization.
-2025-03-03 11:36:52.9228 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 11:36:53.7865 [INFO] : 启动PLC写线程!
-2025-03-03 11:36:53.7865 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 11:36:53.7865 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 11:36:53.7865 [INFO] : 连接PLC....
-2025-03-03 11:36:53.7865 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 11:36:53.8001 [INFO] : PLC S7连接成功。
-2025-03-03 11:36:53.9467 [INFO] : 连接PLC成功
-2025-03-03 11:36:54.2832 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 11:36:54.3932 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 11:36:54.5471 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 11:36:54.9969 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:36:56.0071 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:36:57.0175 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:36:58.0262 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:36:59.0356 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:36:59.9447 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:00.9548 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:01.9636 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:02.9736 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:03.9829 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:04.9925 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:06.0025 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:07.0128 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:08.0233 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:09.0332 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:09.9429 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:10.9529 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:11.9630 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:12.9724 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:13.9829 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:14.9946 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:16.0052 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:17.0141 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:18.0252 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:19.0353 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:19.9439 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:20.9545 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:21.9639 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:22.9743 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:23.9859 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:24.9953 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:26.0047 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:27.0157 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:28.0246 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:29.0340 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:30.0436 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:30.9548 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:31.9642 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:32.9743 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:34.0849 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:34.9950 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:36.0052 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:37.0151 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:38.0245 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:39.0345 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:39.9436 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:40.9536 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:0
-2025-03-03 11:37:41.9631 [ERROR] : 写入PLC失败:地址为:DB4100.0; 值为:1
-2025-03-03 11:37:42.7610 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-03 14:27:27.4999 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 14:27:27.5163 [INFO] : 加载配置文件——>开始
-2025-03-03 14:27:27.5358 [INFO] : 加载配置文件——>完成
-2025-03-03 14:27:27.5358 [INFO] : Log in using the CLMS authorization.
-2025-03-03 14:27:29.2153 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 14:27:30.1750 [INFO] : 启动PLC写线程!
-2025-03-03 14:27:30.1750 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 14:27:30.1750 [INFO] : 连接PLC....
-2025-03-03 14:27:30.1750 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 14:27:30.1750 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 14:27:30.7155 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:27:30.7415 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:27:30.9016 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 14:27:32.2996 [ERROR] : PLC S7连接失败。
-2025-03-03 14:27:32.2996 [ERROR] : 连接PLC失败
-2025-03-03 14:28:02.4841 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 14:28:02.4841 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 14:28:02.4841 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 14:28:02.4841 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-03 14:28:02.4984 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-03 14:28:02.4984 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303142802_SelfMeasure20250303142802.csv
-2025-03-03 14:30:14.9122 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-03 14:30:20.6405 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 14:30:20.6525 [INFO] : 加载配置文件——>开始
-2025-03-03 14:30:20.6525 [INFO] : 加载配置文件——>完成
-2025-03-03 14:30:20.6525 [INFO] : Log in using the CLMS authorization.
-2025-03-03 14:30:22.0705 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 14:30:22.4132 [INFO] : 启动PLC写线程!
-2025-03-03 14:30:22.4132 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 14:30:22.4132 [INFO] : 连接PLC....
-2025-03-03 14:30:22.4132 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 14:30:22.4132 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 14:30:23.2513 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:30:23.4064 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:30:23.5735 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 14:30:24.4525 [ERROR] : PLC S7连接失败。
-2025-03-03 14:30:24.4525 [ERROR] : 连接PLC失败
-2025-03-03 14:30:25.1050 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 14:30:25.1050 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 14:30:25.1050 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 14:30:25.1050 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-03 14:30:25.1050 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-03 14:30:25.1050 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143025_SelfMeasure20250303143025.csv
-2025-03-03 14:30:46.6137 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-03 14:31:07.7684 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 14:31:07.8205 [INFO] : 加载配置文件——>开始
-2025-03-03 14:31:07.8255 [INFO] : 加载配置文件——>完成
-2025-03-03 14:31:07.8255 [INFO] : Log in using the CLMS authorization.
-2025-03-03 14:31:09.4589 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 14:31:10.0429 [INFO] : 启动PLC写线程!
-2025-03-03 14:31:10.0429 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 14:31:10.0429 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 14:31:10.0429 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 14:31:10.0429 [INFO] : 连接PLC....
-2025-03-03 14:31:10.6310 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:31:10.9364 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:31:11.1037 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 14:31:12.1119 [ERROR] : PLC S7连接失败。
-2025-03-03 14:31:12.1119 [ERROR] : 连接PLC失败
-2025-03-03 14:31:15.2790 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 14:31:15.2790 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 14:31:15.2790 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 14:33:08.4819 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 14:33:08.4819 [INFO] : 加载配置文件——>开始
-2025-03-03 14:33:08.4959 [INFO] : 加载配置文件——>完成
-2025-03-03 14:33:08.4959 [INFO] : Log in using the CLMS authorization.
-2025-03-03 14:33:09.9759 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 14:33:10.5401 [INFO] : 启动PLC写线程!
-2025-03-03 14:33:10.5411 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 14:33:10.5411 [INFO] : 连接PLC....
-2025-03-03 14:33:10.5411 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 14:33:10.5411 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 14:33:11.0532 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 14:33:11.0532 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 14:33:11.0532 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 14:33:11.0602 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-03 14:33:11.0602 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-03 14:33:11.0602 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143311_SelfMeasure20250303143311.csv
-2025-03-03 14:33:11.2048 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:33:11.4210 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 14:33:11.5853 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 14:33:12.5719 [ERROR] : PLC S7连接失败。
-2025-03-03 14:33:12.5719 [ERROR] : 连接PLC失败
-2025-03-03 14:33:45.3540 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 14:33:45.3540 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 14:33:45.3540 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 14:33:45.3540 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-03 14:33:45.3540 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-03 14:33:45.3540 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303143345_SelfMeasure20250303143345.csv
-2025-03-03 15:02:15.0061 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-03 15:23:17.1049 [INFO] : --软件Program Main函数开始执行--
-2025-03-03 15:23:17.1049 [INFO] : 加载配置文件——>开始
-2025-03-03 15:23:17.1185 [INFO] : 加载配置文件——>完成
-2025-03-03 15:23:17.1185 [INFO] : Log in using the CLMS authorization.
-2025-03-03 15:23:18.7091 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-03 15:23:20.1094 [INFO] : 启动PLC写线程!
-2025-03-03 15:23:20.1094 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-03 15:23:20.1094 [INFO] : 连接PLC....
-2025-03-03 15:23:20.1094 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-03 15:23:20.1094 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-03 15:23:20.1944 [ERROR] : PLC S7连接失败。
-2025-03-03 15:23:20.3831 [ERROR] : 连接PLC失败
-2025-03-03 15:23:20.7115 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 15:23:20.7115 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-03 15:23:20.8534 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-03 15:28:21.2452 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-03 15:28:21.2452 [INFO] : Copy D:\test\5mm_SelfTest_20250226_141125.csv TO E:\1AHexagonProjects\2024\CheryFinalAssemblyLine\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250226_141125.csv Done. 备份完成
-2025-03-03 15:28:21.2452 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250226_141125.csv
-2025-03-03 15:28:21.2452 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-03 15:28:21.2592 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-03 15:28:21.2592 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250303152821_SelfMeasure20250303152821.csv
-2025-03-03 15:29:31.5562 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-03-05.log b/Analysis/bin/x64/Debug/logs/2025-03-05.log
deleted file mode 100644
index 0e8d749..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-03-05.log
+++ /dev/null
@@ -1,100 +0,0 @@
-2025-03-05 09:44:15.7775 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 09:44:15.7899 [INFO] : 加载配置文件——>开始
-2025-03-05 09:44:15.8075 [INFO] : 加载配置文件——>完成
-2025-03-05 09:44:15.8075 [INFO] : Log in using the CLMS authorization.
-2025-03-05 09:44:17.7477 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 09:44:18.6852 [INFO] : 启动PLC写线程!
-2025-03-05 09:44:18.6852 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 09:44:18.6852 [INFO] : 连接PLC....
-2025-03-05 09:44:18.6852 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 09:44:18.6852 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 09:44:18.7620 [ERROR] : PLC S7连接失败。
-2025-03-05 09:44:18.9192 [ERROR] : 连接PLC失败
-2025-03-05 09:44:19.2720 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 09:44:19.2971 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 09:44:19.4573 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-05 10:17:57.0959 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-05 11:13:41.7618 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:13:41.7773 [INFO] : 加载配置文件——>开始
-2025-03-05 11:13:41.8007 [INFO] : 加载配置文件——>完成
-2025-03-05 11:13:41.8007 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:13:41.9075 [INFO] : CLMS check license failed! Please authorize the operation.
-2025-03-05 11:15:02.5705 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:15:02.5986 [INFO] : 加载配置文件——>开始
-2025-03-05 11:15:02.6126 [INFO] : 加载配置文件——>完成
-2025-03-05 11:15:02.6482 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:15:05.3569 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 11:15:06.2338 [INFO] : 启动PLC写线程!
-2025-03-05 11:15:06.2338 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 11:15:06.2338 [ERROR] : 错误:软件首次启动,读取NextSense生成EH3 CSV报告的路径:D:\cherytestEH3 不存在!请检查并进行修改!点击是按钮,软件将自动创建该路径!
-2025-03-05 11:15:06.2338 [INFO] : 连接PLC....
-2025-03-05 11:15:06.3088 [ERROR] : 错误:软件首次启动,读取NextSense生成EHY CSV报告的路径:D:\cherytestEHY 不存在!请检查并进行修改!点击是按钮,软件将自动创建该路径!
-2025-03-05 11:15:09.6252 [ERROR] : PLC S7连接失败。
-2025-03-05 11:15:26.2806 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:15:26.3211 [INFO] : 加载配置文件——>开始
-2025-03-05 11:15:26.3712 [INFO] : 加载配置文件——>完成
-2025-03-05 11:15:26.3712 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:15:28.9387 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 11:15:29.3810 [INFO] : 启动PLC写线程!
-2025-03-05 11:15:29.3833 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 11:15:29.3833 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 11:15:29.3833 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 11:15:29.3833 [INFO] : 连接PLC....
-2025-03-05 11:19:30.1906 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:19:30.2629 [INFO] : 加载配置文件——>开始
-2025-03-05 11:19:30.3123 [INFO] : 加载配置文件——>完成
-2025-03-05 11:19:30.3161 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:19:33.6048 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 11:19:34.0776 [INFO] : 启动PLC写线程!
-2025-03-05 11:19:34.0776 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 11:19:34.0776 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 11:19:34.0776 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 11:19:34.0776 [INFO] : 连接PLC....
-2025-03-05 11:21:50.9494 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:21:50.9768 [INFO] : 加载配置文件——>开始
-2025-03-05 11:21:51.0041 [INFO] : 加载配置文件——>完成
-2025-03-05 11:21:51.0041 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:21:53.5809 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 11:21:54.0366 [INFO] : 启动PLC写线程!
-2025-03-05 11:21:54.0366 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 11:21:54.0366 [INFO] : 连接PLC....
-2025-03-05 11:21:54.0366 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 11:21:54.0428 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 11:21:56.1341 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 11:21:56.1425 [ERROR] : PLC S7连接失败。
-2025-03-05 11:21:56.1425 [ERROR] : 连接PLC失败
-2025-03-05 11:21:56.1550 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 11:21:56.3064 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-05 11:22:40.0160 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-05 11:22:47.5138 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 11:22:47.5296 [INFO] : 加载配置文件——>开始
-2025-03-05 11:22:47.5517 [INFO] : 加载配置文件——>完成
-2025-03-05 11:22:47.5517 [INFO] : Log in using the CLMS authorization.
-2025-03-05 11:22:49.6036 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 11:22:50.0176 [INFO] : 启动PLC写线程!
-2025-03-05 11:22:50.0176 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 11:22:50.0176 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 11:22:50.0176 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 11:22:50.0176 [INFO] : 连接PLC....
-2025-03-05 11:22:50.8463 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 11:22:50.9245 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 11:22:51.1100 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-05 11:22:52.1105 [ERROR] : PLC S7连接失败。
-2025-03-05 11:22:52.1105 [ERROR] : 连接PLC失败
-2025-03-05 11:23:44.6633 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-05 14:52:27.5382 [INFO] : --软件Program Main函数开始执行--
-2025-03-05 14:52:27.5780 [INFO] : 加载配置文件——>开始
-2025-03-05 14:52:27.6473 [INFO] : 加载配置文件——>完成
-2025-03-05 14:52:27.6473 [INFO] : Log in using the CLMS authorization.
-2025-03-05 14:52:32.0564 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-05 14:52:33.3753 [INFO] : 启动PLC写线程!
-2025-03-05 14:52:33.3823 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-05 14:52:33.3823 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-05 14:52:33.3823 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-05 14:52:33.3823 [INFO] : 连接PLC....
-2025-03-05 14:52:34.9162 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 14:52:34.9334 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-05 14:52:35.6221 [ERROR] : PLC S7连接失败。
-2025-03-05 14:52:35.6374 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-05 14:52:35.6422 [ERROR] : 连接PLC失败
-2025-03-05 15:01:34.1009 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-03-07.log b/Analysis/bin/x64/Debug/logs/2025-03-07.log
deleted file mode 100644
index c80a529..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-03-07.log
+++ /dev/null
@@ -1,107 +0,0 @@
-2025-03-07 11:49:23.7306 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 11:49:23.8049 [INFO] : 加载配置文件——>开始
-2025-03-07 11:49:23.8339 [INFO] : 加载配置文件——>完成
-2025-03-07 11:49:23.8375 [INFO] : Log in using the CLMS authorization.
-2025-03-07 11:49:26.4633 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 11:49:27.3505 [INFO] : 启动PLC写线程!
-2025-03-07 11:49:27.3525 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 11:49:27.4301 [INFO] : 连接PLC....
-2025-03-07 11:49:27.4301 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 11:49:27.4301 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 11:49:28.6229 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 11:49:28.6544 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 11:49:28.7444 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 11:49:29.5910 [ERROR] : PLC S7连接失败。
-2025-03-07 11:49:29.5910 [ERROR] : 连接PLC失败
-2025-03-07 11:49:38.9020 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-07 11:51:04.8682 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 11:51:04.9034 [INFO] : 加载配置文件——>开始
-2025-03-07 11:51:04.9322 [INFO] : 加载配置文件——>完成
-2025-03-07 11:51:04.9322 [INFO] : Log in using the CLMS authorization.
-2025-03-07 11:51:07.4314 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 11:51:07.9428 [INFO] : 启动PLC写线程!
-2025-03-07 11:51:07.9777 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 11:51:07.9777 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 11:51:07.9777 [INFO] : 连接PLC....
-2025-03-07 11:51:07.9777 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 11:51:08.8813 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-07 11:51:08.8873 [INFO] : Copy D:\test\5mm_SelfTest_20250304_141005.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250304_141005.csv Done. 备份完成
-2025-03-07 11:51:08.8873 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250304_141005.csv
-2025-03-07 11:51:11.2935 [ERROR] : PLC S7连接失败。
-2025-03-07 11:51:14.8251 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-07 11:51:14.8251 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-07 11:51:14.8251 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250307115114_SelfMeasure20250307115108.csv
-2025-03-07 11:51:14.8580 [ERROR] : 连接PLC失败
-2025-03-07 11:51:14.9739 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 11:51:14.9856 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 11:51:15.1596 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 15:50:31.2198 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 15:50:31.3032 [INFO] : 加载配置文件——>开始
-2025-03-07 15:50:31.3281 [INFO] : 加载配置文件——>完成
-2025-03-07 15:50:31.3281 [INFO] : Log in using the CLMS authorization.
-2025-03-07 15:50:31.4442 [INFO] : CLMS check license failed! Please authorize the operation.
-2025-03-07 15:50:53.1374 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 15:50:53.1587 [INFO] : 加载配置文件——>开始
-2025-03-07 15:50:53.1738 [INFO] : 加载配置文件——>完成
-2025-03-07 15:50:55.9586 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 15:50:56.8453 [INFO] : 启动PLC写线程!
-2025-03-07 15:50:56.8503 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 15:50:56.8866 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 15:50:56.8866 [INFO] : 连接PLC....
-2025-03-07 15:50:56.9156 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 15:50:58.4221 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 15:50:58.4659 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 15:50:58.6570 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 15:50:59.0932 [ERROR] : PLC S7连接失败。
-2025-03-07 15:50:59.0932 [ERROR] : 连接PLC失败
-2025-03-07 15:51:50.4117 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-07 16:01:38.5863 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 16:01:38.6472 [INFO] : 加载配置文件——>开始
-2025-03-07 16:01:38.6732 [INFO] : 加载配置文件——>完成
-2025-03-07 16:01:41.0239 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 16:01:41.5683 [INFO] : 启动PLC写线程!
-2025-03-07 16:01:41.5683 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 16:01:41.6026 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 16:01:41.6026 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 16:01:41.6026 [INFO] : 连接PLC....
-2025-03-07 16:01:42.5115 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:01:42.5225 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:01:42.6752 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 16:01:43.7337 [ERROR] : PLC S7连接失败。
-2025-03-07 16:01:43.7407 [ERROR] : 连接PLC失败
-2025-03-07 16:03:25.7070 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 16:03:25.7351 [INFO] : 加载配置文件——>开始
-2025-03-07 16:03:25.7526 [INFO] : 加载配置文件——>完成
-2025-03-07 16:03:28.1729 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 16:03:28.7326 [INFO] : 启动PLC写线程!
-2025-03-07 16:03:28.7326 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 16:03:28.7326 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 16:03:28.7326 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 16:03:28.7386 [INFO] : 连接PLC....
-2025-03-07 16:03:29.6605 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:03:29.6605 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:03:29.8407 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 16:03:30.8301 [ERROR] : PLC S7连接失败。
-2025-03-07 16:03:30.8376 [ERROR] : 连接PLC失败
-2025-03-07 16:03:44.6581 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-03-07 16:06:21.0674 [INFO] : --软件Program Main函数开始执行--
-2025-03-07 16:06:21.1279 [INFO] : 加载配置文件——>开始
-2025-03-07 16:06:21.1552 [INFO] : 加载配置文件——>完成
-2025-03-07 16:06:23.5239 [INFO] : 进入显示车身模式!显示车身界面。
-2025-03-07 16:06:23.9591 [INFO] : 启动PLC写线程!
-2025-03-07 16:06:23.9591 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-03-07 16:06:23.9591 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-03-07 16:06:23.9591 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-03-07 16:06:23.9591 [INFO] : 连接PLC....
-2025-03-07 16:06:26.0592 [ERROR] : PLC S7连接失败。
-2025-03-07 16:06:26.0674 [ERROR] : 连接PLC失败
-2025-03-07 16:06:26.1193 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:06:26.1321 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-03-07 16:06:26.3130 [INFO] : 显示右侧EHY车身数据界面。
-2025-03-07 16:06:31.1071 [INFO] : 存在EHY CSV文件,开始解析:
-2025-03-07 16:06:31.1071 [INFO] : Copy D:\test\5mm_SelfTest_20250304_141005.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\5mm_SelfTest_20250304_141005.csv Done. 备份完成
-2025-03-07 16:06:31.1168 [INFO] : 开始解析NextSense EHY CSV 报告:D:\test\5mm_SelfTest_20250304_141005.csv
-2025-03-07 16:06:31.1363 [INFO] : 解析NextSense 自检报告完毕!检查数量=4
-2025-03-07 16:06:31.1435 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-03-07 16:06:31.1435 [INFO] : 客户自检报告生成完毕,路径为:D:\QMLTest\20250307160631_SelfMeasure20250307160631.csv
-2025-03-07 16:10:12.2160 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
diff --git a/Analysis/bin/x64/Debug/logs/2025-05-19.log b/Analysis/bin/x64/Debug/logs/2025-05-19.log
deleted file mode 100644
index 2a4f11a..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-05-19.log
+++ /dev/null
@@ -1,70 +0,0 @@
-2025-05-19 11:04:49.4949 [INFO] : --软件Program Main函数开始执行--
-2025-05-19 11:04:49.5275 [INFO] : 加载配置文件——>开始
-2025-05-19 11:04:49.5531 [INFO] : 加载配置文件——>完成
-2025-05-19 11:04:51.5937 [INFO] : 进入显示车身模式!显示车身界面。
-2025-05-19 11:04:52.1524 [INFO] : 启动PLC写线程!
-2025-05-19 11:04:52.1748 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-05-19 11:04:52.1787 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-05-19 11:04:52.1787 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-05-19 11:04:52.1787 [INFO] : 连接PLC....
-2025-05-19 11:04:52.9050 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 11:04:52.9188 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 11:04:53.0571 [INFO] : 显示右侧EHY车身数据界面。
-2025-05-19 11:04:54.2402 [ERROR] : PLC S7连接失败。
-2025-05-19 11:04:54.2402 [ERROR] : 连接PLC失败
-2025-05-19 11:06:28.9454 [INFO] : 存在EHY CSV文件,开始解析:
-2025-05-19 11:06:28.9454 [INFO] : Copy D:\cherytestEHY\CheryEHY_20250519_102428.csv TO D:\HexagonProjects\2024-20-奇瑞间隙面差\奇瑞间隙面差总装代码资料\Code\Analysis\bin\x64\Debug\File\NextSenseCSVBackup\CheryEHY_20250519_102428.csv Done. 备份完成
-2025-05-19 11:06:28.9454 [INFO] : 开始解析NextSense EHY CSV 报告:D:\cherytestEHY\CheryEHY_20250519_102428.csv
-2025-05-19 11:06:28.9454 [INFO] : 解析出NextSense CSV中的VIN为:NNBBDFC0SDF39699
-2025-05-19 11:06:28.9454 [INFO] : 通过CSV VIN从数据库中获取的完整VIN为:NoFind
-2025-05-19 11:06:28.9454 [INFO] : 数据库中没有查找到VIN码,NoFind, +L 使用CSV码
-2025-05-19 11:06:29.4810 [INFO] : 解析EHY数据完成,并将所有测量数据插入到数据库完毕。
-2025-05-19 11:06:32.2098 [INFO] : 解析NextSense EHY CSV 报告完毕!检查数量=56
-2025-05-19 11:06:32.2098 [INFO] : LNNBBDFC0SDF39699 EHY开始计算极差:============
-2025-05-19 11:06:32.2744 [INFO] : LNNBBDFC0SDF39699 EHY计算极差完成,并插入数据库:============
-2025-05-19 11:06:32.6131 [INFO] : 计算合格率的时:包含极差计算项!
-2025-05-19 11:06:32.6422 [INFO] : 将总结果插入数据库完毕。
-2025-05-19 11:06:32.6422 [INFO] : 全部插入解析完毕,删除文件:CheryEHY_20250519_102428.csv
-2025-05-19 11:06:32.6492 [INFO] : 开始生成客户所需要的CSV格式文件:
-2025-05-19 11:06:32.6492 [INFO] : 客户EHY csv报告生成完毕,路径为:D:\QMLTest\20250519110632_LNNBBDFC0SDF39699.csv
-2025-05-19 11:06:32.6492 [INFO] : EHY数据上传IOT功能未启用!
-2025-05-19 11:14:21.6193 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-05-19 13:52:25.2061 [INFO] : --软件Program Main函数开始执行--
-2025-05-19 13:52:25.2313 [INFO] : 加载配置文件——>开始
-2025-05-19 13:52:25.2688 [INFO] : 加载配置文件——>完成
-2025-05-19 13:52:27.7669 [INFO] : 进入显示车身模式!显示车身界面。
-2025-05-19 13:52:28.6190 [INFO] : 启动PLC写线程!
-2025-05-19 13:52:28.6190 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-05-19 13:52:28.6190 [INFO] : 连接PLC....
-2025-05-19 13:52:28.6581 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-05-19 13:52:28.6581 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-05-19 13:52:29.7100 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 13:52:29.7387 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 13:52:29.9326 [INFO] : 显示右侧EHY车身数据界面。
-2025-05-19 13:52:30.7808 [ERROR] : PLC S7连接失败。
-2025-05-19 13:52:30.7829 [ERROR] : 连接PLC失败
-2025-05-19 13:52:34.9668 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-05-19 13:53:16.5244 [INFO] : --软件Program Main函数开始执行--
-2025-05-19 13:53:16.5496 [INFO] : 加载配置文件——>开始
-2025-05-19 13:53:16.5664 [INFO] : 加载配置文件——>完成
-2025-05-19 13:53:18.4446 [INFO] : 进入显示车身模式!显示车身界面。
-2025-05-19 13:53:18.8856 [INFO] : 启动PLC写线程!
-2025-05-19 13:53:18.8856 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-05-19 13:53:18.8924 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-05-19 13:53:18.8924 [INFO] : 连接PLC....
-2025-05-19 13:53:18.9161 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-05-19 13:53:20.9581 [ERROR] : PLC S7连接失败。
-2025-05-19 13:53:39.3498 [ERROR] : 连接PLC失败
-2025-05-19 13:53:39.8037 [INFO] : Right EH3 UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 13:53:39.8353 [INFO] : Right EHY UI Refresh tmrRefreshData (strVIN.Length==21):CarType:EHY ;VIN: LNNBBDEC8RDA23997
-2025-05-19 13:53:40.1225 [INFO] : 显示右侧EHY车身数据界面。
-2025-05-19 13:53:43.1508 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
-2025-05-19 14:11:36.4894 [INFO] : --软件Program Main函数开始执行--
-2025-05-19 14:11:36.5783 [INFO] : 加载配置文件——>开始
-2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlUserName:sa
-2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-05-19 14:11:36.6233 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-05-19 14:11:36.6297 [INFO] : 加载配置文件——>完成
-2025-05-19 14:11:36.6297 [INFO] : Log in using the CLMS authorization.
-2025-05-19 14:11:36.7570 [INFO] : CLMS check license failed! Please authorize the operation.
diff --git a/Analysis/bin/x64/Debug/logs/2025-08-01.log b/Analysis/bin/x64/Debug/logs/2025-08-01.log
deleted file mode 100644
index a336959..0000000
--- a/Analysis/bin/x64/Debug/logs/2025-08-01.log
+++ /dev/null
@@ -1,9 +0,0 @@
-2025-08-01 17:24:11.8007 [INFO] : --软件Program Main函数开始执行--
-2025-08-01 17:24:11.8149 [INFO] : 加载配置文件——>开始
-2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-01 17:24:11.8342 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-01 17:24:11.8342 [INFO] : 加载配置文件——>完成
-2025-08-01 17:24:11.8342 [INFO] : Log in using the CLMS authorization.
-2025-08-01 17:24:12.0011 [INFO] : CLMS check license failed! Please authorize the operation.
diff --git a/Analysis/bin/x64/Debug/logs/2025-08-04.log b/Analysis/bin/x64/Debug/logs/2025-08-04.log
index adccc5a..8ece8a8 100644
--- a/Analysis/bin/x64/Debug/logs/2025-08-04.log
+++ b/Analysis/bin/x64/Debug/logs/2025-08-04.log
@@ -1,46 +1,427 @@
-2025-08-04 09:57:55.6200 [INFO] : --软件Program Main函数开始执行--
-2025-08-04 09:57:55.7354 [INFO] : 加载配置文件——>开始
-2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-04 09:57:55.7546 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 09:57:55.7546 [INFO] : 加载配置文件——>完成
-2025-08-04 09:57:55.7546 [INFO] : Log in using the CLMS authorization.
-2025-08-04 09:57:55.8876 [INFO] : CLMS check license failed! Please authorize the operation.
-2025-08-04 10:07:25.3267 [INFO] : --软件Program Main函数开始执行--
-2025-08-04 10:07:25.3760 [INFO] : 加载配置文件——>开始
-2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-04 10:07:25.3760 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 10:07:25.3760 [INFO] : 加载配置文件——>完成
-2025-08-04 10:07:27.4662 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-04 10:07:27.4673 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 10:07:27.4673 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123;
-2025-08-04 10:07:27.7771 [INFO] : 进入显示车身模式!显示车身界面。
-2025-08-04 10:07:28.2491 [INFO] : 启动PLC写线程!
-2025-08-04 10:07:28.2850 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-08-04 10:07:28.2850 [INFO] : 连接PLC....
-2025-08-04 10:07:28.2850 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-08-04 10:07:28.2850 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-08-04 10:07:30.3726 [ERROR] : PLC S7连接失败。
-2025-08-04 10:07:30.3778 [ERROR] : 连接PLC失败
-2025-08-04 11:42:26.6915 [INFO] : --软件Program Main函数开始执行--
-2025-08-04 11:42:26.7063 [INFO] : 加载配置文件——>开始
-2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-04 11:42:26.7258 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 11:42:26.7258 [INFO] : 加载配置文件——>完成
-2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlServerName:127.0.0.1
-2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlUserName:sa
-2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlPassword:Hexagon123
-2025-08-04 11:42:28.4820 [INFO] : 数据库连接 SqlDbName:NextSenseStandardDB
-2025-08-04 11:42:28.4820 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=NextSenseStandardDB;User ID=sa;password=Hexagon123;
-2025-08-04 11:42:28.8521 [INFO] : 进入显示车身模式!显示车身界面。
-2025-08-04 11:42:28.8521 [INFO] : 进入解析CSV文件模式,开始解析扫码CSV文件!
-2025-08-04 11:42:28.8521 [INFO] : 软件首次启动, Nextsense EH3 CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEH3
-2025-08-04 11:42:28.8521 [INFO] : 软件首次启动, Nextsense EHY CSV读取路径存在;不清空,读取NextSense生成 CSV报告路径下的所有文件,路径为:D:\cherytestEHY
-2025-08-04 11:42:32.8197 [INFO] : -------------海克斯康面隙分析软件程序关闭---------------------
+2025-08-04 14:30:51.0578 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:30:51.1095 [INFO] : 加载配置文件——>开始
+2025-08-04 14:30:51.1479 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:31:26.1003 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:31:26.1991 [INFO] : 加载配置文件——>开始
+2025-08-04 14:31:26.2279 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:31:26.8686 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:31:26.8686 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:33:43.7390 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:33:43.7937 [INFO] : 加载配置文件——>开始
+2025-08-04 14:33:43.8264 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:33:44.5226 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:33:44.5226 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:37:47.6960 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:37:47.7503 [INFO] : 加载配置文件——>开始
+2025-08-04 14:37:47.7825 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:37:48.4207 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:37:48.4227 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:37:48.4227 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:39:21.9938 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:39:22.0485 [INFO] : 加载配置文件——>开始
+2025-08-04 14:39:22.0773 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:39:22.7450 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:39:22.7450 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:40:03.1410 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:40:03.1627 [INFO] : 加载配置文件——>开始
+2025-08-04 14:40:03.1876 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:40:03.8046 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:40:03.8046 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:43:39.5797 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:43:39.5940 [INFO] : 加载配置文件——>开始
+2025-08-04 14:43:39.6190 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:43:40.2453 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:43:40.2453 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:43:40.2478 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:43:40.2478 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:43:40.2478 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:47:40.7953 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:47:40.8732 [INFO] : 加载配置文件——>开始
+2025-08-04 14:47:40.8998 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:47:41.5160 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:47:41.5160 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:52:45.5630 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:52:45.5761 [INFO] : 加载配置文件——>开始
+2025-08-04 14:52:45.6015 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:52:46.2513 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:52:46.2513 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:53:37.1223 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:53:37.2014 [INFO] : 加载配置文件——>开始
+2025-08-04 14:53:37.2266 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:53:37.8373 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:53:37.8373 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 14:57:34.5624 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 14:57:34.6195 [INFO] : 加载配置文件——>开始
+2025-08-04 14:57:34.6772 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 14:57:35.3365 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 14:57:35.3365 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:00:52.9535 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:00:53.0359 [INFO] : 加载配置文件——>开始
+2025-08-04 15:00:53.0612 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:00:53.7219 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:00:53.7252 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:02:25.0271 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:02:25.0807 [INFO] : 加载配置文件——>开始
+2025-08-04 15:02:25.1533 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:02:25.7768 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:02:25.7768 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:03:26.2318 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:03:26.2531 [INFO] : 加载配置文件——>开始
+2025-08-04 15:03:26.2778 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:03:26.9228 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:03:26.9228 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:03:58.0695 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:03:58.0906 [INFO] : 加载配置文件——>开始
+2025-08-04 15:03:58.1066 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:03:58.7631 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:03:58.7631 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:04:14.3796 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:04:14.3971 [INFO] : 加载配置文件——>开始
+2025-08-04 15:04:14.4227 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:04:15.1016 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:04:15.1016 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:06:28.3949 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:06:28.4127 [INFO] : 加载配置文件——>开始
+2025-08-04 15:06:28.4368 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:06:29.0509 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:06:29.0509 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:06:49.3713 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:06:49.3930 [INFO] : 加载配置文件——>开始
+2025-08-04 15:06:49.4090 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:06:50.0364 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:06:50.0364 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:11:34.0705 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:11:34.0931 [INFO] : 加载配置文件——>开始
+2025-08-04 15:11:34.1214 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:11:34.8976 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:11:34.8976 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:23:26.7902 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:23:26.9214 [INFO] : 加载配置文件——>开始
+2025-08-04 15:23:26.9463 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:23:27.5924 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:23:27.5954 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:26:58.6108 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:26:58.6338 [INFO] : 加载配置文件——>开始
+2025-08-04 15:26:58.6609 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:26:59.3065 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:26:59.3065 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:51:24.7088 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:51:24.7323 [INFO] : 加载配置文件——>开始
+2025-08-04 15:51:24.7618 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:51:25.4600 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:51:25.4600 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:53:36.7657 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:53:36.7833 [INFO] : 加载配置文件——>开始
+2025-08-04 15:53:36.8088 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:53:37.4255 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:53:37.4255 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:54:16.4547 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:54:16.4734 [INFO] : 加载配置文件——>开始
+2025-08-04 15:54:16.4989 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:54:17.1035 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:54:17.1035 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:55:02.6856 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:55:02.7096 [INFO] : 加载配置文件——>开始
+2025-08-04 15:55:02.7328 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:55:03.3679 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:55:03.3679 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 15:57:44.2242 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 15:57:44.2474 [INFO] : 加载配置文件——>开始
+2025-08-04 15:57:44.2718 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 15:57:44.9221 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 15:57:44.9221 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:01:18.8725 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:01:18.9226 [INFO] : 加载配置文件——>开始
+2025-08-04 16:01:18.9457 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:01:19.5612 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:01:19.5612 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:05:21.9055 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:05:21.9201 [INFO] : 加载配置文件——>开始
+2025-08-04 16:05:21.9463 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:05:22.6363 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:05:22.6363 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:17:03.6001 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:17:03.7278 [INFO] : 加载配置文件——>开始
+2025-08-04 16:17:03.7552 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:17:04.4157 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:17:04.4157 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:22:16.0485 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:22:16.0665 [INFO] : 加载配置文件——>开始
+2025-08-04 16:22:16.0947 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:22:16.7974 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:22:16.7974 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:23:09.5934 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:23:09.6722 [INFO] : 加载配置文件——>开始
+2025-08-04 16:23:09.6983 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:23:10.3230 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:23:10.3230 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:23:21.5035 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:23:21.5605 [INFO] : 加载配置文件——>开始
+2025-08-04 16:23:21.5776 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:23:22.2136 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:23:22.2136 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:23:22.2159 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:23:22.2159 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:23:22.2159 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:28:32.8526 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:28:32.8741 [INFO] : 加载配置文件——>开始
+2025-08-04 16:28:32.9101 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:28:33.6072 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:28:33.6072 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:33:34.6046 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:33:34.6441 [INFO] : 加载配置文件——>开始
+2025-08-04 16:33:34.6771 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:33:35.3249 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:33:35.3329 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:33:35.3329 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:42:50.0204 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:42:50.0457 [INFO] : 加载配置文件——>开始
+2025-08-04 16:42:50.0741 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:42:50.7710 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:42:50.7710 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
+2025-08-04 16:45:31.2145 [INFO] : --软件Program Main函数开始执行--
+2025-08-04 16:45:31.2315 [INFO] : 加载配置文件——>开始
+2025-08-04 16:45:31.3257 [ERROR] : 加载配置文件错误:System.FormatException: 输入字符串的格式不正确。
+ 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
+ 在 System.Double.Parse(String s)
+ 在 NSAnalysis.ConfigDfn.LoadConfig() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 138
+ 在 NSAnalysis.ConfigDfn.LoadConfigFile() 位置 D:\HexagonProjects\2025-01-捷豹路虎改造\code\Analysis\Define\Define.cs:行号 202
+2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlServerName:127.0.0.1
+2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlUserName:sa
+2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlPassword:Hexagon123
+2025-08-04 16:45:32.1409 [INFO] : 数据库连接 SqlDbName:CJLR
+2025-08-04 16:45:32.1409 [INFO] : 数据库连接字符串:Data Source=127.0.0.1;initial Catalog=CJLR;User ID=sa;password=Hexagon123;
diff --git a/CheryFianlAssemblyLine.sln b/CheryFianlAssemblyLine.sln
index 637bc1e..33c47a6 100644
--- a/CheryFianlAssemblyLine.sln
+++ b/CheryFianlAssemblyLine.sln
@@ -1,9 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.12.35707.178 d17.12
+VisualStudioVersion = 17.12.35707.178
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "9.Analysis", "Analysis\9.Analysis.csproj", "{7C83975D-A071-48E0-8A12-DAFD20525B66}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NXSAnalysis", "Analysis\NXSAnalysis.csproj", "{7C83975D-A071-48E0-8A12-DAFD20525B66}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution