private void cbIsSaveBms_Click(object sender, RoutedEventArgs e) { FileStream fs = null; //FileStream _fs = null; //StreamWriter sw = null; bmsfilePath = System.AppDomain.CurrentDomain.BaseDirectory + @"Data\DiDiBms_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; /* bmsfilePath = System.AppDomain.CurrentDomain.BaseDirectory + @"BoqiangV3\Data\DiDiBms_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";*///程序合并时使用 if ((bool)cbIsSaveBms.IsChecked) { DdProtocol.DdInstance.m_bIsSaveBmsInfo = true; //if (!(bool)cbDdIsUpdate.IsChecked) //{ // cbDdIsUpdate.IsChecked = true; // DdProtocol.DdInstance.m_bIsUpdateDdBmsInfo = true; //} FileInfo fi = new FileInfo(bmsfilePath); if (!fi.Directory.Exists) { fi.Directory.Create(); } if (!File.Exists(bmsfilePath)) { fs = File.Create(bmsfilePath); //创建该文件 fs.Close(); CSVFileHelper.SaveBmsORCellCSVTitle(bmsfilePath, false, ListBmsInfo, ListCellVoltage, ListDeviceInfo); //保存Bms数据文件头 } //int _interval = 1000; //if (cbInterval.SelectedIndex == 0) // _interval = 1000; //else if (cbInterval.SelectedIndex == 1) // _interval = 2000; //else if (cbInterval.SelectedIndex == 2) // _interval = 3000; //else if (cbInterval.SelectedIndex == 3) // _interval = 4000; //else if (cbInterval.SelectedIndex == 4) // _interval = 5000; //else // _interval = 1000; //cbInterval.IsEnabled = false; //labInterval.IsEnabled = false; //msgQueue = new Queue<string>(); timer.Interval = new TimeSpan(0, 0, SelectCANWnd.m_RecordInterval); timer.Start(); _fs = new FileStream(bmsfilePath, System.IO.FileMode.Append, System.IO.FileAccess.Write); sw = new StreamWriter(_fs, System.Text.Encoding.Default); } else { DdProtocol.DdInstance.m_bIsSaveBmsInfo = false; if (fs != null) { fs.Close(); bmsfilePath = string.Empty; } if (timer != null) { timer.Stop(); } sw.Close(); _fs.Close(); //msgQueue = null; //cbInterval.IsEnabled = true; //labInterval.IsEnabled = true; } }