zoulei hai 11 meses
pai
achega
17024db262
Modificáronse 60 ficheiros con 961 adicións e 873 borrados
  1. 0 3
      Service/CgDbScan/App.config
  2. 1 7
      Service/CgDbScan/CgDbScan.csproj
  3. 37 0
      Service/CgDbScan/LogHelper.cs
  4. 20 2
      Service/CgDbScan/MainForm.Designer.cs
  5. 15 7
      Service/CgDbScan/MainForm.cs
  6. 37 0
      Service/CheckServer/LogHelper.cs
  7. 16 3
      Service/CheckServer/MainForm.Designer.cs
  8. 14 0
      Service/CheckServer/MainForm.cs
  9. 0 23
      Service/CheckServer/MainForm.resx
  10. 37 0
      Service/CpuCgServer/LogHelper.cs
  11. 16 3
      Service/CpuCgServer/MainForm.Designer.cs
  12. 14 0
      Service/CpuCgServer/MainForm.cs
  13. 0 23
      Service/CpuCgServer/MainForm.resx
  14. 37 0
      Service/GpuCgServer/LogHelper.cs
  15. 16 3
      Service/GpuCgServer/MainForm.Designer.cs
  16. 14 0
      Service/GpuCgServer/MainForm.cs
  17. 0 23
      Service/GpuCgServer/MainForm.resx
  18. 37 0
      Service/X1LeoTaskServer54/LogHelper.cs
  19. 16 3
      Service/X1LeoTaskServer54/MainForm.Designer.cs
  20. 14 0
      Service/X1LeoTaskServer54/MainForm.cs
  21. 0 23
      Service/X1LeoTaskServer54/MainForm.resx
  22. 37 0
      Service/X2D1TaskServer54/LogHelper.cs
  23. 16 3
      Service/X2D1TaskServer54/MainForm.Designer.cs
  24. 14 0
      Service/X2D1TaskServer54/MainForm.cs
  25. 0 23
      Service/X2D1TaskServer54/MainForm.resx
  26. 37 0
      Service/X2LeoTaskServer54/LogHelper.cs
  27. 15 3
      Service/X2LeoTaskServer54/MainForm.Designer.cs
  28. 14 0
      Service/X2LeoTaskServer54/MainForm.cs
  29. 0 23
      Service/X2LeoTaskServer54/MainForm.resx
  30. 37 0
      Service/X3LeoTaskServer54/LogHelper.cs
  31. 15 3
      Service/X3LeoTaskServer54/MainForm.Designer.cs
  32. 14 0
      Service/X3LeoTaskServer54/MainForm.cs
  33. 0 23
      Service/X3LeoTaskServer54/MainForm.resx
  34. 37 0
      Service/X3TaskServer54/LogHelper.cs
  35. 16 3
      Service/X3TaskServer54/MainForm.Designer.cs
  36. 14 0
      Service/X3TaskServer54/MainForm.cs
  37. 0 23
      Service/X3TaskServer54/MainForm.resx
  38. 28 15
      XdCxRhDW.Api/AddIns/信号仿真/DataEmulationHelper.cs
  39. 0 0
      XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.dll
  40. 0 0
      XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.h
  41. 0 0
      XdCxRhDW.Api/AddIns/信号仿真/ippcore-9.0.dll
  42. 0 0
      XdCxRhDW.Api/AddIns/信号仿真/ipps-9.0.dll
  43. 0 0
      XdCxRhDW.Api/AddIns/信号仿真/ippsy8-9.0.dll
  44. 14 0
      XdCxRhDW.Api/XdCxRhDW.Api.csproj
  45. 198 148
      XdCxRhDW.App/EditForms/SignalEmulation.Designer.cs
  46. 60 13
      XdCxRhDW.App/EditForms/SignalEmulation.cs
  47. 0 0
      XdCxRhDW.App/EditForms/SignalEmulation.resx
  48. 20 7
      XdCxRhDW.App/MainForm.Designer.cs
  49. 2 0
      XdCxRhDW.App/MainForm.cs
  50. 23 0
      XdCxRhDW.App/MainForm.resx
  51. 9 0
      XdCxRhDW.App/XdCxRhDW.App.csproj
  52. 0 21
      XdCxRhDW.DataEmulation/App.config
  53. 0 58
      XdCxRhDW.DataEmulation/Program.cs
  54. 0 32
      XdCxRhDW.DataEmulation/Properties/AssemblyInfo.cs
  55. 0 63
      XdCxRhDW.DataEmulation/Properties/Resources.Designer.cs
  56. 0 117
      XdCxRhDW.DataEmulation/Properties/Resources.resx
  57. 0 26
      XdCxRhDW.DataEmulation/Properties/Settings.Designer.cs
  58. 0 7
      XdCxRhDW.DataEmulation/Properties/Settings.settings
  59. 0 133
      XdCxRhDW.DataEmulation/XdCxRhDW.DataEmulation.csproj
  60. 0 6
      XdCxRhDW54.sln

+ 0 - 3
Service/CgDbScan/App.config

@@ -4,9 +4,6 @@
 		<!--服务ID-->
 		<add key="SvrID" value="001" />
 
-		<!--本地http端口-->
-		<add key="LocalHttpPort" value="8923" />
-
 		<!--定位平台Http地址-->
 		<add key="PosPlatformAddr" value="http://127.0.0.1:8091" />
 

+ 1 - 7
Service/CgDbScan/CgDbScan.csproj

@@ -142,14 +142,8 @@
       <Project>{cd41cedf-e0b8-41cc-867b-3b57f476b450}</Project>
       <Name>01.XdCxRhDW.Framework</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\XdCxRhDW.WebApi\05.XdCxRhDW.WebApi.csproj">
-      <Project>{652C29AC-65DE-466A-A964-8F1A2E657D86}</Project>
-      <Name>05.XdCxRhDW.WebApi</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Controllers\" />
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <PostBuildEvent>del DevExpress*.xml,EntityFramework*.xml,Serilog*.xml,Newtonsoft*.xml

+ 37 - 0
Service/CgDbScan/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace CheckServer
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 20 - 2
Service/CgDbScan/MainForm.Designer.cs

@@ -28,13 +28,29 @@
         /// </summary>
         private void InitializeComponent()
         {
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 19;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(940, 535);
+            this.listBox1.TabIndex = 0;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 19F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.ClientSize = new System.Drawing.Size(940, 535);
+            this.Controls.Add(this.listBox1);
+            this.Font = new System.Drawing.Font("微软雅黑", 10F);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.Name = "MainForm";
             this.Text = "参估编批服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -44,5 +60,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 15 - 7
Service/CgDbScan/MainForm.cs

@@ -8,7 +8,6 @@ using System.Reflection;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 using XdCxRhDW.Dto;
-using XdCxRhDW.WebApi;
 
 namespace CheckServer
 {
@@ -17,6 +16,21 @@ namespace CheckServer
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count-1);
+                    }));
+                }
+                catch
+                { }
+            };
+
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)
@@ -35,7 +49,6 @@ namespace CheckServer
                     { }
                 }
             }
-            var port = Convert.ToInt32(ConfigurationManager.AppSettings["LocalHttpPort"].Trim());
             var svrID = ConfigurationManager.AppSettings["SvrID"].Trim();
             var posPlatformAddr = ConfigurationManager.AppSettings["PosPlatformAddr"].Trim();
             LogHelper.BaseUrl = posPlatformAddr + "/api/";
@@ -64,9 +77,6 @@ namespace CheckServer
                     await Task.Delay(5000);
                 }
             }
-            await LogHelper.Info($"本机IP={localIp}");
-            Startup.Start(port, $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Name}.xml", "XdCxRhDW.Dto.xml");
-            await LogHelper.Info($"服务启动成功.接口地址http://{localIp}:{port}/swagger");
 
             string url;
             if (posPlatformAddr.EndsWith("/"))
@@ -83,8 +93,6 @@ namespace CheckServer
                         SvrType = EnumSvrType.CgDbScan,
                         SvrID = svrID,
                         ReportType = 0,
-                        BaseHttpAddr = $"http://{localIp}:{port}",
-                        SwaggerAddr = $"http://{localIp}:{port}/Swagger",
                     });
                     if (res.code != 200)
                     {

+ 37 - 0
Service/CheckServer/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace CheckServer
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace CheckServer
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/CheckServer/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "信号检测服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/CheckServer/MainForm.cs

@@ -17,6 +17,20 @@ namespace CheckServer
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/CheckServer/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/CpuCgServer/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace CpuCgServer
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace CpuCgServer
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace CpuCgServer
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace CpuCgServer
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/CpuCgServer/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "CPU参估服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/CpuCgServer/MainForm.cs

@@ -17,6 +17,20 @@ namespace CpuCgServer
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/CpuCgServer/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/GpuCgServer/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace GpuCgServer
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace GpuCgServer
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace GpuCgServer
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace GpuCgServer
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/GpuCgServer/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "CPU参估服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/GpuCgServer/MainForm.cs

@@ -17,6 +17,20 @@ namespace GpuCgServer
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/GpuCgServer/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/X1LeoTaskServer54/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace X1LeoTaskServer54
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace X1LeoTaskServer54
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace X1LeoTaskServer54
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace X1LeoTaskServer54
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/X1LeoTaskServer54/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "两星一地离线数据处理服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/X1LeoTaskServer54/MainForm.cs

@@ -17,6 +17,20 @@ namespace X1LeoTaskServer54
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/X1LeoTaskServer54/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/X2D1TaskServer54/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace X2D1NoRefTaskServer54
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace X2D1NoRefTaskServer54
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace X2D1NoRefTaskServer54
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace X2D1NoRefTaskServer54
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/X2D1TaskServer54/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "两星一地离线数据处理服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/X2D1TaskServer54/MainForm.cs

@@ -17,6 +17,20 @@ namespace X2D1NoRefTaskServer54
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/X2D1TaskServer54/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/X2LeoTaskServer54/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace X2LeoTaskServer54
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace X2LeoTaskServer54
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace X2LeoTaskServer54
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace X2LeoTaskServer54
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 15 - 3
Service/X2LeoTaskServer54/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "两星一地离线数据处理服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -46,5 +57,6 @@
 
         #endregion
 
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/X2LeoTaskServer54/MainForm.cs

@@ -17,6 +17,20 @@ namespace X2LeoTaskServer54
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/X2LeoTaskServer54/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/X3LeoTaskServer54/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace X3LeoTaskServer54
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace X3LeoTaskServer54
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace X3LeoTaskServer54
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace X3LeoTaskServer54
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 15 - 3
Service/X3LeoTaskServer54/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "两星一地离线数据处理服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -46,5 +57,6 @@
 
         #endregion
 
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/X3LeoTaskServer54/MainForm.cs

@@ -17,6 +17,20 @@ namespace X3LeoTaskServer54
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/X3LeoTaskServer54/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 37 - 0
Service/X3TaskServer54/LogHelper.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using System.Text;
@@ -8,9 +9,39 @@ using XdCxRhDW.Dto;
 
 namespace X3TaskServer54
 {
+    public class LogInfo
+    {
+        public LogInfo()
+        {
+            this.LogTime = DateTime.Now;
+            this.LogType = EnumLogType.Info;
+        }
+        [Display(Name = "日志类型")]
+        public EnumLogType LogType { get; set; }
+
+
+        [Display(Name = "时间")]
+        public DateTime LogTime { get; private set; }
+
+        [Display(Name = "内容")]
+        public string Msg { get; set; }
+    }
+    public enum EnumLogType
+    {
+        [Display(Name = "消息")]
+        Info,
+
+        [Display(Name = "警告")]
+        Warning,
+
+        [Display(Name = "错误")]
+        Error
+    }
+
     public static class LogHelper
     {
         public static string BaseUrl;
+        public static Action<LogInfo> Logger;
         public static async Task Info(string msg)
         {
             var pro = Process.GetCurrentProcess();
@@ -28,6 +59,8 @@ namespace X3TaskServer54
             {
             }
             Serilog.Log.Information(msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Info, Msg = msg });
         }
         public static async Task Warning(string msg, Exception ex = null)
         {
@@ -46,6 +79,8 @@ namespace X3TaskServer54
             {
             }
             Serilog.Log.Warning(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Warning, Msg = msg });
         }
         public static async Task Error(string msg, Exception ex = null)
         {
@@ -70,6 +105,8 @@ namespace X3TaskServer54
             {
             }
             Serilog.Log.Error(ex, msg);
+            if (!string.IsNullOrWhiteSpace(pro.MainWindowTitle))
+                Logger?.Invoke(new LogInfo() { LogType = EnumLogType.Error, Msg = msg });
         }
     }
 }

+ 16 - 3
Service/X3TaskServer54/MainForm.Designer.cs

@@ -28,14 +28,25 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.listBox1 = new System.Windows.Forms.ListBox();
             this.SuspendLayout();
             // 
+            // listBox1
+            // 
+            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.listBox1.FormattingEnabled = true;
+            this.listBox1.ItemHeight = 12;
+            this.listBox1.Location = new System.Drawing.Point(0, 0);
+            this.listBox1.Name = "listBox1";
+            this.listBox1.Size = new System.Drawing.Size(705, 338);
+            this.listBox1.TabIndex = 1;
+            // 
             // MainForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(823, 394);
+            this.ClientSize = new System.Drawing.Size(705, 338);
+            this.Controls.Add(this.listBox1);
             this.Name = "MainForm";
             this.Text = "三星离线数据处理服务";
             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
@@ -45,5 +56,7 @@
         }
 
         #endregion
+
+        private System.Windows.Forms.ListBox listBox1;
     }
 }

+ 14 - 0
Service/X3TaskServer54/MainForm.cs

@@ -17,6 +17,20 @@ namespace X3TaskServer54
         public MainForm()
         {
             InitializeComponent();
+            LogHelper.Logger = info =>
+            {
+                try
+                {
+                    this.Invoke(new Action(() =>
+                    {
+                        this.listBox1.Items.Insert(0, $"{info.LogTime:yyyyMMddHHmmss.fff}--{info.Msg}");
+                        if (this.listBox1.Items.Count > 1000)
+                            this.listBox1.Items.RemoveAt(this.listBox1.Items.Count - 1);
+                    }));
+                }
+                catch
+                { }
+            };
         }
 
         private async void MainForm_LoadAsync(object sender, EventArgs e)

+ 0 - 23
Service/X3TaskServer54/MainForm.resx

@@ -117,27 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="MainForm.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2VydmVyTW9kZSI+DQogICAg
-        PHBhdGggZD0iTTI3LDIwSDVjLTAuNSwwLTEsMC41LTEsMXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUs
-        MCwxLTAuNSwxLTF2LTRDMjgsMjAuNSwyNy41LDIwLDI3LDIweiBNOCwyNEg2di0yaDJWMjQgICB6IE0y
-        NywxMkg1Yy0wLjUsMC0xLDAuNS0xLDF2NGMwLDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0x
-        di00QzI4LDEyLjUsMjcuNSwxMiwyNywxMnogTTgsMTZINnYtMmgyVjE2eiBNMjcsNEg1ICAgQzQuNSw0
-        LDQsNC41LDQsNXY0YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcu
-        NSw0LDI3LDR6IE04LDhINlY2aDJWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
 </root>

+ 28 - 15
XdCxRhDW.DataEmulation/DataEmulationHelper.cs → XdCxRhDW.Api/AddIns/信号仿真/DataEmulationHelper.cs

@@ -6,11 +6,11 @@ using System.Runtime.InteropServices;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace XdCxRhDW.DataEmulation
+namespace XdCxRhDW.Api
 {
     public static class DataEmulationHelper
     {
-        private const string dll = @"AddIns\SignalEmulation.dll";
+        private const string dll = @"AddIns\信号仿真\SignalEmulation.dll";
 
         #region cpp dll Interop 
         [DllImport(dll, EntryPoint = "genSignalsWithDtDf", CallingConvention = CallingConvention.Cdecl)]
@@ -54,16 +54,16 @@ namespace XdCxRhDW.DataEmulation
         /// <param name="file1">输出文件1</param>
         /// <param name="file2">输出文件2</param>
         /// <param name="fsHz">采样率Hz</param>
-        /// <param name="sigTimeLenMs">文件时长(毫秒)</param>
+        /// <param name="brustCount">突发个数</param>
         /// <param name="dt">时差秒</param>
         /// <param name="df">频差Hz</param>
-        public static void GenBrustFiles(string file1, string file2, long fsHz, int sigTimeLenMs, double dt, double df)
+        public static void GenBrustFiles(string file1, string file2, long fsHz, int brustCount, double dt, double df)
         {
-            GenNoizes("n11.dat", fsHz, 900, 400);
-            GenNoizes("n12.dat", fsHz, 900, 400);
-            GenNormalFiles("s1.dat", "s2.dat", fsHz, 100, dt, df, 25, -2);
-            GenNoizes("n21.dat", fsHz, 900, 400);
-            GenNoizes("n22.dat", fsHz, 900, 400);
+            GenNoizes("n11.dat", fsHz, 900, 40);
+            GenNoizes("n12.dat", fsHz, 900, 40);
+            GenNormalFiles("s1.dat", "s2.dat", fsHz, 100, dt, df, 5, -5);
+            GenNoizes("n21.dat", fsHz, 900, 40);
+            GenNoizes("n22.dat", fsHz, 900, 40);
             var n11 = File.ReadAllBytes("n11.dat");
             var n12 = File.ReadAllBytes("n12.dat");
             var s1 = File.ReadAllBytes("s1.dat");
@@ -72,16 +72,29 @@ namespace XdCxRhDW.DataEmulation
             var n22 = File.ReadAllBytes("n22.dat");
             using (FileStream fs = new FileStream(file1, FileMode.Create))
             {
-                fs.Write(n11, 0, n11.Length);
-                fs.Write(s1, 0, s1.Length);
-                fs.Write(n21, 0, n21.Length);
+                for (int i = 0; i < brustCount; i++)
+                {
+                    fs.Write(n11, 0, n11.Length);
+                    fs.Write(s1, 0, s1.Length);
+                    fs.Write(n21, 0, n21.Length);
+                }
+            
             }
             using (FileStream fs = new FileStream(file2, FileMode.Create))
             {
-                fs.Write(n12, 0, n12.Length);
-                fs.Write(s2, 0, s2.Length);
-                fs.Write(n22, 0, n22.Length);
+                for (int i = 0; i < brustCount; i++)
+                {
+                    fs.Write(n12, 0, n12.Length);
+                    fs.Write(s2, 0, s2.Length);
+                    fs.Write(n22, 0, n22.Length);
+                }
             }
+            File.Delete("n11.dat");
+            File.Delete("n12.dat");
+            File.Delete("s1.dat");
+            File.Delete("s2.dat");
+            File.Delete("n21.dat");
+            File.Delete("n22.dat");
         }
     }
 }

+ 0 - 0
XdCxRhDW.DataEmulation/AddIns/SignalEmulation.dll → XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.dll


+ 0 - 0
XdCxRhDW.DataEmulation/AddIns/SignalEmulation.h → XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.h


+ 0 - 0
XdCxRhDW.DataEmulation/AddIns/ippcore-9.0.dll → XdCxRhDW.Api/AddIns/信号仿真/ippcore-9.0.dll


+ 0 - 0
XdCxRhDW.DataEmulation/AddIns/ipps-9.0.dll → XdCxRhDW.Api/AddIns/信号仿真/ipps-9.0.dll


+ 0 - 0
XdCxRhDW.DataEmulation/AddIns/ippsy8-9.0.dll → XdCxRhDW.Api/AddIns/信号仿真/ippsy8-9.0.dll


+ 14 - 0
XdCxRhDW.Api/XdCxRhDW.Api.csproj

@@ -56,6 +56,7 @@
     <Compile Include="AddIns\GPU参估\GpuCafResult.cs" />
     <Compile Include="AddIns\低轨\LeoErrorEllipseHelper.cs" />
     <Compile Include="AddIns\低轨\LeoPosApi.cs" />
+    <Compile Include="AddIns\信号仿真\DataEmulationHelper.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="AddIns\定位\PosApi.cs" />
     <Compile Include="AddIns\时差线\DrawDtoLineHelper.cs" />
@@ -193,6 +194,19 @@
     <Content Include="AddIns\低轨\GDOP_Draw.dll">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <None Include="AddIns\信号仿真\ippcore-9.0.dll">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="AddIns\信号仿真\ipps-9.0.dll">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="AddIns\信号仿真\ippsy8-9.0.dll">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="AddIns\信号仿真\SignalEmulation.dll">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="AddIns\信号仿真\SignalEmulation.h" />
     <Content Include="AddIns\频差线\Positioning.h" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

+ 198 - 148
XdCxRhDW.DataEmulation/Form1.Designer.cs → XdCxRhDW.App/EditForms/SignalEmulation.Designer.cs

@@ -1,6 +1,6 @@
 namespace XdCxRhDW.DataEmulation
 {
-    partial class Form1
+    partial class SignalEmulation
     {
         /// <summary>
         /// Required designer variable.
@@ -28,6 +28,11 @@
         /// </summary>
         private void InitializeComponent()
         {
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions7 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject25 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject26 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject27 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject28 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
@@ -53,12 +58,9 @@
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject18 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject19 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject20 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions6 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject21 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject22 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject23 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject24 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.txtBrust = new DevExpress.XtraEditors.CheckEdit();
+            this.txtNormal = new DevExpress.XtraEditors.CheckEdit();
             this.btnOpenDir = new DevExpress.XtraEditors.SimpleButton();
             this.btnBuildNormal = new DevExpress.XtraEditors.SimpleButton();
             this.txtFsHz = new DevExpress.XtraEditors.ButtonEdit();
@@ -71,16 +73,19 @@
             this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.itemSnr1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.itemSnr2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.btnBuildBrust = new DevExpress.XtraEditors.SimpleButton();
-            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.tablePanel1 = new DevExpress.Utils.Layout.TablePanel();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtBrust.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtNormal.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto.Properties)).BeginInit();
@@ -91,17 +96,23 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.itemSnr1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.itemSnr2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).BeginInit();
+            this.tablePanel1.SuspendLayout();
             this.SuspendLayout();
             // 
             // layoutControl1
             // 
+            this.tablePanel1.SetColumn(this.layoutControl1, 1);
+            this.layoutControl1.Controls.Add(this.txtBrust);
+            this.layoutControl1.Controls.Add(this.txtNormal);
             this.layoutControl1.Controls.Add(this.btnOpenDir);
             this.layoutControl1.Controls.Add(this.btnBuildNormal);
             this.layoutControl1.Controls.Add(this.txtFsHz);
@@ -110,21 +121,41 @@
             this.layoutControl1.Controls.Add(this.txtDfo);
             this.layoutControl1.Controls.Add(this.txtSnr1);
             this.layoutControl1.Controls.Add(this.txtSnr2);
-            this.layoutControl1.Controls.Add(this.btnBuildBrust);
-            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.layoutControl1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControl1.Location = new System.Drawing.Point(78, 88);
             this.layoutControl1.Name = "layoutControl1";
             this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1113, 199, 650, 400);
             this.layoutControl1.Root = this.Root;
-            this.layoutControl1.Size = new System.Drawing.Size(401, 252);
+            this.tablePanel1.SetRow(this.layoutControl1, 1);
+            this.layoutControl1.Size = new System.Drawing.Size(396, 258);
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.Text = "layoutControl1";
             // 
+            // txtBrust
+            // 
+            this.txtBrust.Location = new System.Drawing.Point(199, 12);
+            this.txtBrust.Name = "txtBrust";
+            this.txtBrust.Properties.Caption = "突发信号";
+            this.txtBrust.Size = new System.Drawing.Size(185, 20);
+            this.txtBrust.StyleController = this.layoutControl1;
+            this.txtBrust.TabIndex = 10;
+            this.txtBrust.CheckedChanged += new System.EventHandler(this.txtBrust_CheckedChanged);
+            // 
+            // txtNormal
+            // 
+            this.txtNormal.EditValue = true;
+            this.txtNormal.Location = new System.Drawing.Point(12, 12);
+            this.txtNormal.Name = "txtNormal";
+            this.txtNormal.Properties.Caption = "常规信号";
+            this.txtNormal.Size = new System.Drawing.Size(183, 20);
+            this.txtNormal.StyleController = this.layoutControl1;
+            this.txtNormal.TabIndex = 9;
+            this.txtNormal.CheckedChanged += new System.EventHandler(this.txtNormal_CheckedChanged);
+            // 
             // btnOpenDir
             // 
-            this.btnOpenDir.Location = new System.Drawing.Point(275, 190);
+            this.btnOpenDir.Location = new System.Drawing.Point(209, 214);
             this.btnOpenDir.Name = "btnOpenDir";
-            this.btnOpenDir.Size = new System.Drawing.Size(114, 28);
+            this.btnOpenDir.Size = new System.Drawing.Size(175, 24);
             this.btnOpenDir.StyleController = this.layoutControl1;
             this.btnOpenDir.TabIndex = 8;
             this.btnOpenDir.Text = "打开输出目录";
@@ -132,77 +163,77 @@
             // 
             // btnBuildNormal
             // 
-            this.btnBuildNormal.Location = new System.Drawing.Point(12, 190);
+            this.btnBuildNormal.Location = new System.Drawing.Point(12, 214);
             this.btnBuildNormal.Name = "btnBuildNormal";
-            this.btnBuildNormal.Size = new System.Drawing.Size(113, 28);
+            this.btnBuildNormal.Size = new System.Drawing.Size(173, 24);
             this.btnBuildNormal.StyleController = this.layoutControl1;
             this.btnBuildNormal.TabIndex = 7;
-            this.btnBuildNormal.Text = "生成常规信号";
+            this.btnBuildNormal.Text = "生成信号";
             this.btnBuildNormal.Click += new System.EventHandler(this.btnBuilder_ClickAsync);
             // 
             // txtFsHz
             // 
             this.txtFsHz.EditValue = "96000";
-            this.txtFsHz.Location = new System.Drawing.Point(12, 41);
+            this.txtFsHz.Location = new System.Drawing.Point(12, 65);
             this.txtFsHz.Name = "txtFsHz";
             this.txtFsHz.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtFsHz.Size = new System.Drawing.Size(186, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions7, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject25, serializableAppearanceObject26, serializableAppearanceObject27, serializableAppearanceObject28, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtFsHz.Size = new System.Drawing.Size(183, 23);
             this.txtFsHz.StyleController = this.layoutControl1;
             this.txtFsHz.TabIndex = 6;
             // 
             // txtSigLen
             // 
             this.txtSigLen.EditValue = "15";
-            this.txtSigLen.Location = new System.Drawing.Point(202, 41);
+            this.txtSigLen.Location = new System.Drawing.Point(199, 65);
             this.txtSigLen.Name = "txtSigLen";
             this.txtSigLen.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "秒", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtSigLen.Size = new System.Drawing.Size(187, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "秒", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtSigLen.Size = new System.Drawing.Size(185, 23);
             this.txtSigLen.StyleController = this.layoutControl1;
             this.txtSigLen.TabIndex = 6;
             // 
             // txtDto
             // 
             this.txtDto.EditValue = "1000";
-            this.txtDto.Location = new System.Drawing.Point(12, 97);
+            this.txtDto.Location = new System.Drawing.Point(12, 121);
             this.txtDto.Name = "txtDto";
             this.txtDto.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtDto.Size = new System.Drawing.Size(186, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDto.Size = new System.Drawing.Size(183, 23);
             this.txtDto.StyleController = this.layoutControl1;
             this.txtDto.TabIndex = 6;
             // 
             // txtDfo
             // 
             this.txtDfo.EditValue = "200";
-            this.txtDfo.Location = new System.Drawing.Point(202, 97);
+            this.txtDfo.Location = new System.Drawing.Point(199, 121);
             this.txtDfo.Name = "txtDfo";
             this.txtDfo.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtDfo.Size = new System.Drawing.Size(187, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDfo.Size = new System.Drawing.Size(185, 23);
             this.txtDfo.StyleController = this.layoutControl1;
             this.txtDfo.TabIndex = 6;
             // 
             // txtSnr1
             // 
-            this.txtSnr1.EditValue = "10";
-            this.txtSnr1.Location = new System.Drawing.Point(12, 153);
+            this.txtSnr1.EditValue = "5";
+            this.txtSnr1.Location = new System.Drawing.Point(12, 177);
             this.txtSnr1.Name = "txtSnr1";
             this.txtSnr1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -1, false, true, false, editorButtonImageOptions5, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject17, serializableAppearanceObject18, serializableAppearanceObject19, serializableAppearanceObject20, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtSnr1.Size = new System.Drawing.Size(186, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtSnr1.Size = new System.Drawing.Size(183, 23);
             this.txtSnr1.StyleController = this.layoutControl1;
             this.txtSnr1.TabIndex = 6;
             // 
             // txtSnr2
             // 
             this.txtSnr2.EditValue = "-5";
-            this.txtSnr2.Location = new System.Drawing.Point(202, 153);
+            this.txtSnr2.Location = new System.Drawing.Point(199, 177);
             this.txtSnr2.Name = "txtSnr2";
             this.txtSnr2.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -1, false, true, false, editorButtonImageOptions6, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject21, serializableAppearanceObject22, serializableAppearanceObject23, serializableAppearanceObject24, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtSnr2.Size = new System.Drawing.Size(187, 23);
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -1, false, true, false, editorButtonImageOptions5, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject17, serializableAppearanceObject18, serializableAppearanceObject19, serializableAppearanceObject20, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtSnr2.Size = new System.Drawing.Size(185, 23);
             this.txtSnr2.StyleController = this.layoutControl1;
             this.txtSnr2.TabIndex = 6;
             // 
@@ -213,14 +244,13 @@
             this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlGroup1,
             this.layoutControlItem5,
-            this.layoutControlItem9,
+            this.itemSnr1,
             this.layoutControlItem6,
-            this.layoutControlItem10,
+            this.itemSnr2,
             this.layoutControlItem7,
-            this.layoutControlItem8,
-            this.layoutControlItem11});
+            this.layoutControlItem8});
             this.Root.Name = "Root";
-            this.Root.Size = new System.Drawing.Size(401, 252);
+            this.Root.Size = new System.Drawing.Size(396, 258);
             this.Root.TextVisible = false;
             // 
             // layoutControlGroup1
@@ -228,20 +258,22 @@
             this.layoutControlGroup1.GroupBordersVisible = false;
             this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
             this.layoutControlItem3,
-            this.layoutControlItem4});
+            this.layoutControlItem4,
+            this.layoutControlItem1,
+            this.layoutControlItem2});
             this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
             this.layoutControlGroup1.Name = "layoutControlGroup1";
-            this.layoutControlGroup1.Size = new System.Drawing.Size(381, 56);
+            this.layoutControlGroup1.Size = new System.Drawing.Size(376, 80);
             // 
             // layoutControlItem3
             // 
             this.layoutControlItem3.Control = this.txtFsHz;
-            this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 24);
             this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 56);
             this.layoutControlItem3.MinSize = new System.Drawing.Size(96, 56);
             this.layoutControlItem3.Name = "layoutControlItem3";
             this.layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem3.Size = new System.Drawing.Size(190, 56);
+            this.layoutControlItem3.Size = new System.Drawing.Size(187, 56);
             this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem3.Text = "采样率";
             this.layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
@@ -254,12 +286,12 @@
             this.layoutControlItem4.Control = this.txtSigLen;
             this.layoutControlItem4.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
             this.layoutControlItem4.CustomizationFormText = "采样率";
-            this.layoutControlItem4.Location = new System.Drawing.Point(190, 0);
+            this.layoutControlItem4.Location = new System.Drawing.Point(187, 24);
             this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 56);
             this.layoutControlItem4.MinSize = new System.Drawing.Size(107, 56);
             this.layoutControlItem4.Name = "layoutControlItem4";
             this.layoutControlItem4.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem4.Size = new System.Drawing.Size(191, 56);
+            this.layoutControlItem4.Size = new System.Drawing.Size(189, 56);
             this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem4.Text = "信号时长";
             this.layoutControlItem4.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
@@ -267,17 +299,35 @@
             this.layoutControlItem4.TextSize = new System.Drawing.Size(48, 14);
             this.layoutControlItem4.TextToControlDistance = 5;
             // 
+            // layoutControlItem1
+            // 
+            this.layoutControlItem1.Control = this.txtNormal;
+            this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem1.Name = "layoutControlItem1";
+            this.layoutControlItem1.Size = new System.Drawing.Size(187, 24);
+            this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            this.layoutControlItem2.Control = this.txtBrust;
+            this.layoutControlItem2.Location = new System.Drawing.Point(187, 0);
+            this.layoutControlItem2.Name = "layoutControlItem2";
+            this.layoutControlItem2.Size = new System.Drawing.Size(189, 24);
+            this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem2.TextVisible = false;
+            // 
             // layoutControlItem5
             // 
             this.layoutControlItem5.Control = this.txtDto;
             this.layoutControlItem5.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
             this.layoutControlItem5.CustomizationFormText = "采样率";
-            this.layoutControlItem5.Location = new System.Drawing.Point(0, 56);
+            this.layoutControlItem5.Location = new System.Drawing.Point(0, 80);
             this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 56);
             this.layoutControlItem5.MinSize = new System.Drawing.Size(83, 56);
             this.layoutControlItem5.Name = "layoutControlItem5";
             this.layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem5.Size = new System.Drawing.Size(190, 56);
+            this.layoutControlItem5.Size = new System.Drawing.Size(187, 56);
             this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem5.Text = "时差";
             this.layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
@@ -285,17 +335,35 @@
             this.layoutControlItem5.TextSize = new System.Drawing.Size(24, 14);
             this.layoutControlItem5.TextToControlDistance = 5;
             // 
+            // itemSnr1
+            // 
+            this.itemSnr1.Control = this.txtSnr1;
+            this.itemSnr1.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.itemSnr1.CustomizationFormText = "采样率";
+            this.itemSnr1.Location = new System.Drawing.Point(0, 136);
+            this.itemSnr1.MaxSize = new System.Drawing.Size(0, 56);
+            this.itemSnr1.MinSize = new System.Drawing.Size(83, 56);
+            this.itemSnr1.Name = "itemSnr1";
+            this.itemSnr1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.itemSnr1.Size = new System.Drawing.Size(187, 56);
+            this.itemSnr1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.itemSnr1.Text = "文件1信噪比";
+            this.itemSnr1.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.itemSnr1.TextLocation = DevExpress.Utils.Locations.Top;
+            this.itemSnr1.TextSize = new System.Drawing.Size(67, 14);
+            this.itemSnr1.TextToControlDistance = 5;
+            // 
             // layoutControlItem6
             // 
             this.layoutControlItem6.Control = this.txtDfo;
             this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
             this.layoutControlItem6.CustomizationFormText = "采样率";
-            this.layoutControlItem6.Location = new System.Drawing.Point(190, 56);
+            this.layoutControlItem6.Location = new System.Drawing.Point(187, 80);
             this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 56);
             this.layoutControlItem6.MinSize = new System.Drawing.Size(84, 56);
             this.layoutControlItem6.Name = "layoutControlItem6";
             this.layoutControlItem6.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem6.Size = new System.Drawing.Size(191, 56);
+            this.layoutControlItem6.Size = new System.Drawing.Size(189, 56);
             this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem6.Text = "频差";
             this.layoutControlItem6.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
@@ -303,108 +371,84 @@
             this.layoutControlItem6.TextSize = new System.Drawing.Size(24, 14);
             this.layoutControlItem6.TextToControlDistance = 5;
             // 
-            // layoutControlItem8
-            // 
-            this.layoutControlItem8.Control = this.btnOpenDir;
-            this.layoutControlItem8.Location = new System.Drawing.Point(253, 168);
-            this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 42);
-            this.layoutControlItem8.MinSize = new System.Drawing.Size(89, 42);
-            this.layoutControlItem8.Name = "layoutControlItem8";
-            this.layoutControlItem8.Padding = new DevExpress.XtraLayout.Utils.Padding(12, 2, 12, 2);
-            this.layoutControlItem8.Size = new System.Drawing.Size(128, 64);
-            this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem8.TextVisible = false;
+            // itemSnr2
+            // 
+            this.itemSnr2.Control = this.txtSnr2;
+            this.itemSnr2.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.itemSnr2.CustomizationFormText = "采样率";
+            this.itemSnr2.Location = new System.Drawing.Point(187, 136);
+            this.itemSnr2.MaxSize = new System.Drawing.Size(0, 56);
+            this.itemSnr2.MinSize = new System.Drawing.Size(83, 56);
+            this.itemSnr2.Name = "itemSnr2";
+            this.itemSnr2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.itemSnr2.Size = new System.Drawing.Size(189, 56);
+            this.itemSnr2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.itemSnr2.Text = "文件2信噪比";
+            this.itemSnr2.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            this.itemSnr2.TextLocation = DevExpress.Utils.Locations.Top;
+            this.itemSnr2.TextSize = new System.Drawing.Size(67, 14);
+            this.itemSnr2.TextToControlDistance = 5;
             // 
             // layoutControlItem7
             // 
             this.layoutControlItem7.Control = this.btnBuildNormal;
-            this.layoutControlItem7.Location = new System.Drawing.Point(0, 168);
-            this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 42);
-            this.layoutControlItem7.MinSize = new System.Drawing.Size(89, 42);
+            this.layoutControlItem7.Location = new System.Drawing.Point(0, 192);
+            this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 38);
+            this.layoutControlItem7.MinSize = new System.Drawing.Size(89, 38);
             this.layoutControlItem7.Name = "layoutControlItem7";
             this.layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 12, 12, 2);
-            this.layoutControlItem7.Size = new System.Drawing.Size(127, 64);
+            this.layoutControlItem7.Size = new System.Drawing.Size(187, 46);
             this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem7.TextVisible = false;
             // 
-            // layoutControlItem9
-            // 
-            this.layoutControlItem9.Control = this.txtSnr1;
-            this.layoutControlItem9.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
-            this.layoutControlItem9.CustomizationFormText = "采样率";
-            this.layoutControlItem9.Location = new System.Drawing.Point(0, 112);
-            this.layoutControlItem9.MaxSize = new System.Drawing.Size(0, 56);
-            this.layoutControlItem9.MinSize = new System.Drawing.Size(83, 56);
-            this.layoutControlItem9.Name = "layoutControlItem9";
-            this.layoutControlItem9.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem9.Size = new System.Drawing.Size(190, 56);
-            this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem9.Text = "文件1信噪比";
-            this.layoutControlItem9.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
-            this.layoutControlItem9.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem9.TextSize = new System.Drawing.Size(67, 14);
-            this.layoutControlItem9.TextToControlDistance = 5;
-            // 
-            // layoutControlItem10
-            // 
-            this.layoutControlItem10.Control = this.txtSnr2;
-            this.layoutControlItem10.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
-            this.layoutControlItem10.CustomizationFormText = "采样率";
-            this.layoutControlItem10.Location = new System.Drawing.Point(190, 112);
-            this.layoutControlItem10.MaxSize = new System.Drawing.Size(0, 56);
-            this.layoutControlItem10.MinSize = new System.Drawing.Size(83, 56);
-            this.layoutControlItem10.Name = "layoutControlItem10";
-            this.layoutControlItem10.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem10.Size = new System.Drawing.Size(191, 56);
-            this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem10.Text = "文件2信噪比";
-            this.layoutControlItem10.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
-            this.layoutControlItem10.TextLocation = DevExpress.Utils.Locations.Top;
-            this.layoutControlItem10.TextSize = new System.Drawing.Size(67, 14);
-            this.layoutControlItem10.TextToControlDistance = 5;
-            // 
-            // btnBuildBrust
-            // 
-            this.btnBuildBrust.Location = new System.Drawing.Point(139, 190);
-            this.btnBuildBrust.Name = "btnBuildBrust";
-            this.btnBuildBrust.Size = new System.Drawing.Size(112, 28);
-            this.btnBuildBrust.StyleController = this.layoutControl1;
-            this.btnBuildBrust.TabIndex = 7;
-            this.btnBuildBrust.Text = "生成突发信号";
-            this.btnBuildBrust.Click += new System.EventHandler(this.btnBuilder_ClickAsync);
-            // 
-            // layoutControlItem11
-            // 
-            this.layoutControlItem11.Control = this.btnBuildBrust;
-            this.layoutControlItem11.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
-            this.layoutControlItem11.CustomizationFormText = "layoutControlItem7";
-            this.layoutControlItem11.Location = new System.Drawing.Point(127, 168);
-            this.layoutControlItem11.MaxSize = new System.Drawing.Size(0, 42);
-            this.layoutControlItem11.MinSize = new System.Drawing.Size(89, 42);
-            this.layoutControlItem11.Name = "layoutControlItem11";
-            this.layoutControlItem11.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 12, 12, 2);
-            this.layoutControlItem11.Size = new System.Drawing.Size(126, 64);
-            this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            this.layoutControlItem11.Text = "layoutControlItem7";
-            this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem11.TextVisible = false;
-            // 
-            // Form1
+            // layoutControlItem8
+            // 
+            this.layoutControlItem8.Control = this.btnOpenDir;
+            this.layoutControlItem8.Location = new System.Drawing.Point(187, 192);
+            this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 38);
+            this.layoutControlItem8.MinSize = new System.Drawing.Size(89, 38);
+            this.layoutControlItem8.Name = "layoutControlItem8";
+            this.layoutControlItem8.Padding = new DevExpress.XtraLayout.Utils.Padding(12, 2, 12, 2);
+            this.layoutControlItem8.Size = new System.Drawing.Size(189, 46);
+            this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem8.TextVisible = false;
+            // 
+            // tablePanel1
+            // 
+            this.tablePanel1.Columns.AddRange(new DevExpress.Utils.Layout.TablePanelColumn[] {
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F),
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 400F),
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F)});
+            this.tablePanel1.Controls.Add(this.layoutControl1);
+            this.tablePanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tablePanel1.Location = new System.Drawing.Point(0, 0);
+            this.tablePanel1.Name = "tablePanel1";
+            this.tablePanel1.Rows.AddRange(new DevExpress.Utils.Layout.TablePanelRow[] {
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F),
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 280F),
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F)});
+            this.tablePanel1.Size = new System.Drawing.Size(551, 434);
+            this.tablePanel1.TabIndex = 1;
+            this.tablePanel1.UseSkinIndents = true;
+            // 
+            // SignalEmulation
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(401, 252);
-            this.Controls.Add(this.layoutControl1);
+            this.ClientSize = new System.Drawing.Size(551, 434);
+            this.Controls.Add(this.tablePanel1);
             this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
             this.MaximizeBox = false;
             this.MinimizeBox = false;
-            this.Name = "Form1";
+            this.Name = "SignalEmulation";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "时频差数据仿真";
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
             this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.txtBrust.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtNormal.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto.Properties)).EndInit();
@@ -415,13 +459,16 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.itemSnr1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.itemSnr2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).EndInit();
+            this.tablePanel1.ResumeLayout(false);
             this.ResumeLayout(false);
 
         }
@@ -445,10 +492,13 @@
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
         private DevExpress.XtraEditors.ButtonEdit txtSnr1;
         private DevExpress.XtraEditors.ButtonEdit txtSnr2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
-        private DevExpress.XtraEditors.SimpleButton btnBuildBrust;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
+        private DevExpress.XtraLayout.LayoutControlItem itemSnr1;
+        private DevExpress.XtraLayout.LayoutControlItem itemSnr2;
+        private DevExpress.XtraEditors.CheckEdit txtBrust;
+        private DevExpress.XtraEditors.CheckEdit txtNormal;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.Utils.Layout.TablePanel tablePanel1;
     }
 }
 

+ 60 - 13
XdCxRhDW.DataEmulation/Form1.cs → XdCxRhDW.App/EditForms/SignalEmulation.cs

@@ -9,12 +9,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
+using XdCxRhDW.Api;
 
 namespace XdCxRhDW.DataEmulation
 {
-    public partial class Form1 : DevExpress.XtraEditors.XtraForm
+    public partial class SignalEmulation : DevExpress.XtraEditors.XtraForm
     {
-        public Form1()
+        public SignalEmulation()
         {
             InitializeComponent();
         }
@@ -26,14 +27,13 @@ namespace XdCxRhDW.DataEmulation
 
         private async void btnBuilder_ClickAsync(object sender, EventArgs e)
         {
-            if (!long.TryParse(txtFsHz.Text, out long fsHz))
+            if (!txtNormal.Checked && !txtBrust.Checked)
             {
-                XtraMessageBox.Show("采样率非数字!");
                 return;
             }
-            if (!double.TryParse(txtSigLen.Text, out double sigTimeLen))
+            if (!long.TryParse(txtFsHz.Text, out long fsHz))
             {
-                XtraMessageBox.Show("信号时长非数字!");
+                XtraMessageBox.Show("采样率非数字!");
                 return;
             }
             if (!double.TryParse(txtDto.Text, out double dt))
@@ -41,6 +41,17 @@ namespace XdCxRhDW.DataEmulation
                 XtraMessageBox.Show("时差非数字!");
                 return;
             }
+            double sigTimeLen = 0;
+            int brustCount = 0;
+            if (txtNormal.Checked)
+            {
+                double.TryParse(txtSigLen.Text, out sigTimeLen);
+            }
+            else
+            {
+                int.TryParse(txtSigLen.Text, out brustCount);
+            }
+
             if (!double.TryParse(txtDfo.Text, out double df))
             {
                 XtraMessageBox.Show("频差非数字!");
@@ -61,26 +72,62 @@ namespace XdCxRhDW.DataEmulation
                 XtraMessageBox.Show("采样率范围(0,100000000]!");
                 return;
             }
-            if (sigTimeLen <= 0 || sigTimeLen > 120)
+            if (txtNormal.Checked)
             {
-                XtraMessageBox.Show("信号时长范围(0,120]!");
-                return;
+                if (sigTimeLen <= 0 || sigTimeLen > 120)
+                {
+                    XtraMessageBox.Show("信号时长范围(0,120]!");
+                    return;
+                }
+            }
+            if (txtBrust.Checked)
+            {
+                if (brustCount <= 0 || brustCount > 500)
+                {
+                    XtraMessageBox.Show("突发个数范围(0,500]");
+                    return;
+                }
             }
             btnBuildNormal.Enabled = false;
-            btnBuildBrust.Enabled = false;
             await Task.Run(() =>
             {
-                if (sender == btnBuildNormal)
+                if (txtNormal.Checked)
                 {
                     DataEmulationHelper.GenNormalFiles("常规信号_ch1.dat", "常规信号_ch2.dat", fsHz, (int)(sigTimeLen * 1000), dt / 1e6, df, (int)snr1, (int)snr2);
                 }
                 else
                 {
-                    DataEmulationHelper.GenBrustFiles("突发信号_ch1.dat", "突发信号_ch2.dat", fsHz, (int)(sigTimeLen * 1000), dt / 1e6, df);
+                    DataEmulationHelper.GenBrustFiles("突发信号_ch1.dat", "突发信号_ch2.dat", fsHz, brustCount, dt / 1e6, df);
                 }
             });
             btnBuildNormal.Enabled = true;
-            btnBuildBrust.Enabled = true;
+        }
+
+
+        private void txtBrust_CheckedChanged(object sender, EventArgs e)
+        {
+            if (txtBrust.Checked)
+            {
+                txtNormal.Checked = false;
+                layoutControlItem4.Text = "突发个数";
+                txtSigLen.Properties.Buttons[0].Caption = "个";
+                itemSnr1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+                itemSnr2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+                layoutControl1.BestFit();
+            }
+        }
+
+        private void txtNormal_CheckedChanged(object sender, EventArgs e)
+        {
+            if (txtNormal.Checked)
+            {
+                txtBrust.Checked = false;
+                layoutControlItem4.Text = "信号时长";
+                txtSigLen.Properties.Buttons[0].Caption = "秒";
+                itemSnr1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+                itemSnr2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+                layoutControl1.BestFit();
+            }
         }
     }
 }

+ 0 - 0
XdCxRhDW.DataEmulation/Form1.resx → XdCxRhDW.App/EditForms/SignalEmulation.resx


+ 20 - 7
XdCxRhDW.App/MainForm.Designer.cs

@@ -28,10 +28,11 @@
         /// </summary>
         private void InitializeComponent()
         {
+            this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
+            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
             this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
             this.skinPaletteDropDownButtonItem1 = new DevExpress.XtraBars.SkinPaletteDropDownButtonItem();
             this.btnOpenApi = new DevExpress.XtraBars.BarButtonItem();
@@ -57,6 +58,7 @@
             this.documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(this.components);
             this.tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
             this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
+            this.btnSignalEmulation = new DevExpress.XtraBars.BarButtonItem();
             ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.documentManager1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.tabbedView1)).BeginInit();
@@ -85,9 +87,10 @@
             this.barButtonItem1,
             this.btnSvrs,
             this.btnSignal,
-            this.txtSvrLog});
+            this.txtSvrLog,
+            this.btnSignalEmulation});
             this.ribbon.Location = new System.Drawing.Point(0, 0);
-            this.ribbon.MaxItemId = 29;
+            this.ribbon.MaxItemId = 30;
             this.ribbon.Name = "ribbon";
             this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
             this.ribbonPage1});
@@ -114,9 +117,9 @@
             this.btnOpenApi.Id = 21;
             this.btnOpenApi.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("btnOpenApi.ImageOptions.SvgImage")));
             this.btnOpenApi.Name = "btnOpenApi";
-            toolTipItem1.Text = "查看接口文档";
-            superToolTip1.Items.Add(toolTipItem1);
-            this.btnOpenApi.SuperTip = superToolTip1;
+            toolTipItem2.Text = "查看接口文档";
+            superToolTip2.Items.Add(toolTipItem2);
+            this.btnOpenApi.SuperTip = superToolTip2;
             this.btnOpenApi.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btnOpenApi_ItemClick);
             // 
             // btnTask
@@ -268,6 +271,7 @@
             this.ribbonPageGroup3.ItemLinks.Add(this.btnCocTool);
             this.ribbonPageGroup3.ItemLinks.Add(this.btnDetectTool);
             this.ribbonPageGroup3.ItemLinks.Add(this.btnXlCalculate);
+            this.ribbonPageGroup3.ItemLinks.Add(this.btnSignalEmulation);
             this.ribbonPageGroup3.Name = "ribbonPageGroup3";
             this.ribbonPageGroup3.Text = "手动工具";
             // 
@@ -303,6 +307,14 @@
             "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
             "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
             // 
+            // btnSignalEmulation
+            // 
+            this.btnSignalEmulation.Caption = "信号仿真";
+            this.btnSignalEmulation.Id = 29;
+            this.btnSignalEmulation.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barButtonItem2.ImageOptions.SvgImage")));
+            this.btnSignalEmulation.Name = "btnSignalEmulation";
+            this.btnSignalEmulation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.btn_ItemClick);
+            // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
@@ -351,5 +363,6 @@
         private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup4;
         private DevExpress.XtraBars.BarButtonItem btnSignal;
         private DevExpress.XtraBars.BarButtonItem txtSvrLog;
+        private DevExpress.XtraBars.BarButtonItem btnSignalEmulation;
     }
 }

+ 2 - 0
XdCxRhDW.App/MainForm.cs

@@ -31,6 +31,7 @@ using System.Diagnostics;
 using DevExpress.Utils.Extensions;
 using System.Net;
 using XdCxRhDW.WebApi;
+using XdCxRhDW.DataEmulation;
 
 namespace XdCxRhDW
 {
@@ -54,6 +55,7 @@ namespace XdCxRhDW
             ctrlTypes.Add("GPU参估", typeof(GpuCalcForm));
             ctrlTypes.Add("检测参估", typeof(DetectToolForm));
             ctrlTypes.Add("星历推算", typeof(XlCalculateForm));
+            ctrlTypes.Add("信号仿真", typeof(SignalEmulation));
             ctrlTypes.Add("服务状态", typeof(CtrlSvrs));
             ctrlTypes.Add("服务日志", typeof(CtrlSvrLog));
             using (RHDWLogContext db = new RHDWLogContext())

+ 23 - 0
XdCxRhDW.App/MainForm.resx

@@ -585,6 +585,29 @@
         LDI4IDEwLDI4IDEwLDMwIDEyLDMwIDEyLDI4IDE0LDI4IDE0LDMwIDE2LDMwIDE2LDI4IDE4LDI4IDE4
         LDMwIDIwLDMwICAgMjAsMjggMjIsMjggMjIsMzAgMjQsMzAgMjQsMjggMjYsMjggMjYsMzAgMjgsMzAg
         MjgsMjggMzAsMjggMzAsMjYgIiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
+</value>
+  </data>
+  <data name="barButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi4z
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALUDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLlll
+        bGxvd3tmaWxsOiNGRkIxMTU7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMzU7fQoJLnN0M3tv
+        cGFjaXR5OjAuNjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU3dpZnRQbG90Ij4NCiAgICA8cG9seWdvbiBw
+        b2ludHM9IjMwLDQgMzAsOCAyOCw4IDI4LDExIDI2LDExIDI2LDYgMjQsNiAyNCwyIDIyLDIgMjIsOCAy
+        MCw4IDIwLDE0IDE4LDE0IDE4LDEyIDE2LDEyIDE2LDE2IDE0LDE2ICAgIDE0LDIyIDEyLDIyIDEyLDE4
+        IDEwLDE4IDEwLDE0IDgsMTQgOCwyMCA2LDIwIDYsMTYgNCwxNiA0LDEyIDIsMTIgMiwxNiAwLDE2IDAs
+        MjIgMiwyMiAyLDE4IDQsMTggNCwyMiA2LDIyIDYsMjQgOCwyNCA4LDIyIDEwLDIyICAgIDEwLDI0IDEy
+        LDI0IDEyLDI4IDE0LDI4IDE0LDI0IDE2LDI0IDE2LDE4IDE4LDE4IDE4LDIwIDIwLDIwIDIwLDE2IDIy
+        LDE2IDIyLDEwIDI0LDEwIDI0LDE0IDI2LDE0IDI2LDE4IDI4LDE4IDI4LDE0IDMwLDE0IDMwLDEwICAg
+        IDMyLDEwIDMyLDQgICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
   <data name="btnTarget.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 9 - 0
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -200,6 +200,12 @@
     <Compile Include="DxHelper\PopupHelper.cs" />
     <Compile Include="DxHelper\SvgHelper.cs" />
     <Compile Include="DxHelper\WaitHelper.cs" />
+    <Compile Include="EditForms\SignalEmulation.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="EditForms\SignalEmulation.Designer.cs">
+      <DependentUpon>SignalEmulation.cs</DependentUpon>
+    </Compile>
     <Compile Include="EditForms\PosTimeEditor.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -478,6 +484,9 @@
     <EmbeddedResource Include="CorTools\XlCalculateForm.resx">
       <DependentUpon>XlCalculateForm.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="EditForms\SignalEmulation.resx">
+      <DependentUpon>SignalEmulation.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="EditForms\PosTimeEditor.resx">
       <DependentUpon>PosTimeEditor.cs</DependentUpon>
     </EmbeddedResource>

+ 0 - 21
XdCxRhDW.DataEmulation/App.config

@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <configSections>
-    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
-      <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-    </sectionGroup>
-  </configSections>
-  <applicationSettings>
-    <DevExpress.LookAndFeel.Design.AppSettings>
-      <setting name="DPIAwarenessMode" serializeAs="String">
-        <value>System</value>
-      </setting>
-      <setting name="RegisterBonusSkins" serializeAs="String">
-        <value>True</value>
-      </setting>
-    </DevExpress.LookAndFeel.Design.AppSettings>
-  </applicationSettings>
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
-  </startup>
-</configuration>

+ 0 - 58
XdCxRhDW.DataEmulation/Program.cs

@@ -1,58 +0,0 @@
-using DevExpress.LookAndFeel;
-using DevExpress.Skins;
-using DevExpress.UserSkins;
-using DevExpress.XtraEditors;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using System.Reflection;
-using System.Windows.Forms;
-
-namespace XdCxRhDW.DataEmulation
-{
-    internal static class Program
-    {
-        static Program()
-        {
-            AppDomain.CurrentDomain.SetData("PRIVATE_BINPATH", "AddIns;");
-            var m = typeof(AppDomainSetup).GetMethod("UpdateContextProperty", BindingFlags.NonPublic | BindingFlags.Static);
-            var funsion = typeof(AppDomain).GetMethod("GetFusionContext", BindingFlags.NonPublic | BindingFlags.Instance);
-            m.Invoke(null, new object[] { funsion.Invoke(AppDomain.CurrentDomain, null), "PRIVATE_BINPATH", "AddIns;" });
-            AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
-            {
-                var args = e.ExceptionObject as Exception;
-                DxHelper.MsgBoxHelper.ShowError("出现未处理的异常,程序即将退出!");
-            };
-            Application.ThreadException += (sender, e) =>
-            {
-                DxHelper.MsgBoxHelper.ShowError(e.Exception.Message);
-            };
-        }
-        /// <summary>
-        /// The main entry point for the application.
-        /// </summary>
-        [STAThread]
-        static void Main()
-        {
-            WindowsFormsSettings.AllowDpiScale = true;
-            WindowsFormsSettings.AllowHoverAnimation = DevExpress.Utils.DefaultBoolean.True;
-            WindowsFormsSettings.AllowDefaultSvgImages = DevExpress.Utils.DefaultBoolean.True;
-            WindowsFormsSettings.AllowRoundedWindowCorners = DevExpress.Utils.DefaultBoolean.True;
-            WindowsFormsSettings.AnimationMode = AnimationMode.EnableAll;
-            WindowsFormsSettings.BackgroundSkinningMode = BackgroundSkinningMode.AllColors;
-            WindowsFormsSettings.DefaultAllowHtmlDraw = true;
-            WindowsFormsSettings.DefaultLookAndFeel.SetSkinStyle(SkinStyle.WXICompact);
-            WindowsFormsSettings.DefaultFont = new System.Drawing.Font("微软雅黑", 10f);
-            WindowsFormsSettings.SetPerMonitorDpiAware();
-            if (Debugger.IsAttached)
-            {
-                //DevExpress23.2以上版本查看未本地化的资源
-                //DevExpress.Utils.Localization.XtraLocalizer.EnableTraceSource();
-            }
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
-            Application.Run(new Form1());
-        }
-    }
-}

+ 0 - 32
XdCxRhDW.DataEmulation/Properties/AssemblyInfo.cs

@@ -1,32 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("XdCxRhDW.DataEmulation")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("XdCxRhDW.DataEmulation")]
-[assembly: AssemblyCopyright("Copyright ©  2024")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9006f149-aa49-4b8e-ba69-386d945fa738")]
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

+ 0 - 63
XdCxRhDW.DataEmulation/Properties/Resources.Designer.cs

@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
-//
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace XdCxRhDW.DataEmulation.Properties {
-    using System;
-    
-    
-    /// <summary>
-    ///   一个强类型的资源类,用于查找本地化的字符串等。
-    /// </summary>
-    // 此类是由 StronglyTypedResourceBuilder
-    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
-    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
-    // (以 /str 作为命令选项),或重新生成 VS 项目。
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XdCxRhDW.DataEmulation.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;
-            }
-        }
-    }
-}

+ 0 - 117
XdCxRhDW.DataEmulation/Properties/Resources.resx

@@ -1,117 +0,0 @@
-<?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:element>
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
-              <xsd:attribute name="type" type="xsd:string"></xsd:attribute>
-              <xsd:attribute name="mimetype" type="xsd:string"></xsd:attribute>
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string"></xsd:attribute>
-              <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
-            </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>
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"></xsd:element>
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1"></xsd:attribute>
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"></xsd:attribute>
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"></xsd:attribute>
-            </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:element>
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
-            </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>

+ 0 - 26
XdCxRhDW.DataEmulation/Properties/Settings.Designer.cs

@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
-//
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace XdCxRhDW.DataEmulation.Properties {
-    
-    
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.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;
-            }
-        }
-    }
-}

+ 0 - 7
XdCxRhDW.DataEmulation/Properties/Settings.settings

@@ -1,7 +0,0 @@
-<?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>

+ 0 - 133
XdCxRhDW.DataEmulation/XdCxRhDW.DataEmulation.csproj

@@ -1,133 +0,0 @@
-<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>{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}</ProjectGuid>
-    <OutputType>WinExe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>XdCxRhDW.DataEmulation</RootNamespace>
-    <AssemblyName>时频差数据仿真</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Accessibility" />
-    <Reference Include="DevExpress.Data.Desktop.v23.2" />
-    <Reference Include="DevExpress.Data.v23.2" />
-    <Reference Include="DevExpress.Utils.v23.2" />
-    <Reference Include="DevExpress.Sparkline.v23.2.Core" />
-    <Reference Include="DevExpress.XtraEditors.v23.2" />
-    <Reference Include="DevExpress.Printing.v23.2.Core" />
-    <Reference Include="DevExpress.Drawing.v23.2" />
-    <Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="System" />
-    <Reference Include="System.ComponentModel.DataAnnotations" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Data.Linq" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Runtime.Serialization.Formatters.Soap" />
-    <Reference Include="System.Security" />
-    <Reference Include="System.Transactions" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <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="..\XdCxRhDW.App\DxHelper\MsgBoxHelper.cs">
-      <Link>DxHelper\MsgBoxHelper.cs</Link>
-    </Compile>
-    <Compile Include="DataEmulationHelper.cs" />
-    <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>
-    <None Include="Properties\licenses.licx" />
-    <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>
-      <DesignTime>True</DesignTime>
-    </Compile>
-    <None Include="App.config" />
-    <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>
-    <None Include="AddIns\ippcore-9.0.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Include="AddIns\ipps-9.0.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="AddIns\SignalEmulation.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Include="AddIns\SignalEmulation.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="AddIns\ippsy8-9.0.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PostBuildEvent>del DevExpress*.xml,EntityFramework*.xml,Serilog*.xml,Newtonsoft*.xml
-if not exist "AddIns" md AddIns
-move /Y *.dll AddIns</PostBuildEvent>
-  </PropertyGroup>
-  <!-- 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>

+ 0 - 6
XdCxRhDW54.sln

@@ -25,8 +25,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GpuCgServer", "Service\GpuC
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CpuCgServer", "Service\CpuCgServer\CpuCgServer.csproj", "{993D7982-3BB0-4339-ADD8-10D0C422FA5A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XdCxRhDW.DataEmulation", "XdCxRhDW.DataEmulation\XdCxRhDW.DataEmulation.csproj", "{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Service\Test\Test.csproj", "{B56753E9-AF1B-4B5A-A3D1-FEFDD80D77A8}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X1LeoTaskServer54", "Service\X1LeoTaskServer54\X1LeoTaskServer54.csproj", "{3EE88F99-F3EB-441C-B5E0-DB875EC3EC90}"
@@ -87,10 +85,6 @@ Global
 		{993D7982-3BB0-4339-ADD8-10D0C422FA5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{993D7982-3BB0-4339-ADD8-10D0C422FA5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{993D7982-3BB0-4339-ADD8-10D0C422FA5A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E0E5334A-9DC1-4A45-8E1E-1049A9FD15F2}.Release|Any CPU.Build.0 = Release|Any CPU
 		{B56753E9-AF1B-4B5A-A3D1-FEFDD80D77A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{B56753E9-AF1B-4B5A-A3D1-FEFDD80D77A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{B56753E9-AF1B-4B5A-A3D1-FEFDD80D77A8}.Release|Any CPU.ActiveCfg = Release|Any CPU