private void btnSave_Click(object sender, System.Windows.RoutedEventArgs e) { try { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "csv files(*.csv)|*.csv"; dlg.FileName = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; //dlg.InitialDirectory = "D:\\"; dlg.AddExtension = false; dlg.RestoreDirectory = true; System.Nullable <bool> result = dlg.ShowDialog(); if (result == true) { string desFilePath = dlg.FileName.ToString(); if (File.Exists(desFilePath)) { File.Delete(desFilePath); } CSVFileHelper.SaveRecordDataCSV(m_ListRecordsInfo, desFilePath); MessageBox.Show("备份数据保存成功!"); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
public void regularSave(object source, ElapsedEventArgs e) { String filename = Path.Combine("../../../record/", DateTime.Now.ToString("yyyy_MM_dd_hh") + "_record.csv"); CSVFileHelper.SaveCSV(frequencyTable.frequencies, filename); frequencyTable.clear(); }
public bool OpenFile(string path) { m_dt = CSVFileHelper.OpenCSV(path); if (m_dt == null) { return(false); } FieldInfo[] optionFields = typeof(AssetBundleInfo).GetFields(); foreach (DataRow dr in m_dt.Rows) { AssetBundleInfo data_temp = new AssetBundleInfo(); foreach (var field in optionFields) { if (!field.IsPublic || field.IsStatic) { continue; } field.SetValue(data_temp, dr[field.Name]); } AddDicAseetsData(data_temp, dr); } return(true); }
/// <summary> /// 导出Csv /// </summary> /// <param name="FilePath"></param> /// <returns></returns> public bool ExportCSV(string FilePath) { if (!CSVFileHelper.SaveCSV(DataHistory, FilePath)) { return(false); } return(true); }
public bool ExportCSV(string filePath, DataTable _data) { if (!CSVFileHelper.SaveCSV(_data, filePath)) { return(false); } return(true); }
private void ReadDataFromStore() { dataTableToShow = CSVFileHelper.OpenCSV(dataFile); //if (this.batteryList.Count > 0) //{ // List<string> addrList = new List<string>(); // foreach(var b in this.batteryList) // { // addrList.Add("'" + b.address + "'"); // } // while (dataTable.Select("地址 IN (" + string.Join(",", addrList) + ")").Count() > 0) // { // var time = ""; // foreach (var b in this.batteryList) // { // var dr = dataTable.Select("地址 = " + b.address); // if (dr != null && dr.Count() > 0) // { // time = dr[0]["采集时间"].ToString(); // break; // } // } // if(!string.IsNullOrEmpty(time)) // { // DataRow newRow = dataTableToShow.NewRow(); // newRow["采集时间"] = time; // // 前后一分钟的数据为同一批次数据 // var dateStart = DateTime.Parse(time).AddMinutes(-1); // var dateEnd = DateTime.Parse(time).AddMinutes(1); // int index = 0; // foreach (var b in this.batteryList) // { // var drs = dataTable.Select("地址 = " + b.address + " AND 采集时间 >= #" + dateStart + "# AND 采集时间 <= #" + dateEnd + "#"); // if (drs != null && drs.Count() > 0) // { // var dr = drs[0]; // for (var i = 2; i < dr.ItemArray.Length; i++) // { // newRow[++index] = dr[i]; // } // dataTable.Rows.Remove(dr); // } // else // { // for (var i = 0; i < 24; i++) // { // newRow[++index] = null; // } // } // } // dataTableToShow.Rows.Add(newRow); // } // } //} }
private void button1_Click(object sender, EventArgs e) { //首先选择一个文件,然后就读取啦 if (openFileDialog1.ShowDialog() == DialogResult.OK) { string strCsvFile = openFileDialog1.FileName; dataGridView1.DataSource = CSVFileHelper.OpenCSV(strCsvFile, '\t'); } }
/// <summary> /// 输出应答数据的结果 /// </summary> /// <param name="lpFastMsg">应答数据包</param> /// <param name="savePath">文件保存路径</param> public static unsafe void OutPutResult(LDFastMessageAdapter lpFastMsg, string savePath) { StringBuilder outPutInfo = new StringBuilder(); outPutInfo.Append("\r\n**************************************************************"); try { if (lpFastMsg.Record != null) { int errorNo = lpFastMsg.GetInt32(LDBizTag.LDBIZ_ERROR_NO_INT); if (errorNo != 0) { return; } //打印包头信息 LDRecordAdapter headRecord = lpFastMsg.GetHeadRecord(); if (headRecord.Record != null) { string tempHeadRecord = ShowRecord(headRecord); outPutInfo.Append(tempHeadRecord); } //打印包体信息 LDGroupAdapter lpGroup = lpFastMsg.GetGroup(1000); if (lpGroup.ld == null) //非结果集 { LDRecordAdapter record = lpFastMsg.GetBizBodyRecord(); if (record.Record != null) { string tempInfo = ShowRecord(record); outPutInfo.Append(tempInfo); } } else //结果集 { int recordCount = lpGroup.GetRecordCount(); outPutInfo.AppendLine($"\r\nrow_count : {recordCount}"); for (int i = 0; i < recordCount; i++) { LDRecordAdapter record = lpGroup.GetRecord(i); if (record.Record != null) { string tempInfo = ShowRecord(record); outPutInfo.Append(tempInfo); } } } CSVFileHelper.AppendSaveScript(savePath, outPutInfo.ToString()); } } catch (Exception error) { outPutInfo.Append($"{error.Message}\r\n{error.StackTrace}"); CSVFileHelper.AppendSaveScript(savePath, outPutInfo.ToString()); } }
static void Main(string[] args) { DataTable dt = CSVFileHelper.OpenCSV(@"e:\TRTWork\ExeceCamer\1234.csv"); double rg_max; double rg_min; double rg_eviation; double rg_mean; GetData(dt, "R/G_1", out rg_max, out rg_min, out rg_eviation, out rg_mean); Console.WriteLine(rg_max.ToString()); //for (int i = 0; i < dt.Rows.Count; i++) //{ // R_G_1.Add(Convert.ToDouble(dt.Rows[i]["R/G_1"])); // R_G_2.Add(Convert.ToDouble(dt.Rows[i]["R/G_2"])); // R_G_3.Add(Convert.ToDouble(dt.Rows[i]["R/G_3"])); //} //double[] R_G_1_value = R_G_1.Cast<double>().ToArray(); //double[] R_G_2_value = R_G_2.Cast<double>().ToArray(); //double[] R_G_3_value = R_G_3.Cast<double>().ToArray(); ////计算每列数据的 最大值 最小值 平均值 标准偏差值 //Console.WriteLine("**********************************************"); //Console.WriteLine("最大值="+R_G_1_value.Maximum().ToString()); //Console.WriteLine("最小值="+R_G_1_value.Minimum().ToString()); //Console.WriteLine("均值=" + R_G_1_value.Mean().ToString()); //Console.WriteLine("标准偏差值="+R_G_1_value.StandardDeviation().ToString());//标准偏差值 //Console.WriteLine("**********************************************"); //Console.WriteLine("最大值=" + R_G_2_value.Maximum().ToString()); //Console.WriteLine("最小值=" + R_G_2_value.Minimum().ToString()); //Console.WriteLine("均值=" + R_G_2_value.Mean().ToString()); //Console.WriteLine("标准偏差值=" + R_G_2_value.StandardDeviation().ToString());//标准偏差值 //Console.WriteLine("**********************************************"); //Console.WriteLine("最大值=" + R_G_3_value.Maximum().ToString()); //Console.WriteLine("最小值=" + R_G_3_value.Minimum().ToString()); //Console.WriteLine("均值=" + R_G_3_value.Mean().ToString()); //Console.WriteLine("标准偏差值=" + R_G_3_value.StandardDeviation().ToString());//标准偏差值 Console.Read(); }
/// <summary> /// Create a CSV file that contains all packages of project /// Create a stream that contains the CSV file /// </summary> /// <param name="projectId">Id of the project</param> private Stream ExportPackagesFromProject(string projectId, char delimiter = ';') { var project = _context.Projects.Find(projectId); if (project == null) { return(null); } var baseStream = new MemoryStream(); using var stream = new StreamWriter(baseStream, System.Text.Encoding.UTF8, -1, true) { NewLine = "\r\n"// RFC 4180 }; _context.Entry(project).Collection(p => p.PackageConsumers).Load(); // Create header stream.WriteLine(CSVFileHelper.SerializeToCvsLine(new string[] { "PackageId", "Version", "Type", "PackageUrl", "RepositoryType", "RepositoryUrl", "RepositoryCommit", "Description", "License", "LicenseType" }, delimiter)); var packages = _context.PackageConsumerPackages.Where(p => p.PackageConsumer.ProjectId == projectId).Select(p => p.Package).Distinct(); foreach (var p in packages) { stream.WriteLine(CSVFileHelper.SerializeToCvsLine(new string[] { p.PackageId, p.Version, p.PackageType.ToString(), p.ProjectUrl, p.RepositoryType, p.RepositoryUrl, p.RepositoryCommit, p.Description, p.License, p.LicenseType.ToString() }, delimiter)); } stream.Flush(); // Empty the stream to the base stream baseStream.Seek(0, SeekOrigin.Begin); // Move the position to the start of the stream return(baseStream); }
//the "Energy" column for the "TOU" file type public static DataTable TOUMedianDataTable() { DataTable dt = CSVFileHelper.CreateDataTable(); DirectoryInfo dir = new DirectoryInfo(csvPath); var files = dir.GetFiles("TOU_*.csv"); foreach (var item in files) { CSVFileHelper.ReadCSVFile(item.FullName, "Date/Time", "Energy", ref dt); } return(dt); }
/// <summary> /// Create a CVS of packages found /// </summary> /// <param name="packageId">The package id must contains</param> /// <param name="delimiter">Delimiter to apply between elements of a line</param> /// <returns>The stream of CSV data</returns> private Stream ExportPackagesFromId(string packageId, char delimiter = ';') { var packages = SearchPackage(packageId); var baseStream = new MemoryStream(); using var stream = new StreamWriter(baseStream, System.Text.Encoding.UTF8, -1, true) { NewLine = "\r\n"// RFC 4180 }; // Create header stream.WriteLine(CSVFileHelper.SerializeToCvsLine(new string[] { "PackageId", "Version", "ProjectUrl", "RepositoryType", "RepositoryUrl", "RepositoryCommit", "Description", "Type", "License", "LicenseType", "sous-projet", "Projets" }, delimiter)); foreach (var p in packages) { foreach (var c in p.packageConsumers) { stream.WriteLine(CSVFileHelper.SerializeToCvsLine(new string[] { p.packageDto.PackageId, p.packageDto.Version, p.packageDto.ProjectUrl, p.packageDto.RepositoryType, p.packageDto.RepositoryUrl, p.packageDto.RepositoryCommit, p.packageDto.PackageType.ToString(), p.packageDto.License, p.packageDto.LicenseType.ToString(), c.name, c.projectId, }, delimiter)); } } stream.Flush(); // Empty the stream to the base stream baseStream.Seek(0, SeekOrigin.Begin); // Move the position to the start of the stream return(baseStream); }
private void ConvertToNewEMCData() { try { string stationFile = SystemUtils.ApplicationPath + "\\staion.csv"; string emcFile = SystemUtils.ApplicationPath + "\\ct.csv"; string destFile = SystemUtils.ApplicationPath + "\\Product.csv"; CSVFileHelper.CombineTestData(stationFile, emcFile, destFile); } catch (System.Exception ex) { } }
public void TestInsertDB() { #warning 指定csv文件路径 DataTable dtA = CSVFileHelper.OpenCSV("C:/DEMO/temp/0729.csv"); DataTable dtB = CSVFileHelper.OpenCSV("C:/DEMO/temp/2019-07-29Data.csv"); #warning 指定主键 var keyFilids = new string[] { "AgentAcc", "VipAcc" }; var dicDifference = new Dictionary <int, DataTable>(); accountingMatching.Match(dtA, dtB, keyFilids, ref dicDifference); DAL dal = new DAL(connectString); foreach (var dic in dicDifference) { dal.InsertData2DB(dic); } }
private void LoadCsvFile_Click(object sender, EventArgs e) { dt = CSVFileHelper.OpenCSV(@"e:\TRTWork\ExeceCamer\12.csv"); //openFileDialog1.InitialDirectory = "e:\\"; //openFileDialog1.Filter = "(*.*)|*.*"; //openFileDialog1.RestoreDirectory = true; //if (openFileDialog1.ShowDialog() == DialogResult.OK) //{ // string fileName = openFileDialog1.FileName; // filePath = System.Windows.Forms.Application.StartupPath; // dt = CSVFileHelper.OpenCSV(fileName); //} }
/// <summary> /// Save tag file Manually /// </summary> /// <param name="filename">tag file name</param> public void SaveAsCSV(string filename) { SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.RestoreDirectory = true; fileDialog.InitialDirectory = _filepath; fileDialog.Filter = "CSV文件|*.csv*|XML文件|*.xml"; fileDialog.FileName = filename.Substring(1, filename.Length - 1); fileDialog.RestoreDirectory = true; if (fileDialog.ShowDialog() == DialogResult.OK) { CSVFileHelper.SaveCSV(_tagsTable.Tags, fileDialog.FileName); TagsWithPosTable tagsWithPosTable = PhaseLocating.getInstance().tagsWithPosTable; CSVFileHelper.SaveCSV(tagsWithPosTable.tags, fileDialog.FileName + "WithPos.csv"); } }
private void LoadCsvFile_Click(object sender, EventArgs e) { HildControl(save_flag); openFileDialog1.InitialDirectory = "e:\\"; openFileDialog1.Filter = "(*.*)|*.*"; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { fileName = openFileDialog1.FileName; dt = CSVFileHelper.OpenCSV(fileName); save_flag = true; } HildControl(save_flag); save_flag = false; }
public string[] MemberName(string fileName) { var path = @"..\..\..\TMS_App_CodeTests\TestData\" + fileName; var dt = CSVFileHelper.OpenCSV(path); string[] username = new string[100000]; int count = 0; foreach (DataRow dr in dt.Rows) { if (dr[0].ToString() != null) { username[count] = dr[0].ToString(); count++; } } return(username); }
private void CreateShowTable() { dataTableToShow = CSVFileHelper.OpenCSV(dataFile); if (dataTableToShow == null) { dataTableToShow = new DataTable(); DataColumn dc = new DataColumn("采集时间"); dataTableToShow.Columns.Add(dc); int len = this.batteryList.Count * 24; for (var i = 0; i < len; i++) { DataColumn col = new DataColumn("单体电压" + (i + 1)); dataTableToShow.Columns.Add(col); } } dataGrid.ItemsSource = dataTableToShow.DefaultView; }
public static DataRow LoadProject(string name) { DataTable dt = CSVFileHelper.OpenCSV(PROJECTS_CONFIG_FILE); if (dt == null) { return(null); } foreach (DataRow dr in dt.Rows) { if (string.Compare(name, dr["ProjectName"].ToString(), true) == 0) { return(dr); } } return(null); }
private bool CompleteDescRecord(DBAccess.Model.BatteryModuleModel modBattery, ref string restr) { try { string testResultPath = string.Format(@"\\{0}\MESReport\PullTestResult\{1}_{2}.csv", welderIP, modBattery.palletID, modBattery.batModuleID); if (!System.IO.File.Exists(testResultPath)) { currentTaskDescribe = string.Format(this.nodeName + "铝丝焊结果文件:{0}不存在", testResultPath); return(false); } DataTable dt = CSVFileHelper.OpenCSV(testResultPath); string checkRes = ""; for (int j = 0; j < dt.Rows.Count; j++) { if (dt.Rows[j]["Traceability - integrated pull test - passed"].ToString().ToUpper() == "FALSE") { checkRes = "NG"; break; } } if (checkRes == "NG") { modBattery.checkResult = 2; modBattery.palletBinded = false; modBattery.tag3 = this.nodeName; //标识在哪个工位产生的NG,(共有三个工位,1#铝丝焊、2#铝丝焊、DCIR检测) } else { modBattery.checkResult = 1; } modBll.Update(modBattery); return(true); } catch (Exception ex) { restr = ex.Message; return(false); } }
private void OnOpenCsvFileClick(object sender, EventArgs e) { if (openCSVFile.ShowDialog() == DialogResult.OK) { string[] FileNames = openCSVFile.FileNames; textCVSFileTxt.Text = ""; for (int i = 0; i < FileNames.Length; i++) { textCVSFileTxt.Text += FileNames[i] + ";"; } for (int i = 0; i < FileNames.Length; i++) { DataTable dt = new DataTable(); CSVFileHelper.ReadCSV(FileNames[i], 0, dt); PointPairList displayList = PaneFill(dt); PaneDisplay(displayList, Color.Red); } } }
public void SetBqDeviceInfo(List <string> list) { try { if (isSave) { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "csv files(*.csv)|*.csv"; dlg.FileName = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; //dlg.InitialDirectory = "D:\\"; dlg.AddExtension = false; dlg.RestoreDirectory = true; System.Nullable <bool> result = dlg.ShowDialog(); if (result == true) { string desFilePath = dlg.FileName.ToString(); if (File.Exists(desFilePath)) { File.Delete(desFilePath); } if (dataGridRecord.Columns[2].Visibility == Visibility.Visible) { CSVFileHelper.SaveDdRecordDataCSV(m_ListRecordsInfo, desFilePath, true, UID, list); } else { CSVFileHelper.SaveDdRecordDataCSV(m_ListRecordsInfo, desFilePath, false, UID, list); } MessageBox.Show("备份数据保存成功!"); isSave = false; } } } catch (System.Exception ex) { MessageBox.Show(ex.Message); isSave = false; } }
public SiteMemberInfo MemberData(string UserName) { SiteMemberInfo sm = new SiteMemberInfo(); var path = @"..\..\..\TMS_App_CodeTests\TestData\ProviderTypeData_AddProviderType.csv"; var dt = CSVFileHelper.OpenCSV(path); foreach (DataRow dr in dt.Rows) { string username = dr[0].ToString(); if (UserName == username) { sm.UserName = dr[0].ToString(); sm.UserPwd = dr[1].ToString(); sm.RealName = dr[2].ToString(); sm.HeadPicPath = dr[3].ToString(); sm.Sex = dr[4].ToString(); sm.MobileNum = dr[5].ToString(); sm.IDNum = dr[6].ToString(); sm.Email = dr[7].ToString(); sm.QQ = dr[8].ToString(); sm.WeChat = dr[9].ToString(); sm.TotalCost = Convert.ToDecimal(dr[10].ToString()); sm.TotalPoints = Convert.ToInt32(dr[11].ToString()); sm.UsedPoints = Convert.ToInt32(dr[12].ToString()); sm.AddTime = Convert.ToDateTime(dr[13].ToString()); sm.Remarks = dr[14].ToString(); sm.InviteNum = dr[15].ToString(); sm.InviterUserName = dr[16].ToString(); sm.InviterRealName = dr[17].ToString(); } else { sm = null; } } return(sm); }
static void Main(string[] args) { var a = CSVFileHelper.ReadCSV(@"D:\Data.csv"); foreach (var i in a) { foreach (var j in i) { Console.Write(j); Console.Write("|"); } Console.WriteLine("\r\n"); } var list = new List <int>(new Dictionary <int, string>().Keys); for (var i = list.Count - 1; i >= 0; i--) { Console.WriteLine(list[i] + list[list[i]]); } Console.ReadKey(true); }
private void StartBackTest() { DateTime today = btParameter.StartDate.Date; MarketTimeRange marketRange = MarketTimeRange.getTimeRange(securityInfo.Market); int totalcount = this.policys.Count; DataMonitor da = new DataMonitor(); Parallel.For(0, totalcount, (j, LoopState) => { RunningPolicy policy = policys[j]; Guid g = policy.PolicyGuid; string backtesttitle = policy.getBackTestTitle(); PolicyStarted(new BackTestStartEventArgs(backtesttitle, g)); policy.PolicyResult_Arrival += policy_PolicyResult_Arrival; }); while (today <= btParameter.EndDate.Date) { string name = ConfigFileName.HistoryDataFileName + "\\Okex%" + securityInfo.Code + "%" + today.ToString("yyyyMMdd") + ".csv"; //string name = ConfigFileName.HistoryDataFileName + "\\XBTUSD-" + today.ToString("yyyyMMdd") + ".csv"; PolicyLoading(name); DataTable tickdatas = CSVFileHelper.OpenCSV(name); List <TickData> list_tickdata = new List <TickData>(); for (int i = 0; i < tickdatas.Rows.Count; i++) { DataRow dr = tickdatas.Rows[i]; DateTime tickTime = System.Convert.ToDateTime(dr["timestamp"].ToString().Replace("D", " ").Substring(0, 23)); //TickData tickdata = TickData.ConvertFromDataRow(dr); TickData tickdata = new TickData(); tickdata.Code = dr["symbol"].ToString(); tickdata.SecInfo = this.securityInfo; tickdata.Time = tickTime; tickdata.Preclose = 0; tickdata.Open = 0; tickdata.High = 0; tickdata.Low = 0; tickdata.Ask = System.Convert.ToDouble(dr["askPrice"]); tickdata.Bid = System.Convert.ToDouble(dr["bidPrice"]); tickdata.Last = (tickdata.Ask + tickdata.Bid) / 2; tickdata.Volume = 0; tickdata.Amt = 0; tickdata.IsReal = false; tickdata.Asks[0] = tickdata.Ask; tickdata.Bids[0] = tickdata.Bid; list_tickdata.Add(tickdata); } Parallel.For(0, totalcount, (j, LoopState) => { RunningPolicy policy = policys[j]; //policy.PolicyMessage_Arrival += policy_PolicyMessage_Arrival; //da.Simulator(tickdatas, policy.PolicyDataReceiver, policy.Inteval); da.BackSimulator(list_tickdata, policy.PolicyDataReceiver, 0); PolicyDataFinished(); }); list_tickdata.Clear(); today = today.AddDays(1); } Parallel.For(0, totalcount, (j, LoopState) => { Stopwatch sw = new Stopwatch(); RunningPolicy policy = policys[j]; Guid g = policy.PolicyGuid; PolicyFinished(g, sw.Elapsed); policy.PolicyResult_Arrival -= policy_PolicyResult_Arrival; sw.Stop(); }); RaiseFinished(new EventArgs()); }
private void HandlerZLGRecvDataEvent(object sender, EventArgs e) { var canEvent = e as CANEvent; if (canEvent == null) { return; } if (canEvent.listData[0] == 0x46 && canEvent.listData[1] == 0x01 && canEvent.listData[4] == 0x12 && canEvent.listData[5] == 0x01) { DDProtocol.DdProtocol.DdInstance.m_bIsStopCommunication = true; BqProtocol.BqInstance.m_bIsStopCommunication = true; System.Threading.Thread.Sleep(200); DDProtocol.DdProtocol.DdInstance.DD_ReleyEvent(); DDProtocol.DdProtocol.DdInstance.m_bIsStopCommunication = false; BqProtocol.BqInstance.m_bIsStopCommunication = false; return; } System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(delegate() { if (isUpdateWndSendMsg && canEvent.listData[0] == functionCode) { OnRaiseCommunicationMessageEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); CSVFileHelper.WriteLogs("log", "接收", CSVFileHelper.ToHexStrFromByte(canEvent.listData.ToArray(), false), false);//记录所有接收到的消息 } else { if (SelectCANWnd.m_H5Protocol == H5Protocol.BO_QIANG) { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); CSVFileHelper.WriteLogs("log", "博强接收", CSVFileHelper.ToHexStrFromByte(canEvent.listData.ToArray(), false), false);//记录所有接收到的消息 if (canEvent.listData[0] == 0xCC) { switch (canEvent.listData[1]) { case 0xA0: OnRaiseReadBqDeviceInfoEvent(recvEvent); break; case 0xA1: // bms OnRaiseReadUIDEvent(recvEvent); break; case 0xA2: if (m_statusBarInfo.IsOnline == false) //连接成功,更新页面信息 { if (isCompanyMatch == false) { ucBqBmsInfoWnd.IsCompanyMatch(true); return; } else { m_statusBarInfo.IsOnline = true; labTip.Content = "类型:" + ZLGInfo.DevType.ToString() + " 索引号: " + zlgFuc.zlgInfo.DevIndex.ToString() + " 通道号: " + zlgFuc.zlgInfo.DevChannel.ToString() + " 波特率: " + ZLGInfo.Baudrate.ToString(); OnRaiseEepromWndUpdateEvent(null); OnRaiseMcuWndUpdateEvent(null); OnRaiseAdjustWndUpdateEvent(null); OnRaiseDebugWndUpdateEvent(null); OnRaiseBootTestWndUpdateEvent(null); } } OnRaiseReadBqBmsInfoEvent(recvEvent); OnRaiseAdjustEvent(recvEvent); BqProtocol.BqInstance.nHandshakeFailure = 0; m_statusBarInfo.OnlineStatus = "在线"; statusBrush.Color = m_green; break; case 0xA3: OnRaiseReadBqRTCEvent(recvEvent); break; case 0xA4: OnRaiseReadDdRecordEvent(recvEvent); break; case 0xA8: OnRaiseReadMcuEvent(recvEvent); break; case 0xA9: OnRaiseReadVoltageProtectParamEvent(recvEvent); break; case 0xAA: OnRaiseReadCurrentProtectParamEvent(recvEvent); break; case 0xAB: OnRaiseReadTemperatureProtectParamEvent(recvEvent); break; case 0xAC: OnRaiseReadWarningParamEvent(recvEvent); break; case 0xAD: OnRaiseReadHumidityProtectParamEvent(recvEvent); break; case 0xAE: OnRaiseReadAdjustParamEvent(recvEvent); break; case 0xB0: OnRaiseRequireReadEepromEvent(recvEvent); break; case 0xB1: OnRaiseReadEepromEvent(recvEvent); break; case 0xB2: OnRaiseRequireReadOthersEvent(recvEvent); break; case 0xB3: OnRaiseReadOthersEvent(recvEvent); break; case 0xB9: OnRaiseReadBqBootInfoEvent(recvEvent); break; case 0xBA: OnRaiseReadFlashInfoEvent(recvEvent); break; } } else if (canEvent.listData[0] == 0xDD) { switch (canEvent.listData[1]) { case 0xA0: OnRaiseWriteVoltageProtectParamEvent(recvEvent); break; case 0xA1: OnRaiseWriteCurrentProtectParamEvent(recvEvent); break; case 0xA2: OnRaiseWriteTemperatureProtectParamEvent(recvEvent); break; case 0xA3: OnRaiseWriteWarningProtectParamEvent(recvEvent); break; case 0xA4: OnRaiseWriteHumidityProtectParamEvent(recvEvent); break; case 0xA5: OnRaiseWriteEepromEvent(recvEvent); break; case 0xA6: OnRaiseWriteMcuEvent(recvEvent); break; case 0xA7: OnRaiseAdjustRTCEvent(recvEvent); break; case 0xA8: OnRaiseAdjustZeroCurrenEvent(recvEvent); break; case 0xA9: OnRaiseAdjustRTCurrenEvent(recvEvent); break; case 0xAA: OnRaiseAdjustBatteryVoltageEvent(recvEvent); break; case 0xAB: OnRaiseAdjustLoadVoltageEvent(recvEvent); break; case 0xAC: OnRaiseAdjustInnerResistanceEvent(recvEvent); break; case 0xAD: OnRaiseAdjustOutResistanceEvent(recvEvent); break; case 0xB0: OnRaiseWriteBqBMSInfoEvent(recvEvent); break; case 0xB1: OnRaiseWriteBqPackInfoEvent(recvEvent); break; case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBE: case 0xBF: case 0xC0: case 0xC1: case 0xC3: OnRaiseDebugEvent(recvEvent); break; case 0xBD: OnRaiseEraseRecordEvent(recvEvent); break; default: if (canEvent.listData[0] == 0x10) { if (canEvent.listData[1] == 0xA2) { OnRaisePowerOnOffEvent(null); } } break; } } else if (canEvent.listData[0] == 0x03) { if (canEvent.listData[1] == 0x56) { OnRequireRaiseReadDeviceInfoEvent(recvEvent); } else if (canEvent.listData[1] == 0xDA) { OnRaiseReadDdBmsInfoEvent(recvEvent); } } else if (canEvent.listData[0] == 0x10) { if (canEvent.listData[2] == 0x00 && canEvent.listData[1] == 0xA2)// 上下电 { OnRaisePowerOnOffEvent(null); } else if (canEvent.listData[2] == 0x48 && canEvent.listData[1] == 0xA2) { OnRaiseAdjustDdRTCEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID));// 校准滴滴RTC返回 } else if (canEvent.listData[1] == 0xA2 && canEvent.listData[2] == 0x64) { OnRaiseSettingBatteryStatus(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } } else if (canEvent.listData[0] == 0x45) { if (canEvent.listData[1] == 0x02) { OnRaiseRequestUpdateAppEvent(recvEvent); } else if (canEvent.listData[1] == 0x14) { OnRaiseSendUpdateAppInfoEvent(recvEvent); } else if (canEvent.listData[1] == 0x16) { OnRaiseSendUpdateAppDataEvent(recvEvent); } } } else { CSVFileHelper.WriteLogs("log", "滴滴接收", CSVFileHelper.ToHexStrFromByte(canEvent.listData.ToArray(), false), false);//记录所有接收到的消息 if (canEvent.listData[0] == 0x03) { if (canEvent.listData[1] == 0x02) { //if(DdProtocol.DdInstance.m_bIsStopCommunication) //{ // OnRaiseReadRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData));//读寄存器 //} //else { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadDdRecordCountEvent(recvEvent); } } else if (canEvent.listData[1] == 0xDA) { if (DdProtocol.DdInstance.m_bIsStopCommunication) { OnRaiseReadRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID));//读寄存器 } else { if (m_statusBarInfo.IsOnline == false) { if (isCompanyMatch == false) { ucBqBmsInfoWnd.IsCompanyMatch(false); return; } else { m_statusBarInfo.IsOnline = true; labTip.Content = "类型:" + ZLGInfo.DevType.ToString() + " 索引号: " + zlgFuc.zlgInfo.DevIndex.ToString() + " 通道号: " + zlgFuc.zlgInfo.DevChannel.ToString() + " 波特率: " + ZLGInfo.Baudrate.ToString(); OnRaiseEepromWndUpdateEvent(null); OnRaiseMcuWndUpdateEvent(null); OnRaiseAdjustWndUpdateEvent(null); OnRaiseDebugWndUpdateEvent(null); OnRaiseBootTestWndUpdateEvent(null); } } CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadDdBmsInfoEvent(recvEvent); OnRaiseAdjustEvent(recvEvent); DdProtocol.DdInstance.nReadSOHFailure = 0; m_statusBarInfo.OnlineStatus = "在线"; statusBrush.Color = m_green; } } else if (canEvent.listData[1] == 0x56)//读设备信息 { if (DdProtocol.DdInstance.m_bIsStopCommunication) { OnRaiseReadRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID));//读寄存器 } else { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadDeviceInfoEvent(recvEvent); } } else if (canEvent.listData[1] == 0x04) // 读RTC数据 { if (DdProtocol.DdInstance.m_bIsStopCommunication) { OnRaiseReadRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID));//读寄存器 } else { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadBqRTCEvent(recvEvent); } } else if (canEvent.listData[1] == 0x48) { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadDdRecordEvent(recvEvent); } else if (canEvent.listData[1] == 0x06) { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseReadDdFeedbackInfoEvent(recvEvent); } else// 读寄存器 { OnRaiseReadRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } } else if (canEvent.listData[0] == 0x10) { if (canEvent.listData[2] == 0x48 && canEvent.listData[1] == 0xA2) { OnRaiseAdjustDdRTCEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); // 校准滴滴RTC返回 } else if (canEvent.listData[2] == 0x00 && canEvent.listData[1] == 0xA2) // 上下电 { OnRaisePowerOnOffEvent(null); } else if (canEvent.listData[1] == 0xA2 && canEvent.listData[2] == 0x68) { OnRaiseSettingBrakeStatus(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else { OnRaiseWriteRegisterEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID));//写寄存器 } } else if (canEvent.listData[0] == 0xDD && canEvent.listData[1] == 0xBD) { CustomRecvDataEventArgs recvEvent = new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID); OnRaiseEraseDdRecordEvent(recvEvent); } else if (canEvent.listData[0] == 0xCC && canEvent.listData[1] == 0xA4) { OnRaiseReadDdRecordEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xD2 || canEvent.listData[0] == 0xD0 || canEvent.listData[0] == 0xD4 || canEvent.listData[0] == 0xD5 || canEvent.listData[0] == 0xDB) { OnRaiseDebugEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xD8) { OnRaiseRequireReadEepromEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xD9) { OnRaiseRequireReadOthersEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xA2) { OnRaiseReadMcuEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xB2) { OnRaiseWriteMcuEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xA3) { OnRaiseReadEepromEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xA4) { OnRaiseReadOthersEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xA8) { OnRaiseReadAdjustParamEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xDA) { OnRaiseReadBqBootInfoEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xCC && canEvent.listData[1] == 0xA1) { OnRaiseReadUIDEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } else if (canEvent.listData[0] == 0xCC && canEvent.listData[1] == 0xA0) { OnRaiseReadBqDeviceInfoEvent(new CustomRecvDataEventArgs(canEvent.listData, canEvent.ID)); } } } })); }
public void Save(string path) { CSVFileHelper.SaveCSV(m_dt, path); }
public void Simulator(SecurityInfo si, DateTime startDate, DateTime endDate, DataReceiver da, int interval, bool needSimulte = false) { if (needSimulte) { DateTime today = startDate.Date; MarketTimeRange marketRange = MarketTimeRange.getTimeRange(si.Market); while (today <= endDate) { //DataTable tickdatas = CSVFileHelper.OpenCSV(ConfigFileName.HistoryDataFileName + "\\Okex%" + si.Code + "%" + today.ToString("yyyyMMdd") + ".csv"); //DataTable tickdatas = CSVFileHelper.OpenCSV(ConfigFileName.HistoryDataFileName + "\\" + si.Code + "-" + today.ToString("yyyyMMdd") + ".csv"); DataTable tickdatas = new DataTable(); try { tickdatas = CSVFileHelper.OpenCSV(ConfigFileName.HistoryDataFileName + "\\" + si.Code + "%" + today.ToString("yyyyMMdd") + ".csv"); } catch { } if (tickdatas.Rows.Count > 0) { for (int i = 0; i < tickdatas.Rows.Count; i++) { try { DataRow dr = tickdatas.Rows[i]; DateTime tickTime = System.Convert.ToDateTime(dr["timestamp"].ToString()); //DateTime tickTime = System.Convert.ToDateTime(dr["timestamp"].ToString().Replace("D", " ").Substring(0, 23)); TickData tickdata = new TickData(); tickdata.Code = si.Code; tickdata.SecInfo = GlobalValue.GetFutureByCodeAndMarket(tickdata.Code, si.Market); tickdata.Time = tickTime; tickdata.Preclose = 0; tickdata.Open = 0; tickdata.High = 0; tickdata.Low = 0; tickdata.Ask = System.Convert.ToDouble(dr["askPrice"].ToString()); tickdata.Bid = System.Convert.ToDouble(dr["bidPrice"].ToString()); //tickdata.Last = System.Convert.ToDouble(dr["lastPrice"].ToString()); tickdata.Last = (tickdata.Ask + tickdata.Bid) / 2; tickdata.Volume = 0; tickdata.Amt = 0; tickdata.IsReal = false; for (int j = 0; j < 10; j++) { tickdata.Asks[j] = tickdata.Ask; tickdata.Bids[j] = tickdata.Bid; tickdata.Asksizes[j] = System.Convert.ToDouble(dr["askSize"]); tickdata.Bidsizes[j] = System.Convert.ToDouble(dr["bidSize"]); } da.DataArrival(tickdata); if (interval != 0) { Thread.Sleep(interval); } } catch { } } } today = today.AddDays(1); } //DataTable tickdatas = CSVFileHelper.OpenCSV(ConfigFileName.HistoryDataFileName + "\\rb15.csv"); ////DataTable tickdatas = CSVFileHelper.OpenCSV(ConfigFileName.HistoryDataFileName + "\\XBTUSD-" + today.ToString("yyyyMMdd") + ".csv"); //if (tickdatas.Rows.Count > 0) //{ // for (int i = 0; i < tickdatas.Rows.Count; i++) // { // DataRow dr = tickdatas.Rows[i]; // DateTime tickTime = System.Convert.ToDateTime(dr["timestamp"].ToString()); // //TickData tickdata = TickData.ConvertFromDataRow(dr); // TickData tickdata = new TickData(); // tickdata.Code = "rb"; // tickdata.SecInfo = GlobalValue.GetFutureByCode(tickdata.Code); // tickdata.Time = tickTime; // tickdata.Preclose = 0; // tickdata.Open = 0; // tickdata.High = 0; // tickdata.Low = 0; // tickdata.Ask = System.Convert.ToDouble(dr["open"]); // tickdata.Bid = System.Convert.ToDouble(dr["high"]); // tickdata.Last = System.Convert.ToDouble(dr["close"]); // tickdata.Volume = 0; // tickdata.Amt = 0; // tickdata.IsReal = false; // for (int j = 0; j < 10; j++) // { // tickdata.Asks[j] = tickdata.Ask; // tickdata.Bids[j] = tickdata.Bid; // } // da.DataArrival(tickdata); // if (interval != 0) // Thread.Sleep(interval); // } //} } TickData td = new TickData(); td.Code = string.Empty; try { da.DataArrival(td); } catch { } }
/// <summary> /// Save tag file automatically /// </summary> /// <param name="filename">tag file name</param> public void SaveCSV(string filename) { CSVFileHelper.SaveCSV(_tagsTable.Tags, _filepath + filename); }