| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- using System;
- using System.Diagnostics;
- using System.IO;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Core.ONH.Collection.comm;
- namespace Core.ONH.Collection.Send
- {
- public partial class Form1 : Form
- {
- private string path = "";
- public Form1(string[] Args)
- {
- if (Args.Length <= 0)
- {
- if (MessageBox.Show("无法找到文件路径,是否手动选择文件", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
- {
- OpenFileDialog openFileDialog = new OpenFileDialog();
- openFileDialog.InitialDirectory = "c://";
- openFileDialog.Filter = "数据文件|*.xml";
- openFileDialog.RestoreDirectory = true;
- openFileDialog.FilterIndex = 1;
- if (openFileDialog.ShowDialog() == DialogResult.OK)
- {
- path = openFileDialog.FileName;
- }
- else
- {
- this.Close();
- }
- }
- else
- {
- this.Close();
- }
- }
- else
- {
- foreach (string args in Args)
- {
- path += " " + args.Trim();
- }
-
- }
- InitializeComponent();
-
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- Task t3 = new Task(AnalysisData);
- t3.Start();
- }
- private void AnalysisData()
- {
- try
- {
-
- string data;
- // 分析ONH原始文件中有效数据
- ONHDataHelper.AnalysisXml(path, out data);
- //通过串口发送数据
- SerialPortHelper.Instance().SendData(data, Environment.CurrentDirectory + "\\Send.ini");
- SafeRefreshControl(this, Hide);
- }
- catch (Exception ex)
- {
- SafeRefreshControl(this, Hide);
- MessageBox.Show(ex.Message);
- LogHelper.WriteException(typeof(Program), ex);
- }
- finally
- {
- //删除临时文件数据
- if (File.Exists(path))
- File.Delete(path);
-
- Process.GetCurrentProcess().Kill();
- this.Close();
- }
-
- }
- /// <summary>
- /// 安全刷新界面控件 当为子线程时委托刷新界面
- /// </summary>
- /// <param name="control"></param>
- /// <param name="action"></param>
- public void SafeRefreshControl(Control control, Action action)
- {
- if (control.InvokeRequired)
- {
- control.Invoke(action);
- }
- else
- action();
- }
- }
- }
|