Esempio n. 1
0
        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;
            }
        }