Procházet zdrojové kódy

增加服务器cfg文件读取。

Dail před 1 rokem
rodič
revize
9b106cfe5b

binární
.vs/Welling_Motor_Debug_Tool/v17/.suo


+ 7 - 7
Welling_Motor_Debug_Tool/LocalInfo.cs

@@ -8,12 +8,12 @@ namespace Welling_Motor_Debug_Tool
 {
     internal class LocalInfo
     {
-        public string LocalPath = "C:\\Temp\\MotorTestTool\\";
-        public string ConfigFileName = "Config.ttcfg";
-        public string UsrFileName = "UserAccount";
-        public string CfgPathName = "cfg\\";
-        public string WalkLogPathName = "walkTest\\";
-        public string CheckPathName = "qcTest\\";
-        public string VersionPathName = "version\\";
+        public string LocalPath = "C:\\Temp\\MotorTestTool\\"; //本地文件默认路径
+        public string ConfigFileName = "Config.ttcfg"; //配置文件
+        public string UsrFileName = "UserAccount"; //登录配置
+        public string CfgPathName = "cfg\\"; //配置目录
+        public string WalkLogPathName = "walkTest\\"; //推行测试目录
+        public string CheckPathName = "qcTest\\"; //检验目录
+        public string VersionPathName = "version\\"; //版本信息
     }
 }

binární
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool.pdb


+ 65 - 23
Welling_Motor_Debug_Tool/mainForm.Designer.cs

@@ -404,7 +404,7 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_FacModeCfgFile = new System.Windows.Forms.ComboBox();
             this.comboBox_FacModeCfgDate = new System.Windows.Forms.ComboBox();
             this.groupBox2 = new System.Windows.Forms.GroupBox();
-            this.checkBox_FacModeFuncTest = new System.Windows.Forms.CheckBox();
+            this.checkBox_FacBaseFucTest = new System.Windows.Forms.CheckBox();
             this.checkBox_FacModeCfgWrite = new System.Windows.Forms.CheckBox();
             this.checkBox_FacModeSysClear = new System.Windows.Forms.CheckBox();
             this.textBox_FacModeScan = new System.Windows.Forms.TextBox();
@@ -525,6 +525,9 @@ namespace Welling_Motor_Debug_Tool
             this.label107 = new System.Windows.Forms.Label();
             this.label_StarInfo = new System.Windows.Forms.Label();
             this.pictureBox2 = new System.Windows.Forms.PictureBox();
+            this.checkBox_FacThrrotleTest = new System.Windows.Forms.CheckBox();
+            this.checkBox_FacBreakTest = new System.Windows.Forms.CheckBox();
+            this.checkBox_FacLightTest = new System.Windows.Forms.CheckBox();
             this.menuStrip_Set.SuspendLayout();
             this.statusStrip1.SuspendLayout();
             this.groupBox1.SuspendLayout();
@@ -614,7 +617,7 @@ namespace Welling_Motor_Debug_Tool
             // 刷新ToolStripMenuItem
             // 
             this.刷新ToolStripMenuItem.Name = "刷新ToolStripMenuItem";
-            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.刷新ToolStripMenuItem.Text = "刷新";
             this.刷新ToolStripMenuItem.Click += new System.EventHandler(this.刷新ToolStripMenuItem_Click);
             // 
@@ -623,7 +626,7 @@ namespace Welling_Motor_Debug_Tool
             this.端口号ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_ComNum});
             this.端口号ToolStripMenuItem.Name = "端口号ToolStripMenuItem";
-            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.端口号ToolStripMenuItem.Text = "端口号";
             this.端口号ToolStripMenuItem.Click += new System.EventHandler(this.ConfigFileSave_Click);
             // 
@@ -641,7 +644,7 @@ namespace Welling_Motor_Debug_Tool
             this.波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_Baudrate});
             this.波特率ToolStripMenuItem.Name = "波特率ToolStripMenuItem";
-            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.波特率ToolStripMenuItem.Text = "波特率";
             // 
             // toolStripComboBox_Baudrate
@@ -660,14 +663,14 @@ namespace Welling_Motor_Debug_Tool
             // 连接ToolStripMenuItem
             // 
             this.连接ToolStripMenuItem.Name = "连接ToolStripMenuItem";
-            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.连接ToolStripMenuItem.Text = "连接";
             this.连接ToolStripMenuItem.Click += new System.EventHandler(this.连接ToolStripMenuItem_Click);
             // 
             // toolStripSeparator1
             // 
             this.toolStripSeparator1.Name = "toolStripSeparator1";
-            this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
+            this.toolStripSeparator1.Size = new System.Drawing.Size(157, 6);
             // 
             // 其它配置项ToolStripMenuItem
             // 
@@ -676,7 +679,7 @@ namespace Welling_Motor_Debug_Tool
             this.断开关机ToolStripMenuItem,
             this.识别通讯盒ToolStripMenuItem});
             this.其它配置项ToolStripMenuItem.Name = "其它配置项ToolStripMenuItem";
-            this.其它配置项ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.其它配置项ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.其它配置项ToolStripMenuItem.Text = "其它配置项";
             // 
             // 连接开机ToolStripMenuItem
@@ -771,7 +774,7 @@ namespace Welling_Motor_Debug_Tool
             this.IP地址ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerIP});
             this.IP地址ToolStripMenuItem.Name = "IP地址ToolStripMenuItem";
-            this.IP地址ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.IP地址ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.IP地址ToolStripMenuItem.Text = "IP地址";
             this.IP地址ToolStripMenuItem.Visible = false;
             // 
@@ -788,7 +791,7 @@ namespace Welling_Motor_Debug_Tool
             this.端口ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPort});
             this.端口ToolStripMenuItem.Name = "端口ToolStripMenuItem";
-            this.端口ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.端口ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.端口ToolStripMenuItem.Text = "端口";
             this.端口ToolStripMenuItem.Visible = false;
             // 
@@ -805,7 +808,7 @@ namespace Welling_Motor_Debug_Tool
             this.用户名ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerUser});
             this.用户名ToolStripMenuItem.Name = "用户名ToolStripMenuItem";
-            this.用户名ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.用户名ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.用户名ToolStripMenuItem.Text = "用户名";
             this.用户名ToolStripMenuItem.Visible = false;
             // 
@@ -822,7 +825,7 @@ namespace Welling_Motor_Debug_Tool
             this.密码ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPasswd});
             this.密码ToolStripMenuItem.Name = "密码ToolStripMenuItem";
-            this.密码ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.密码ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.密码ToolStripMenuItem.Text = "密码";
             this.密码ToolStripMenuItem.Visible = false;
             // 
@@ -839,7 +842,7 @@ namespace Welling_Motor_Debug_Tool
             this.存储路径ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPath});
             this.存储路径ToolStripMenuItem.Name = "存储路径ToolStripMenuItem";
-            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.存储路径ToolStripMenuItem.Text = "存储路径";
             this.存储路径ToolStripMenuItem.Visible = false;
             // 
@@ -1209,6 +1212,7 @@ namespace Welling_Motor_Debug_Tool
             this.tabControl1.SelectedIndex = 0;
             this.tabControl1.Size = new System.Drawing.Size(998, 349);
             this.tabControl1.TabIndex = 0;
+            this.tabControl1.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabControl1_Selected);
             // 
             // tabPage_MotorParam
             // 
@@ -4630,10 +4634,14 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_FacModeCfgDate.Name = "comboBox_FacModeCfgDate";
             this.comboBox_FacModeCfgDate.Size = new System.Drawing.Size(137, 29);
             this.comboBox_FacModeCfgDate.TabIndex = 8;
+            this.comboBox_FacModeCfgDate.SelectionChangeCommitted += new System.EventHandler(this.comboBox_FacModeCfgDate_SelectionChangeCommitted);
             // 
             // groupBox2
             // 
-            this.groupBox2.Controls.Add(this.checkBox_FacModeFuncTest);
+            this.groupBox2.Controls.Add(this.checkBox_FacLightTest);
+            this.groupBox2.Controls.Add(this.checkBox_FacBreakTest);
+            this.groupBox2.Controls.Add(this.checkBox_FacThrrotleTest);
+            this.groupBox2.Controls.Add(this.checkBox_FacBaseFucTest);
             this.groupBox2.Controls.Add(this.checkBox_FacModeCfgWrite);
             this.groupBox2.Controls.Add(this.checkBox_FacModeSysClear);
             this.groupBox2.Location = new System.Drawing.Point(12, 72);
@@ -4643,20 +4651,20 @@ namespace Welling_Motor_Debug_Tool
             this.groupBox2.TabStop = false;
             this.groupBox2.Text = "测试项目";
             // 
-            // checkBox_FacModeFuncTest
+            // checkBox_FacBaseFucTest
             // 
-            this.checkBox_FacModeFuncTest.AutoSize = true;
-            this.checkBox_FacModeFuncTest.Location = new System.Drawing.Point(7, 108);
-            this.checkBox_FacModeFuncTest.Name = "checkBox_FacModeFuncTest";
-            this.checkBox_FacModeFuncTest.Size = new System.Drawing.Size(93, 25);
-            this.checkBox_FacModeFuncTest.TabIndex = 2;
-            this.checkBox_FacModeFuncTest.Text = "功能测试";
-            this.checkBox_FacModeFuncTest.UseVisualStyleBackColor = true;
+            this.checkBox_FacBaseFucTest.AutoSize = true;
+            this.checkBox_FacBaseFucTest.Location = new System.Drawing.Point(7, 96);
+            this.checkBox_FacBaseFucTest.Name = "checkBox_FacBaseFucTest";
+            this.checkBox_FacBaseFucTest.Size = new System.Drawing.Size(93, 25);
+            this.checkBox_FacBaseFucTest.TabIndex = 2;
+            this.checkBox_FacBaseFucTest.Text = "基础功能";
+            this.checkBox_FacBaseFucTest.UseVisualStyleBackColor = true;
             // 
             // checkBox_FacModeCfgWrite
             // 
             this.checkBox_FacModeCfgWrite.AutoSize = true;
-            this.checkBox_FacModeCfgWrite.Location = new System.Drawing.Point(7, 68);
+            this.checkBox_FacModeCfgWrite.Location = new System.Drawing.Point(7, 62);
             this.checkBox_FacModeCfgWrite.Name = "checkBox_FacModeCfgWrite";
             this.checkBox_FacModeCfgWrite.Size = new System.Drawing.Size(93, 25);
             this.checkBox_FacModeCfgWrite.TabIndex = 1;
@@ -4880,6 +4888,7 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_CheckModeCfgDate.Name = "comboBox_CheckModeCfgDate";
             this.comboBox_CheckModeCfgDate.Size = new System.Drawing.Size(137, 29);
             this.comboBox_CheckModeCfgDate.TabIndex = 19;
+            this.comboBox_CheckModeCfgDate.SelectionChangeCommitted += new System.EventHandler(this.comboBox_CheckModeCfgDate_SelectionChangeCommitted);
             // 
             // groupBox30
             // 
@@ -5906,6 +5915,36 @@ namespace Welling_Motor_Debug_Tool
             this.pictureBox2.TabIndex = 16;
             this.pictureBox2.TabStop = false;
             // 
+            // checkBox_FacThrrotleTest
+            // 
+            this.checkBox_FacThrrotleTest.AutoSize = true;
+            this.checkBox_FacThrrotleTest.Location = new System.Drawing.Point(7, 130);
+            this.checkBox_FacThrrotleTest.Name = "checkBox_FacThrrotleTest";
+            this.checkBox_FacThrrotleTest.Size = new System.Drawing.Size(93, 25);
+            this.checkBox_FacThrrotleTest.TabIndex = 3;
+            this.checkBox_FacThrrotleTest.Text = "转把接口";
+            this.checkBox_FacThrrotleTest.UseVisualStyleBackColor = true;
+            // 
+            // checkBox_FacBreakTest
+            // 
+            this.checkBox_FacBreakTest.AutoSize = true;
+            this.checkBox_FacBreakTest.Location = new System.Drawing.Point(6, 164);
+            this.checkBox_FacBreakTest.Name = "checkBox_FacBreakTest";
+            this.checkBox_FacBreakTest.Size = new System.Drawing.Size(93, 25);
+            this.checkBox_FacBreakTest.TabIndex = 4;
+            this.checkBox_FacBreakTest.Text = "刹车接口";
+            this.checkBox_FacBreakTest.UseVisualStyleBackColor = true;
+            // 
+            // checkBox_FacLightTest
+            // 
+            this.checkBox_FacLightTest.AutoSize = true;
+            this.checkBox_FacLightTest.Location = new System.Drawing.Point(4, 198);
+            this.checkBox_FacLightTest.Name = "checkBox_FacLightTest";
+            this.checkBox_FacLightTest.Size = new System.Drawing.Size(109, 25);
+            this.checkBox_FacLightTest.TabIndex = 5;
+            this.checkBox_FacLightTest.Text = "前后灯接口";
+            this.checkBox_FacLightTest.UseVisualStyleBackColor = true;
+            // 
             // mainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
@@ -6471,7 +6510,7 @@ namespace Welling_Motor_Debug_Tool
         private GroupBox groupBox2;
         private Label label_FacModeSatus;
         private Label label_FacModeResult;
-        private CheckBox checkBox_FacModeFuncTest;
+        private CheckBox checkBox_FacBaseFucTest;
         private CheckBox checkBox_FacModeCfgWrite;
         private CheckBox checkBox_FacModeSysClear;
         private GroupBox groupBox28;
@@ -6531,5 +6570,8 @@ namespace Welling_Motor_Debug_Tool
         private ToolStripMenuItem 电机类型ToolStripMenuItem;
         private ToolStripMenuItem 中置电机ToolStripMenuItem;
         private ToolStripMenuItem 轮毂电机ToolStripMenuItem;
+        private CheckBox checkBox_FacLightTest;
+        private CheckBox checkBox_FacBreakTest;
+        private CheckBox checkBox_FacThrrotleTest;
     }
 }

+ 123 - 3
Welling_Motor_Debug_Tool/mainForm.cs

@@ -43,6 +43,8 @@ namespace Welling_Motor_Debug_Tool
         bool PowerOffAckStatus = false;
         //登录窗口
         public static Login EnterForm1 = new Login();
+        //生产配置文件信息
+        ArrayList array_CfgInfo = new ArrayList();
         #endregion
 
         #region 故障日志结构体定义
@@ -166,7 +168,7 @@ namespace Welling_Motor_Debug_Tool
                         {
                             tabPage_ProductMode_Write.Parent = null;
                             tabPage_ProductMode_Read.Parent = tabControl1;
-                        }
+                        }                        
                     }                 
                     else if (EnterForm1.comboBox_User.Text == "工程配置")
                     {
@@ -1577,7 +1579,7 @@ namespace Welling_Motor_Debug_Tool
                                     richTextBox_OBC_BMS_RunInfo.AppendText("剩余容量:" + Convert.ToString(uData16) + " mAh" + "\r\n");
                                     //满充容量
                                     uData16 = (ushort)(Data[7] * 256 + Data[6]);
-                                    richTextBox_OBC_BMS_RunInfo.AppendText("满充容量:" + Convert.ToString(uData16) + " mV" + "\r\n");
+                                    richTextBox_OBC_BMS_RunInfo.AppendText("满充容量:" + Convert.ToString(uData16) + " mAh" + "\r\n");
                                     //电芯温度                                    
                                     richTextBox_OBC_BMS_RunInfo.AppendText("电芯温度:" + Convert.ToString((int)(Data[8] - 40) + " ℃" + "\r\n"));
                                     //剩余电量                                    
@@ -1585,7 +1587,7 @@ namespace Welling_Motor_Debug_Tool
                                     //电池状态
                                     richTextBox_OBC_BMS_RunInfo.AppendText("电池状态:" + Convert.ToString(Data[10], 16).PadLeft(2, '0').ToUpper() + " H" + "\r\n");
                                     //SOH
-                                    richTextBox_OBC_BMS_RunInfo.AppendText("电池寿命:" + Convert.ToString(Data[11]) + " %");
+                                    richTextBox_OBC_BMS_RunInfo.AppendText("电池寿命:" + Convert.ToString(Data[11]) + " %" + "\r\n");
                                     //循环次数
                                     richTextBox_OBC_BMS_RunInfo.AppendText("循环次数:" + Convert.ToString((ushort)(Data[13] * 256 + Data[12])) + " 次");
                                 }));
@@ -5312,6 +5314,124 @@ namespace Welling_Motor_Debug_Tool
             ConfigFileSave(true, localInfo.LocalPath + localInfo.ConfigFileName);
         }
 
+        /// <summary>
+        /// 获取配置文件日期
+        /// </summary>
+        /// <param name="DisAll"></param>
+        private void GetDateList(bool DisAll)
+        {
+            string[] DateList = { "" };
+            //从服务器更新日期列表
+            DateList = myFtp.GetDirectoryList(toolStripTextBox_ServerPath.Text + "\\" + localInfo.CfgPathName);
+            comboBox_FacModeCfgDate.Items.Clear();
+            comboBox_CheckModeCfgDate.Items.Clear();
+
+            //日期列表加载
+            if (DisAll == true)
+            {
+                comboBox_FacModeCfgDate.Items.Add("显示近期");
+                comboBox_CheckModeCfgDate.Items.Add("显示近期");
+                comboBox_FacModeCfgDate.Items.Add("---");
+                comboBox_CheckModeCfgDate.Items.Add("---");
+                foreach (var file in DateList)
+                {
+                    comboBox_FacModeCfgDate.Items.Add(file.Substring(file.LastIndexOf("\\") + 1));
+                    comboBox_CheckModeCfgDate.Items.Add(file.Substring(file.LastIndexOf("\\") + 1));
+                } 
+            }
+            else
+            {
+                if (DateList.Length > 10)
+                {
+                    comboBox_FacModeCfgDate.Items.Add("显示全部");
+                    comboBox_CheckModeCfgDate.Items.Add("显示全部");
+                    comboBox_FacModeCfgDate.Items.Add("---");
+                    comboBox_CheckModeCfgDate.Items.Add("---");
+                }
+                for (int i = (DateList.Length > 10) ? (DateList.Length - 10) : 0; i < DateList.Length; i++)//显示最近10个日期
+                {
+                    comboBox_FacModeCfgDate.Items.Add(DateList[i].Substring(DateList[i].LastIndexOf("\\") + 1));
+                    comboBox_CheckModeCfgDate.Items.Add(DateList[i].Substring(DateList[i].LastIndexOf("\\") + 1));
+                } 
+            }
+        }
+
+        /// <summary>
+        /// 获取配置文件列表
+        /// </summary>
+        /// <param name="date"></param>
+        private void GetFileListFrom(string date)
+        {
+            string[] FileList = { "" };
+            //从服务器更新文件列表
+            FileList = myFtp.GetFileNameList(toolStripTextBox_ServerPath.Text + "/cfg/" + date);
+
+            comboBox_CheckModeCfgFile.Items.Clear();
+            comboBox_FacModeCfgFile.Items.Clear();
+            foreach (var file in FileList)
+            {
+                if (file.Contains(".ttcfg"))
+                {
+                    comboBox_CheckModeCfgFile.Items.Add(file.Substring(file.LastIndexOf("\\") + 1));
+                    comboBox_FacModeCfgFile.Items.Add(file.Substring(file.LastIndexOf("\\") + 1));
+                }
+            }
+        }
+
+        /// <summary>
+        /// 检验模式选择文件日期
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void comboBox_CheckModeCfgDate_SelectionChangeCommitted(object sender, EventArgs e)
+        {
+            if (comboBox_CheckModeCfgDate.SelectedItem.ToString() == "显示全部")
+            {
+                GetDateList(true);
+            }
+            else if (comboBox_CheckModeCfgDate.SelectedItem.ToString() == "显示近期")
+            {
+                GetDateList(false);
+            }
+            else
+            {
+                comboBox_CheckModeCfgFile.Text = "";
+                GetFileListFrom(comboBox_CheckModeCfgDate.SelectedItem.ToString());
+            }
+        }
+
+        /// <summary>
+        /// 配置模式选择文件日期
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void comboBox_FacModeCfgDate_SelectionChangeCommitted(object sender, EventArgs e)
+        {
+            if (comboBox_FacModeCfgDate.SelectedItem.ToString() == "显示全部")
+            {
+                GetDateList(true);
+            }
+            else if (comboBox_FacModeCfgDate.SelectedItem.ToString() == "显示近期")
+            {
+                GetDateList(false);
+            }
+            else
+            {
+                comboBox_FacModeCfgFile.Text = "";
+                GetFileListFrom(comboBox_FacModeCfgDate.SelectedItem.ToString());
+            }
+        }
+
+        /// <summary>
+        /// 选中量产模式
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tabControl1_Selected(object sender, TabControlEventArgs e)
+        {
+            //更新生产配置文件目录
+            GetDateList(false);
+        }
     }
 
 

binární
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.csproj.GenerateResource.cache


binární
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.exe


binární
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.pdb


+ 12 - 0
Welling_Motor_Debug_Tool/verInfo.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Welling_Motor_Debug_Tool
+{
+    class verInfo
+    {
+    }
+}