3.软件著作权-源代码前30页示例namespace XSW_Molecule_APP{public partial class App : Application{private void Application_Startup(object sender, StartupEventArgs e){LocalData.GetLanguage();CultureInfo ci = new CultureInfo(nguage);Thread.CurrentThread.CurrentCulture = ci;Thread.CurrentThread.CurrentUICulture = ci;AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledE xception);Thread _tdDelete = new Thread(() => DeleteLogAndImage());_tdDelete.Start();StartUpWin sw = new XSW_Molecule_APP.StartUpWin();sw.ShowDialog();}private void DeleteLogAndImage(){LogLis.DeleteLogFile();ImageProcess_lib.DeleteImage();}private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e){StringBuilder strB = new StringBuilder();strB.Append("UI:");strB.Append(((Exception)e.ExceptionObject).Message);strB.Append("\r\n");strB.Append(((Exception)e.ExceptionObject).StackTrace); LogLis.Write(strB.T oString());MessageWindow.ShowMessage(strB.ToString());}}}using ponentModel;using System.Timers;namespace XSW_Molecule_APP{public partial class MainWindow : Window{Timer g_timer = new Timer();Timer g_timerTemperature = new Timer();public static bool T emperatureRead = false;public static float Temperature = 0;public static bool FanIsOpen = false;public MainWindow(){InitializeComponent();LocalData.SetWindow(this, 1);}private void Window_Loaded(object sender, RoutedEventArgs e){InitData();if (!Common.IsInDesignMode(this)){g_timer.Interval = 1000;g_timer.Elapsed += timer_Elapsed;g_timer.Enabled = true;TemperatureRead = true;g_timerTemperature.Interval = 3000;g_timerTemperature.Elapsed += timerTemperature_Elapsed; ; g_timerTemperature.Enabled = true;}}private void InitData(){}private void btnScan_Click(object sender, RoutedEventArgs e) {if (MFCONN_Lib.PortOpenState){LocalData.InitDetection(1);ProjectSelectWin psw = new XSW_Molecule_APP.ProjectSelectWin();psw.Owner = this;psw.ShowDialog();}else{MessageWindow.ShowMessage("串口未打开,请重启仪器!");}}private void btnQuery_Click(object sender, RoutedEventArgs e){QueryWin qw = new QueryWin();qw.Owner = this;qw.ShowDialog();}private void btnSet_Click(object sender, RoutedEventArgs e){SetWin sw = new SetWin();sw.Owner = this;sw.ShowDialog();}private void btnClose_Click(object sender, RoutedEventArgs e){CloseWindowWin _closeWindow = new XSW_Molecule_APP.CloseWindowWin();_closeWindow.ShowDialog();}private void Window_Closing(object sender, CancelEventArgs e)try{string _error = "";if (MFCONN_Lib.PortOpenState){MFCONN_Lib.GBA_Close();}LocalData.Printer.Close(out _error);System.Environment.Exit(System.Environment.ExitCode); }catch (Exception ex){MessageWindow.ShowMessage(ex.Message);}private void timer_Elapsed(object sender, ElapsedEventArgs e){Action _action = () =>{this.tbTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");};ThreadHelp.InvokeIfNeeded(this, _action);}private void timerTemperature_Elapsed(object sender, ElapsedEventArgs e){if (TemperatureRead){Action _action = () =>{try{Temp_Hum_Cur_Value_TypeDeftemp_Hum_Cur_Value_TypeDef = default(Temp_Hum_Cur_Value_TypeDef);int code = MFCONN_Lib.GBA_ReadTemperatureValue(ref temp_Hum_Cur_Value_TypeDef);if (code > -1){Temperature = temp_Hum_Cur_Value_TypeDef.Cur_PID_Temperature;this.tbTemperature.Text = Math.Round(Temperature, 2) + " ℃";}}catch{}};ThreadHelp.InvokeIfNeeded(this, _action);}}}}using ponentModel;using System.Diagnostics;namespace XSW_Molecule_APP{public partial class StartUpWin : Window{BackgroundWorker bwAuto = new BackgroundWorker();bool _isSuccess = true;StringBuilder _errorText = new StringBuilder();public bool IsSuccess{get { return _isSuccess; }set { _isSuccess = value; }}public StartUpWin(){InitializeComponent();LocalData.SetWindow(this, 1);}private void Window_Loaded(object sender, RoutedEventArgs e){this.btnStart.Visibility = Visibility.Hidden;this.btnClose.Visibility = Visibility.Hidden;bwAuto.DoWork += new DoWorkEventHandler(bw_DoWork);bwAuto.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);bwAuto.RunWorkerAsync();}void bw_DoWork(object sender, DoWorkEventArgs e){try{ShowMessage("程序启动中,请稍后...");System.Threading.Thread.Sleep(1000);InitData();}catch (Exception ex){MessageWindow.ShowMessage(ex.Message);}}void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e){if (!_isSuccess){ShowMessage(_errorText.ToString());this.btnStart.Visibility = Visibility.Visible;this.btnClose.Visibility = Visibility.Visible;int br = MessageWindow.ShowOKCancel("自检未通过,是否继续?");if (br != 1){return;}}XSW_Molecule_APP.MainWindow xa = new XSW_Molecule_APP.MainWindow();xa.Show();this.Hide();}private void InitData(){try{_errorText = new StringBuilder();string msg = ""; _isSuccess = true;bool isExist = false;int ret = -1;LogLis.DeleteLogFile(); ShowMessage("正在加载参数..."); System.Threading.Thread.Sleep(500); LocalData.LoadData(); ShowMessage("正在打开串口...");ret = MFCONN_Lib.OpenPort();if (ret <= 0){_isSuccess = false; ShowMessage("打开串口失败...");_errorText.Append("打开串口失败;"); }else{ShowMessage("打开串口成功...");}System.Threading.Thread.Sleep(500); DetectionFlowPathV2.LoadData(); ShowMessage("正在检测打印机..."); System.Threading.Thread.Sleep(500); isExist = LocalData.Printer.Open(out msg); if (!isExist){_isSuccess = false;ShowMessage(msg);_errorText.Append(msg);System.Threading.Thread.Sleep(500);}ShowMessage("正在检测摄像头...");System.Threading.Thread.Sleep(500);isExist = MyVideo.IsExistDevice();if (!isExist){_isSuccess = false;ShowMessage("未找到摄像头...");_errorText.Append("未找到摄像头;");}if (MFCONN_Lib.PortOpenState){ShowMessage("正在开机复位...");ret = MFCONN_Lib.SetCardExe(CardEventIndex.复位); if (ret < 0){ShowMessage("开机复位失败...");_errorText.Append("开机复位失败;");}else{ShowMessage("开机复位成功...");System.Threading.Thread.Sleep(2500);ret = DetectionFlowPathV2.RunSpeedPara(ImageProcess_lib.Paramete rDetection.Location[0], 1);if (ret < 0){ShowMessage("运动到卡片取放位失败");_errorText.Append("运动到卡片取放位失败");}System.Threading.Thread.Sleep(500);}}}catch (Exception ex){LogLis.Write("程序启动异常:" + ex.Message);}}private void btnStart_Click(object sender, RoutedEventArgs e){Restart();}private void Window_Closing(object sender, CancelEventArgs e){e.Cancel = true;if (!_isSuccess){System.Environment.Exit(System.Environment.ExitCode);}}private void btnClose_Click(object sender, RoutedEventArgs e){CloseWindowWin _closeWindow = new XSW_Molecule_APP.CloseWindowWin();_closeWindow.ShowDialog();}private void ShowMessage(string _msg){Action _ac = () =>{this.txtMsg.Text = _msg;};ThreadHelp.InvokeIfNeeded(this, _ac);}private void Restart(){if (!bwAuto.IsBusy){this.btnStart.Visibility = Visibility.Hidden; this.btnClose.Visibility = Visibility.Hidden; bwAuto.RunWorkerAsync();}}}}using System.Data;using System.Windows.Controls;using System.Windows.Media.Imaging;using System.Reflection;namespace XSW_Molecule_APP{public partial class SetWin : Window{private Temp_Config_TypeDef m_Temp_Config;public SetWin(){InitializeComponent();LocalData.SetWindow(this, 1);}private void Window_Loaded(object sender, RoutedEventArgs e)this.cbAutoPrint.IsChecked = LocalData.AutoPrint;ShowPatientType();InitLanguage();Version _version = Assembly.GetExecutingAssembly().GetName().Version;string _build = _version.Build.ToString().Length > 2 ? _version.Build.ToString().Substring(0, 2) : _version.Build.T oString();string _revision = _version.Revision.T oString().Length > 2 ? _version.Revision.T oString().Substring(0, 2) : _version.Revision.T oString();this.tbVersion.Text = string.Format("分子诊断分析仪\r\n版本:V{0}.{1}.{2}.{3}",_version.Major, _version.Minor, _build, _revision);}private void ShowPatientType(){int ret = MFCONN_Lib.GBA_ReadTemperaturePara(refthis.m_Temp_Config);if (ret < 0){LogLis.Write("读取温度控制参数失败!");}else{this.nmTemperature.Value = this.m_Temp_Config.Constant_Temperature;}}private void InitLanguage(){switch (nguage){case "zh-CHS":{this.cbLanguage.SelectedIndex = 0; break;}case "zh-CHT":{this.cbLanguage.SelectedIndex = 1; break;}case "en-US":{this.cbLanguage.SelectedIndex = 2; break;}default:{this.cbLanguage.SelectedIndex = 0;break;}}}private void btnClose_Click(object sender, RoutedEventArgs e){this.Close();}private void btnTimeSet_Click(object sender, RoutedEventArgs e){}private void btUpgrade_Click(object sender,RoutedEventArgs e){}private void btRegister_Click(object sender, RoutedEventArgs e){}private void cbAutoPrint_Checked(object sender, RoutedEventArgs e){IniLib g_Inifile = new IniLib(LocalData.Inipath_initialize); bool autoPrint = (bool)this.cbAutoPrint.IsChecked;if (LocalData.AutoPrint != autoPrint){LocalData.AutoPrint = autoPrint;g_Inifile.WriteBool("PrintPort", "AutoPrint", LocalData.AutoPrint);}}private void cbAutoPrint_Unchecked(object sender, RoutedEventArgs e){cbAutoPrint_Checked(sender, e);}private void cbLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e){string str = "";switch (this.cbLanguage.SelectedIndex){case 0:{str = "zh-CHS";break;}case 1:{str = "zh-CHT"; break;}case 2:{str = "en-US"; break;}default:{str = "zh-CHS";break;}}if (str != nguage){}}private void tbSeriesInOut_GotFocus(object sender, RoutedEventArgs e){EnglishKeyboardWin.ShowKeyboard(this);}private void btnTemperature_Click(object sender, RoutedEventArgs e){double _temperature = this.nmT emperature.Value;if (this.nmTemperature.MinValue <= _temperature &&_temperature <= this.nmTemperature.MaxValue){string _msg = "";this.m_Temp_Config.Constant_Temperature = (float)_temperature;int ret = MFCONN_Lib.GBA_WriteTemperaturePara(ref this.m_Temp_Config);if (ret < 0){_msg = "设置失败!";}else{_msg = "设置成功!";}MessageWindow.ShowMessage(_msg);}}private void btAdjusting_Click(object sender, RoutedEventArgs e){MessageWindow.ShowMessage("正在校准,请稍候......");}}}namespace XSW_Molecule_APP{public partial class CloseWindowWin : Window{private int _ReturnResult = 0;public int ReturnResult{get{return _ReturnResult;}set{_ReturnResult = value;}}private string _MessageBoxText = ""; public string MessageBoxT ext{get{return _MessageBoxText;}set{_MessageBoxText = value;Action _ac = () =>{if (_MessageBoxText != null){this.tbMsg.Text = _MessageBoxT ext; }else{this.tbMsg.Text = "";}};ThreadHelp.InvokeIfNeeded(this, _ac); }}public string EnterText{set{Action _ac = () =>{if (value != null){this.btEnter.Content = value;}else{this.btEnter.Content = "确定";}};ThreadHelp.InvokeIfNeeded(this, _ac); }}public string CancelText{set{Action _ac = () =>{if (value != null){this.btCancel.Content = value;}else{this.btCancel.Content = "取消";}};ThreadHelp.InvokeIfNeeded(this, _ac); }}public Visibility CancelState{set{Action _ac = () =>{this.btCancel.Visibility = value;};ThreadHelp.InvokeIfNeeded(this, _ac);}}public CloseWindowWin(){Action _ac = () =>{InitializeComponent();LocalData.SetWindow(this, 1);this.tbMsg.Text = LocalData.CloseSystemTip; };ThreadHelp.InvokeIfNeeded(this, _ac);}private void btEnter_Click(object sender, RoutedEventArgs e) {try{if (MFCONN_Lib.PortOpenState){MFCONN_Lib.GBA_Close();}System.Environment.Exit(System.Environment.ExitCode);}catch (Exception ex){MessageWindow.ShowMessage(ex.Message);}}private void btCancel_Click(object sender, RoutedEventArgs e){this.Close();}public static void ShowMessage(string _str){}private void btCloseWindow_Click(object sender, RoutedEventArgs e){System.Diagnostics.Process.Start("shutdown.exe", "-s -t 0");}}public enum MessageResult{None = 0,确定 = 1,取消 = 2,Yes = 6,No = 7}public enum MessageButton {确定 = 1,确定取消 = 2,YesNo = 4}}using com.xsw.DAL;namespace XSW_Molecule_APP{public partial class QueryWin : Window{DateTime g_startDate = DateTime.Now.AddYears(-2); DateTime g_endDate = DateTime.Now;Tb_patientModel g_patientModel = new Tb_patientModel(); Tb_patientDAL g_dalPatient = new Tb_patientDAL(); private List g_ProjectInfo = new List();public QueryWin(){InitializeComponent();LocalData.SetWindow(this, 1);}private void Window_Loaded(object sender,RoutedEventArgs e){InitData();this.dgJianChe.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;this.dgZhiKong.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;QueryJianChe();QueryZhiKong();if (LocalData.IsTest == 1){this.btnCV.Visibility = Visibility.Visible;}else{this.btnCV.Visibility = Visibility.Hidden;}private void InitData(){this.btJianChe.Content = DateTime.Now.ToString("yyyy-MM-dd");this.btZK.Content = DateTime.Now.ToString("yyyy-MM-dd");}private void btnClose_Click(object sender, RoutedEventArgs e){this.Close();}private void btJianChe_Click(object sender, RoutedEventArgs e){DateTime dt;DateSelectWin dsw = new DateSelectWin();if (DateTime.TryParse(this.btJianChe.Content.ToString(), out dt)){dsw.SelectedDate = dt;}else{dsw.SelectedDate = DateTime.Now;}dsw.StartDate = g_startDate;dsw.EndDate = g_endDate;dsw.ShowDialog();if (dsw.SelectedDate != null){this.btJianChe.Content = ((DateTime)dsw.SelectedDate).ToString("yyyy-MM-dd");QueryJianChe();}}private void QueryJianChe(){try{g_ProjectInfo = new List();g_patientModel = new Tb_patientModel();if(string.IsNullOrWhiteSpace(this.btJianChe.Content.ToString())){this.dgJianChe.ItemsSource = null;return;DateTime queryDate = DateTime.Parse(this.btJianChe.Content.ToString());g_patientModel.QueryDate = queryDate;g_patientModel.DetectType = 1;DataTable dt = g_dalPatient.GetList(g_patientModel);if (dt != null){this.dgJianChe.ItemsSource = dt.DefaultView;}else{this.dgJianChe.ItemsSource = null;}}catch (Exception ex){this.dgJianChe.ItemsSource = null; MessageWindow.ShowMessage("查询失败:" + ex.Message); }}private void btZK_Click(object sender, RoutedEventArgs e) {DateTime dt;DateSelectWin dsw = new DateSelectWin();if (DateTime.TryParse(this.btZK.Content.ToString(), out dt)) {dsw.SelectedDate = dt;}else{dsw.SelectedDate = DateTime.Now;}dsw.StartDate = g_startDate;dsw.EndDate = g_endDate;dsw.ShowDialog();if (dsw.SelectedDate != null){this.btZK.Content = ((DateTime)dsw.SelectedDate).ToString("yyyy-MM-dd");QueryZhiKong();}}private void QueryZhiKong(){try。