25111901 更换MES库文件

This commit is contained in:
moxiliang
2025-11-19 15:38:36 +08:00
parent 9f04271ae9
commit 25630cfdc1
158 changed files with 79259 additions and 87 deletions

View File

@@ -0,0 +1,78 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|d:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B ll-28\\ll-28\\mes\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\c#\\mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|solutionrelative:mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:130:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{6324226f-61b6-4f28-92ee-18d4b5fe1e48}"
},
{
"$type": "Bookmark",
"Name": "ST:1139089979:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Bookmark",
"Name": "ST:1330258491:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Bookmark",
"Name": "ST:254354193:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Form1.cs [\u8BBE\u8BA1]",
"DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs",
"RelativeDocumentMoniker": "MEStest\\Form1.cs",
"ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs [\u8BBE\u8BA1]",
"RelativeToolTip": "MEStest\\Form1.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-11-19T06:44:52.887Z",
"EditorCaption": " [\u8BBE\u8BA1]"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{5a4e9529-b6a0-46b5-be4f-0f0b239bc0eb}"
}
]
},
{
"DockedWidth": 58,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:323948898:0:{81164725-9a96-4ece-a4cb-440d8fd285e5}"
}
]
}
]
}
]
}

View File

@@ -0,0 +1,95 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|d:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B ll-28\\ll-28\\mes\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\c#\\mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|solutionrelative:mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|d:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B ll-28\\ll-28\\mes\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\c#\\mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}|MEStest\\MEStest.csproj|solutionrelative:mestest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:130:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{6324226f-61b6-4f28-92ee-18d4b5fe1e48}"
},
{
"$type": "Bookmark",
"Name": "ST:1139089979:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Bookmark",
"Name": "ST:1330258491:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Bookmark",
"Name": "ST:254354193:0:{71f361cc-493f-47c0-923f-f2570b6f8618}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Form1.cs",
"DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs",
"RelativeDocumentMoniker": "MEStest\\Form1.cs",
"ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs",
"RelativeToolTip": "MEStest\\Form1.cs",
"ViewState": "AQIAAP8AAAAAAAAAAAA1wA0BAAAmAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-11-19T06:51:52.039Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Form1.cs [\u8BBE\u8BA1]",
"DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs",
"RelativeDocumentMoniker": "MEStest\\Form1.cs",
"ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u8D1D\\\u6B63\u8D1F\u538B28\\\u6B63\u8D1F\u538B LL-28\\LL-28\\MES\u5BF9\u63A5\\\u534E\u64CE\u5BF9\u63A5\u8D44\u6599\\c#_demo\\C#\\MEStest\\Form1.cs [\u8BBE\u8BA1]",
"RelativeToolTip": "MEStest\\Form1.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-11-19T06:51:46.3Z",
"EditorCaption": " [\u8BBE\u8BA1]"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{5a4e9529-b6a0-46b5-be4f-0f0b239bc0eb}"
}
]
},
{
"DockedWidth": 58,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:323948898:0:{81164725-9a96-4ece-a4cb-440d8fd285e5}"
}
]
}
]
}
]
}

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MEStest", "MEStest\MEStest.csproj", "{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Debug|x86.ActiveCfg = Debug|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Debug|x86.Build.0 = Debug|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Release|x86.ActiveCfg = Release|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@@ -0,0 +1,310 @@
namespace MEStest
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.label20 = new System.Windows.Forms.Label();
this.tBTool = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.tBStationHand = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.tBSN = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.btMesSet = new System.Windows.Forms.Button();
this.btMesGet = new System.Windows.Forms.Button();
this.btMesUnInit = new System.Windows.Forms.Button();
this.btMesEnd = new System.Windows.Forms.Button();
this.btMesStart = new System.Windows.Forms.Button();
this.btMesInit = new System.Windows.Forms.Button();
this.MultiMesStart = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// label20
//
this.label20.AutoSize = true;
this.label20.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label20.Location = new System.Drawing.Point(51, 97);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(59, 12);
this.label20.TabIndex = 62;
this.label20.Text = "ErrCode";
//
// tBTool
//
this.tBTool.Location = new System.Drawing.Point(104, 63);
this.tBTool.Name = "tBTool";
this.tBTool.Size = new System.Drawing.Size(112, 21);
this.tBTool.TabIndex = 61;
//
// label13
//
this.label13.AutoSize = true;
this.label13.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label13.Location = new System.Drawing.Point(51, 70);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(41, 12);
this.label13.TabIndex = 60;
this.label13.Text = "工具:";
//
// tBStationHand
//
this.tBStationHand.Location = new System.Drawing.Point(104, 36);
this.tBStationHand.Name = "tBStationHand";
this.tBStationHand.Size = new System.Drawing.Size(112, 21);
this.tBStationHand.TabIndex = 59;
//
// label9
//
this.label9.AutoSize = true;
this.label9.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label9.Location = new System.Drawing.Point(51, 43);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(41, 12);
this.label9.TabIndex = 58;
this.label9.Text = "工位:";
//
// tBSN
//
this.tBSN.Location = new System.Drawing.Point(104, 9);
this.tBSN.Name = "tBSN";
this.tBSN.Size = new System.Drawing.Size(112, 21);
this.tBSN.TabIndex = 57;
//
// label1
//
this.label1.AutoSize = true;
this.label1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label1.Location = new System.Drawing.Point(51, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 56;
this.label1.Text = "SN";
//
// btMesSet
//
this.btMesSet.Location = new System.Drawing.Point(151, 247);
this.btMesSet.Name = "btMesSet";
this.btMesSet.Size = new System.Drawing.Size(85, 25);
this.btMesSet.TabIndex = 55;
this.btMesSet.Text = "btMesSet";
this.btMesSet.UseVisualStyleBackColor = true;
this.btMesSet.Click += new System.EventHandler(this.btMesSet_Click);
//
// btMesGet
//
this.btMesGet.Location = new System.Drawing.Point(51, 244);
this.btMesGet.Name = "btMesGet";
this.btMesGet.Size = new System.Drawing.Size(85, 25);
this.btMesGet.TabIndex = 54;
this.btMesGet.Text = "btMesGet";
this.btMesGet.UseVisualStyleBackColor = true;
this.btMesGet.Click += new System.EventHandler(this.btMesGet_Click);
//
// btMesUnInit
//
this.btMesUnInit.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesUnInit.Location = new System.Drawing.Point(151, 275);
this.btMesUnInit.Name = "btMesUnInit";
this.btMesUnInit.Size = new System.Drawing.Size(85, 25);
this.btMesUnInit.TabIndex = 53;
this.btMesUnInit.Text = "btMesUnInit";
this.btMesUnInit.UseVisualStyleBackColor = false;
this.btMesUnInit.Click += new System.EventHandler(this.btMesUnInit_Click);
//
// btMesEnd
//
this.btMesEnd.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesEnd.Location = new System.Drawing.Point(49, 275);
this.btMesEnd.Name = "btMesEnd";
this.btMesEnd.Size = new System.Drawing.Size(85, 25);
this.btMesEnd.TabIndex = 52;
this.btMesEnd.Text = "btMesEnd";
this.btMesEnd.UseVisualStyleBackColor = false;
this.btMesEnd.Click += new System.EventHandler(this.btMesEnd_Click);
//
// btMesStart
//
this.btMesStart.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesStart.Location = new System.Drawing.Point(151, 216);
this.btMesStart.Name = "btMesStart";
this.btMesStart.Size = new System.Drawing.Size(85, 25);
this.btMesStart.TabIndex = 51;
this.btMesStart.Text = "btMesStart";
this.btMesStart.UseVisualStyleBackColor = false;
this.btMesStart.Click += new System.EventHandler(this.btMesStart_Click);
//
// btMesInit
//
this.btMesInit.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesInit.Location = new System.Drawing.Point(51, 216);
this.btMesInit.Name = "btMesInit";
this.btMesInit.Size = new System.Drawing.Size(85, 25);
this.btMesInit.TabIndex = 50;
this.btMesInit.Text = "btMesInit";
this.btMesInit.UseVisualStyleBackColor = false;
this.btMesInit.Click += new System.EventHandler(this.btMesInit_Click);
//
// MultiMesStart
//
this.MultiMesStart.Location = new System.Drawing.Point(151, 306);
this.MultiMesStart.Name = "MultiMesStart";
this.MultiMesStart.Size = new System.Drawing.Size(85, 25);
this.MultiMesStart.TabIndex = 64;
this.MultiMesStart.Text = "MultiMesStart";
this.MultiMesStart.UseVisualStyleBackColor = true;
this.MultiMesStart.Click += new System.EventHandler(this.button1_Click);
//
// button1
//
this.button1.BackColor = System.Drawing.SystemColors.Highlight;
this.button1.Location = new System.Drawing.Point(51, 337);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 65;
this.button1.Text = "btMesEnd2";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// button2
//
this.button2.BackColor = System.Drawing.SystemColors.Highlight;
this.button2.Location = new System.Drawing.Point(53, 308);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(83, 23);
this.button2.TabIndex = 66;
this.button2.Text = "btMesStart2";
this.button2.UseVisualStyleBackColor = false;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 126);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(95, 12);
this.label2.TabIndex = 67;
this.label2.Text = "ErrDescription:";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(104, 123);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(203, 21);
this.textBox1.TabIndex = 68;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 155);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 69;
this.label3.Text = "Alldata:";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(62, 150);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(245, 21);
this.textBox2.TabIndex = 70;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(104, 94);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(100, 21);
this.textBox3.TabIndex = 71;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(319, 394);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label3);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.MultiMesStart);
this.Controls.Add(this.label20);
this.Controls.Add(this.tBTool);
this.Controls.Add(this.label13);
this.Controls.Add(this.tBStationHand);
this.Controls.Add(this.label9);
this.Controls.Add(this.tBSN);
this.Controls.Add(this.label1);
this.Controls.Add(this.btMesSet);
this.Controls.Add(this.btMesGet);
this.Controls.Add(this.btMesUnInit);
this.Controls.Add(this.btMesEnd);
this.Controls.Add(this.btMesStart);
this.Controls.Add(this.btMesInit);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label20;
private System.Windows.Forms.TextBox tBTool;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox tBStationHand;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tBSN;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btMesSet;
private System.Windows.Forms.Button btMesGet;
private System.Windows.Forms.Button btMesUnInit;
private System.Windows.Forms.Button btMesEnd;
private System.Windows.Forms.Button btMesStart;
private System.Windows.Forms.Button btMesInit;
private System.Windows.Forms.Button MultiMesStart;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
}
}

View File

@@ -0,0 +1,310 @@
namespace MEStest
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.label20 = new System.Windows.Forms.Label();
this.tBTool = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.tBStationHand = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.tBSN = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.btMesSet = new System.Windows.Forms.Button();
this.btMesGet = new System.Windows.Forms.Button();
this.btMesUnInit = new System.Windows.Forms.Button();
this.btMesEnd = new System.Windows.Forms.Button();
this.btMesStart = new System.Windows.Forms.Button();
this.btMesInit = new System.Windows.Forms.Button();
this.MultiMesStart = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// label20
//
this.label20.AutoSize = true;
this.label20.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label20.Location = new System.Drawing.Point(51, 97);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(59, 12);
this.label20.TabIndex = 62;
this.label20.Text = "ErrCode";
//
// tBTool
//
this.tBTool.Location = new System.Drawing.Point(104, 63);
this.tBTool.Name = "tBTool";
this.tBTool.Size = new System.Drawing.Size(112, 21);
this.tBTool.TabIndex = 61;
//
// label13
//
this.label13.AutoSize = true;
this.label13.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label13.Location = new System.Drawing.Point(51, 70);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(41, 12);
this.label13.TabIndex = 60;
this.label13.Text = "工具:";
//
// tBStationHand
//
this.tBStationHand.Location = new System.Drawing.Point(104, 36);
this.tBStationHand.Name = "tBStationHand";
this.tBStationHand.Size = new System.Drawing.Size(112, 21);
this.tBStationHand.TabIndex = 59;
//
// label9
//
this.label9.AutoSize = true;
this.label9.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label9.Location = new System.Drawing.Point(51, 43);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(41, 12);
this.label9.TabIndex = 58;
this.label9.Text = "工位:";
//
// tBSN
//
this.tBSN.Location = new System.Drawing.Point(104, 9);
this.tBSN.Name = "tBSN";
this.tBSN.Size = new System.Drawing.Size(112, 21);
this.tBSN.TabIndex = 57;
//
// label1
//
this.label1.AutoSize = true;
this.label1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label1.Location = new System.Drawing.Point(51, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 56;
this.label1.Text = "SN";
//
// btMesSet
//
this.btMesSet.Location = new System.Drawing.Point(151, 247);
this.btMesSet.Name = "btMesSet";
this.btMesSet.Size = new System.Drawing.Size(85, 25);
this.btMesSet.TabIndex = 55;
this.btMesSet.Text = "btMesSet";
this.btMesSet.UseVisualStyleBackColor = true;
this.btMesSet.Click += new System.EventHandler(this.btMesSet_Click);
//
// btMesGet
//
this.btMesGet.Location = new System.Drawing.Point(51, 244);
this.btMesGet.Name = "btMesGet";
this.btMesGet.Size = new System.Drawing.Size(85, 25);
this.btMesGet.TabIndex = 54;
this.btMesGet.Text = "btMesGet";
this.btMesGet.UseVisualStyleBackColor = true;
this.btMesGet.Click += new System.EventHandler(this.btMesGet_Click);
//
// btMesUnInit
//
this.btMesUnInit.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesUnInit.Location = new System.Drawing.Point(151, 275);
this.btMesUnInit.Name = "btMesUnInit";
this.btMesUnInit.Size = new System.Drawing.Size(85, 25);
this.btMesUnInit.TabIndex = 53;
this.btMesUnInit.Text = "btMesUnInit";
this.btMesUnInit.UseVisualStyleBackColor = false;
this.btMesUnInit.Click += new System.EventHandler(this.btMesUnInit_Click);
//
// btMesEnd
//
this.btMesEnd.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesEnd.Location = new System.Drawing.Point(49, 275);
this.btMesEnd.Name = "btMesEnd";
this.btMesEnd.Size = new System.Drawing.Size(85, 25);
this.btMesEnd.TabIndex = 52;
this.btMesEnd.Text = "btMesEnd";
this.btMesEnd.UseVisualStyleBackColor = false;
this.btMesEnd.Click += new System.EventHandler(this.btMesEnd_Click);
//
// btMesStart
//
this.btMesStart.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesStart.Location = new System.Drawing.Point(151, 216);
this.btMesStart.Name = "btMesStart";
this.btMesStart.Size = new System.Drawing.Size(85, 25);
this.btMesStart.TabIndex = 51;
this.btMesStart.Text = "btMesStart";
this.btMesStart.UseVisualStyleBackColor = false;
this.btMesStart.Click += new System.EventHandler(this.btMesStart_Click);
//
// btMesInit
//
this.btMesInit.BackColor = System.Drawing.SystemColors.Highlight;
this.btMesInit.Location = new System.Drawing.Point(51, 216);
this.btMesInit.Name = "btMesInit";
this.btMesInit.Size = new System.Drawing.Size(85, 25);
this.btMesInit.TabIndex = 50;
this.btMesInit.Text = "btMesInit";
this.btMesInit.UseVisualStyleBackColor = false;
this.btMesInit.Click += new System.EventHandler(this.btMesInit_Click);
//
// MultiMesStart
//
this.MultiMesStart.Location = new System.Drawing.Point(151, 306);
this.MultiMesStart.Name = "MultiMesStart";
this.MultiMesStart.Size = new System.Drawing.Size(85, 25);
this.MultiMesStart.TabIndex = 64;
this.MultiMesStart.Text = "MultiMesStart";
this.MultiMesStart.UseVisualStyleBackColor = true;
this.MultiMesStart.Click += new System.EventHandler(this.button1_Click);
//
// button1
//
this.button1.BackColor = System.Drawing.SystemColors.Highlight;
this.button1.Location = new System.Drawing.Point(51, 337);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 65;
this.button1.Text = "btMesEnd2";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// button2
//
this.button2.BackColor = System.Drawing.SystemColors.Highlight;
this.button2.Location = new System.Drawing.Point(53, 308);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(83, 23);
this.button2.TabIndex = 66;
this.button2.Text = "btMesStart2";
this.button2.UseVisualStyleBackColor = false;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 126);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(95, 12);
this.label2.TabIndex = 67;
this.label2.Text = "ErrDescription:";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(104, 123);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(203, 21);
this.textBox1.TabIndex = 68;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 155);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 69;
this.label3.Text = "Alldata:";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(62, 150);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(245, 21);
this.textBox2.TabIndex = 70;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(104, 94);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(100, 21);
this.textBox3.TabIndex = 71;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(319, 394);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label3);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.MultiMesStart);
this.Controls.Add(this.label20);
this.Controls.Add(this.tBTool);
this.Controls.Add(this.label13);
this.Controls.Add(this.tBStationHand);
this.Controls.Add(this.label9);
this.Controls.Add(this.tBSN);
this.Controls.Add(this.label1);
this.Controls.Add(this.btMesSet);
this.Controls.Add(this.btMesGet);
this.Controls.Add(this.btMesUnInit);
this.Controls.Add(this.btMesEnd);
this.Controls.Add(this.btMesStart);
this.Controls.Add(this.btMesInit);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label20;
private System.Windows.Forms.TextBox tBTool;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox tBStationHand;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tBSN;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btMesSet;
private System.Windows.Forms.Button btMesGet;
private System.Windows.Forms.Button btMesUnInit;
private System.Windows.Forms.Button btMesEnd;
private System.Windows.Forms.Button btMesStart;
private System.Windows.Forms.Button btMesInit;
private System.Windows.Forms.Button MultiMesStart;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
}
}

View File

@@ -0,0 +1,337 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Newtonsoft;//处理从mes获取的json字符串
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace MEStest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int MESBackFunc(StringBuilder data);
/// <summary>
/// mes函数执行成功
/// </summary>
public const int MesBackOK = 0;
/// <summary>
/// MES的句柄
/// </summary>
public static int hMes = 0;
private const string DLLPATH = "HQMES.dll";
[DllImport(DLLPATH)]
public static extern int MesInit(MESBackFunc func, ref int hMes, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesStart(int hMes, string SN, string ActionName, string Tools, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesStart2(int hMes, string SN, string SNType, string ActionName, string Tools, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesEnd(int hMes, string SN, string ActionName, string Tools, string ErrorCode, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesEnd2(int hMes, string SN, string SNType, string ActionName, string Tools, string ErrorCode, string AllData, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
private static extern int MesSaveAndGetExtraInfo(int hMes, string G_TYPE, string G_POSITION, string G_KEY, string G_VALUE, string G_EXTINFO, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesUnInit(int hMes);
/// <summary>
/// 回调函数
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static int WriteLogFile(StringBuilder data)
{
//MessageBox.Show(data.ToString());
return 0;
}
static int hmes = 0;
private static MESBackFunc tempFunc;// 必须要加一个变量,这样不会被回收
private void btMesInit_Click(object sender, EventArgs e)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
if (hMes == 0)
{
tempFunc = WriteLogFile; // 必须要加一个变量,这样不会被回收 这个回调函数赋值只能放在这个位置防止当多次点击init之后可能会出现回调函数被回收的现象
if (0 == MesInit(tempFunc, ref hMes, strdata, ref len))
{
JObject jt = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
string version = "";
version = jt.GetValue("H_MSG") == null ? "" : jt.GetValue("H_MSG").ToString();//获取meshelepr的版本
MessageBox.Show("初始化链接MES 成功 MEShelper版本" + version);//strdata会返回一个meshelper的版本号表示初始化成功
}
else
{
hMes = 0;
MessageBox.Show("初始化链接MES 失败 ");
}
;
}
else
{
MessageBox.Show("请勿重复初始化MES链接");
}
}
private void btMesStart_Click(object sender, EventArgs e)//messtart函数用来执行一般过站操作只能使用sn过站如需使用别的类型过站请使用MesStart2函数
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string data = "";
string msg = "";
string retdata = "";
string needload = "";
if (0 == MesStart(hMes, SN, ActionName, toolName, strdata, ref len))
{
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
//start参数的解析具体字段定义请参考《华勤MESHelper接口工具使用说明》
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
data = jo.GetValue("DATA") == null ? "" : jo.GetValue("DATA").ToString();
//data是一个json字符串其中包含mes返回的主要字段按照这个参考继续解析出来 例如获取CSN
JObject jb = (JObject)JsonConvert.DeserializeObject(data);
string CSN = jb.GetValue("CSN") ==null?"":jb.GetValue("CSN").ToString();
//
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();
retdata = jo.GetValue("G_RET_DATA") == null ? "" : jo.GetValue("G_RET_DATA").ToString();//标记工具需要回传给MES的字段是json格式将其解析出来可以得到字段工具必须将该字段赋值并回传给MES在endmes函数回传
needload = jo.GetValue("NeedLoad") == null ? "" : jo.GetValue("NeedLoad").ToString();//标记工具是否需要重启
//解析结束
}
else
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();//mes返回的错误信息最好将其在工具界面展示出来给操作人员查看
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesGet_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
string SN = tBSN.Text.ToString();
if (0 == MesSaveAndGetExtraInfo(hMes, "2", "BATROLL", SN, null, null, strdata, ref len))
{
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesSet_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
string SN = tBSN.Text.ToString();
string RollData = "Max:5.100kg;Min:4.800kg;RollNum:3;Time:10s";
if (0 == MesSaveAndGetExtraInfo(hMes, "1", "BATROLL", SN, RollData, null, strdata, ref len))
{
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesEnd_Click(object sender, EventArgs e)//mesend函数仅仅向mes回传工具运行情况的错误码和错误描述如需向mes回传特定字段请使用MesEnd2函数
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
strdata.Append(textBox3.Text);//错误描述
string SN = tBSN.Text.ToString();
string ActionName = tBStationHand.Text;//工具动作
string toolName = tBTool.Text;//工具版本
string ErrorCode = textBox1.Text;//错误码 0表示测试成功其它表示失败
string nextws = "";//表示下一个工位
string msg = "";//过站的错误信息
if (0 == MesEnd(hMes, SN, ActionName, toolName, ErrorCode, strdata, ref len))
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();
nextws = jo.GetValue("G_NEXTWS") == null ? "" : jo.GetValue("G_NEXTWS").ToString();
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();//表示过站的错误信息,最好展示在工具的界面方便操作人员查看
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesUnInit_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
if (0 == MesUnInit(hMes))
{
MessageBox.Show("释放MES链接 成功 ");
}
else
{
MessageBox.Show("释放MES链接 失败 ");
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void button1_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
for (int i = 0; i < 16; i++)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
if (0 == MesStart(hMes, SN, ActionName, toolName, strdata, ref len))
{
//MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
//MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
strdata.Append(textBox1.Text);
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string ErrorCode = textBox3.Text;
string AllData = textBox2.Text;//表示需要回传给mes的字段json字符串形式传递
string SNType = "1";//
//start
//假设需要回传的字段为a值为1,将字段a上抛
//JObject data = new JObject();
//data.Add("a", "1");
//AllData = data.ToString();
//当遇到数据较多的时候可以使用Dictionary类型存储数据然后序列化
//end
if (0 == MesEnd2(hMes, SN, "1", ActionName, toolName, ErrorCode, AllData, strdata, ref len))
{
//这个函数返回的值跟MesEnd一样请参考MesEnd的解析参数的操作
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string ErrorCode = textBox1.Text;
string ErrorDes = textBox3.Text;
string AllData = textBox2.Text;
string SNType = "1";//表示流程检查的输入数据类型1 SN 2 IMEI 3 CSN 4 蓝牙 5 WiFi 6 入网证
if (0 == MesStart2(hMes, SN,SNType, ActionName, toolName, strdata, ref len))
{
//这个函数返回的值跟MesStart一样请参考MesStart的解析参数的操作
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,337 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Newtonsoft;//处理从mes获取的json字符串
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace MEStest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int MESBackFunc(StringBuilder data);
/// <summary>
/// mes函数执行成功
/// </summary>
public const int MesBackOK = 0;
/// <summary>
/// MES的句柄
/// </summary>
public static int hMes = 0;
private const string DLLPATH = "HQMES.dll";
[DllImport(DLLPATH)]
public static extern int MesInit(MESBackFunc func, ref int hMes, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesStart(int hMes, string SN, string ActionName, string Tools, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesStart2(int hMes, string SN, string SNType, string ActionName, string Tools, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesEnd(int hMes, string SN, string ActionName, string Tools, string ErrorCode, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesEnd2(int hMes, string SN, string SNType, string ActionName, string Tools, string ErrorCode, string AllData, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
private static extern int MesSaveAndGetExtraInfo(int hMes, string G_TYPE, string G_POSITION, string G_KEY, string G_VALUE, string G_EXTINFO, StringBuilder sInfo, ref int InfoLen);
[DllImport(DLLPATH)]
public static extern int MesUnInit(int hMes);
/// <summary>
/// 回调函数
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static int WriteLogFile(StringBuilder data)
{
//MessageBox.Show(data.ToString());
return 0;
}
static int hmes = 0;
private static MESBackFunc tempFunc;// 必须要加一个变量,这样不会被回收
private void btMesInit_Click(object sender, EventArgs e)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
if (hMes == 0)
{
tempFunc = WriteLogFile; // 必须要加一个变量,这样不会被回收 这个回调函数赋值只能放在这个位置防止当多次点击init之后可能会出现回调函数被回收的现象
if (0 == MesInit(tempFunc, ref hMes, strdata, ref len))
{
JObject jt = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
string version = "";
version = jt.GetValue("H_MSG") == null ? "" : jt.GetValue("H_MSG").ToString();//获取meshelepr的版本
MessageBox.Show("初始化链接MES 成功 MEShelper版本" + version);//strdata会返回一个meshelper的版本号表示初始化成功
}
else
{
hMes = 0;
MessageBox.Show("初始化链接MES 失败 ");
}
;
}
else
{
MessageBox.Show("请勿重复初始化MES链接");
}
}
private void btMesStart_Click(object sender, EventArgs e)//messtart函数用来执行一般过站操作只能使用sn过站如需使用别的类型过站请使用MesStart2函数
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string data = "";
string msg = "";
string retdata = "";
string needload = "";
if (0 == MesStart(hMes, SN, ActionName, toolName, strdata, ref len))
{
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
//start参数的解析具体字段定义请参考《华勤MESHelper接口工具使用说明》
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
data = jo.GetValue("DATA") == null ? "" : jo.GetValue("DATA").ToString();
//data是一个json字符串其中包含mes返回的主要字段按照这个参考继续解析出来 例如获取CSN
JObject jb = (JObject)JsonConvert.DeserializeObject(data);
string CSN = jb.GetValue("CSN") ==null?"":jb.GetValue("CSN").ToString();
//
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();
retdata = jo.GetValue("G_RET_DATA") == null ? "" : jo.GetValue("G_RET_DATA").ToString();//标记工具需要回传给MES的字段是json格式将其解析出来可以得到字段工具必须将该字段赋值并回传给MES在endmes函数回传
needload = jo.GetValue("NeedLoad") == null ? "" : jo.GetValue("NeedLoad").ToString();//标记工具是否需要重启
//解析结束
}
else
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();//mes返回的错误信息最好将其在工具界面展示出来给操作人员查看
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesGet_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
string SN = tBSN.Text.ToString();
if (0 == MesSaveAndGetExtraInfo(hMes, "2", "BATROLL", SN, null, null, strdata, ref len))
{
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesSet_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
string SN = tBSN.Text.ToString();
string RollData = "Max:5.100kg;Min:4.800kg;RollNum:3;Time:10s";
if (0 == MesSaveAndGetExtraInfo(hMes, "1", "BATROLL", SN, RollData, null, strdata, ref len))
{
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesEnd_Click(object sender, EventArgs e)//mesend函数仅仅向mes回传工具运行情况的错误码和错误描述如需向mes回传特定字段请使用MesEnd2函数
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
strdata.Append(textBox3.Text);//错误描述
string SN = tBSN.Text.ToString();
string ActionName = tBStationHand.Text;//工具动作
string toolName = tBTool.Text;//工具版本
string ErrorCode = textBox1.Text;//错误码 0表示测试成功其它表示失败
string nextws = "";//表示下一个工位
string msg = "";//过站的错误信息
if (0 == MesEnd(hMes, SN, ActionName, toolName, ErrorCode, strdata, ref len))
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();
nextws = jo.GetValue("G_NEXTWS") == null ? "" : jo.GetValue("G_NEXTWS").ToString();
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
JObject jo = (JObject)JsonConvert.DeserializeObject(strdata.ToString());
msg = jo.GetValue("H_MSG") == null ? "" : jo.GetValue("H_MSG").ToString();//表示过站的错误信息,最好展示在工具的界面方便操作人员查看
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void btMesUnInit_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
if (0 == MesUnInit(hMes))
{
MessageBox.Show("释放MES链接 成功 ");
}
else
{
MessageBox.Show("释放MES链接 失败 ");
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void button1_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
for (int i = 0; i < 16; i++)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
if (0 == MesStart(hMes, SN, ActionName, toolName, strdata, ref len))
{
//MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
//MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
strdata.Append(textBox1.Text);
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string ErrorCode = textBox3.Text;
string AllData = textBox2.Text;//表示需要回传给mes的字段json字符串形式传递
string SNType = "1";//
//start
//假设需要回传的字段为a值为1,将字段a上抛
//JObject data = new JObject();
//data.Add("a", "1");
//AllData = data.ToString();
//当遇到数据较多的时候可以使用Dictionary类型存储数据然后序列化
//end
if (0 == MesEnd2(hMes, SN, "1", ActionName, toolName, ErrorCode, AllData, strdata, ref len))
{
//这个函数返回的值跟MesEnd一样请参考MesEnd的解析参数的操作
MessageBox.Show("保存数据到MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("保存数据到MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
if (hMes != 0)
{
int len = 102400;
StringBuilder strdata = new StringBuilder(len);
//StringBuilder SN = new StringBuilder("12345678901002");
//StringBuilder ActionName = new StringBuilder("BT");
//StringBuilder toolName = new StringBuilder("PRESSTOOL");
string SN = tBSN.Text;
string ActionName = tBStationHand.Text;
string toolName = tBTool.Text;
string ErrorCode = textBox1.Text;
string ErrorDes = textBox3.Text;
string AllData = textBox2.Text;
string SNType = "1";//表示流程检查的输入数据类型1 SN 2 IMEI 3 CSN 4 蓝牙 5 WiFi 6 入网证
if (0 == MesStart2(hMes, SN,SNType, ActionName, toolName, strdata, ref len))
{
//这个函数返回的值跟MesStart一样请参考MesStart的解析参数的操作
MessageBox.Show("链接MES 成功 /r/n" + strdata.ToString());
}
else
{
MessageBox.Show("链接MES 失败 /r/n" + strdata.ToString());
}
}
else
{
MessageBox.Show("请初始化MES链接");
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MEStest</RootNamespace>
<AssemblyName>MEStest</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>lib\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="HQMES.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MEStest</RootNamespace>
<AssemblyName>MEStest</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>lib\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="HQMES.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace MEStest
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace MEStest
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MEStest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MEStest")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8f6bb2e1-c9ae-47e5-8730-deb4cdf7076a")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MEStest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MEStest")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8f6bb2e1-c9ae-47e5-8730-deb4cdf7076a")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MEStest.Properties
{
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的、缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MEStest.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 为所有资源查找重写当前线程的 CurrentUICulture 属性,
/// 方法是使用此强类型资源类。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MEStest.Properties
{
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的、缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MEStest.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 为所有资源查找重写当前线程的 CurrentUICulture 属性,
/// 方法是使用此强类型资源类。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MEStest.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MEStest.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
这个demo默认使用.net3.5框架,如果工具要采用较高等级的.net框架文件夹里面是可以使用的Newtonsoft.Json资源

View File

@@ -0,0 +1,2 @@
这个demo默认使用.net3.5框架,如果工具要采用较高等级的.net框架文件夹里面是可以使用的Newtonsoft.Json资源

View File

@@ -0,0 +1 @@
39e7d1a8291eb372d36f148a655e856a1f47b77ed4b45357deead92b0f88686d

View File

@@ -0,0 +1,10 @@
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\bin\Debug\HQMES.dll
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\bin\Debug\Newtonsoft.Json.dll
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.csproj.AssemblyReference.cache
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.Form1.resources
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.Properties.Resources.resources
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.csproj.GenerateResource.cache
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.csproj.CoreCompileInputs.cache
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.csproj.Up2Date
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.exe
D:\桌面\莫禧亮\华贝\正负压28\正负压 LL-28\LL-28\MES对接\华擎对接资料\c#_demo\C#\MEStest\obj\x86\Debug\MEStest.pdb

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MEStest", "MEStest\MEStest.csproj", "{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Debug|x86.ActiveCfg = Debug|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Debug|x86.Build.0 = Debug|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Release|x86.ActiveCfg = Release|x86
{DAF3673D-6DBB-4D6D-85AD-B98499A9C277}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal