using DevExpress.XtraEditors; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using DW5S.KxcApi; namespace DW5S.DataEmulation { public partial class SignalEmulation : DevExpress.XtraEditors.XtraForm { public SignalEmulation() { InitializeComponent(); } private void btnOpenDir_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("explorer.exe", ".\\信号仿真\\"); } private async void btnBuilder_ClickAsync(object sender, EventArgs e) { if (!long.TryParse(txtFsHz.Text, out long fsHz)) { XtraMessageBox.Show("采样率非数字!"); return; } if (!double.TryParse(txtDto1.Text, out double dt1)) { XtraMessageBox.Show("时差1非数字!"); return; } int.TryParse(txtSigLen.Text, out int brustCount); if (!double.TryParse(txtDfo1.Text, out double df1)) { XtraMessageBox.Show("频差1非数字!"); return; } if (!double.TryParse(txtDto2.Text, out double dt2)) { XtraMessageBox.Show("时差2非数字!"); return; } if (!double.TryParse(txtDfo2.Text, out double df2)) { XtraMessageBox.Show("频差2非数字!"); return; } if (fsHz <= 0 || fsHz > 100000000) { XtraMessageBox.Show("采样率范围(0,100000000]!"); return; } if (brustCount <= 0 || brustCount > 500) { XtraMessageBox.Show("突发个数范围(0,500]"); return; } btnBuild.Enabled = false; dt1 = dt1 / 1e6; dt2 = dt2 / 1e6; await Task.Run(() => { Directory.CreateDirectory("信号仿真"); var t1 = DateTime.Now; var f1 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_FS{fsHz}_ch1.dat"; var f2 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_FS{fsHz}_ch2.dat"; var f3 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_FS{fsHz}_ch3.dat"; DataEmulationHelper.GenBrustFiles(f1, f2, f3, fsHz, brustCount, dt1, df1, dt2, df2); }); btnBuild.Enabled = true; } } }