private void LoadNIFilter() { String exePath = System.AppDomain.CurrentDomain.BaseDirectory; string CalibrationFolder = exePath + "CalibrationFiles\\"; if (!Directory.Exists(CalibrationFolder)) { MessageBox.Show("Calibration Folder Not Found.", "Calibration Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string fileName = CalibrationFolder + "ND Filter T% reference data.csv"; if (!File.Exists(fileName)) { //MessageBox.Show("ND Calibration File Not Found." + fileName, "Calibration Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string strread = ""; NDInfo.Clear(); StreamReader sr = new StreamReader(fileName); string line; string[] row; int Rowcnt = 0; while ((line = sr.ReadLine()) != null) { row = line.Split(','); if (row[0] == "") { continue; } if (Rowcnt == 0) { NDFileterInfo tmp = new NDFileterInfo(); tmp.Name = row[1]; NDInfo.Add(tmp); NDFileterInfo tmp2 = new NDFileterInfo(); tmp2.Name = row[4]; NDInfo.Add(tmp2); NDFileterInfo tmp3 = new NDFileterInfo(); tmp3.Name = row[7]; NDInfo.Add(tmp3); NDFileterInfo tmp4 = new NDFileterInfo(); tmp4.Name = row[10]; NDInfo.Add(tmp4); NDFileterInfo tmp5 = new NDFileterInfo(); tmp5.Name = row[13]; NDInfo.Add(tmp5); NDFileterInfo tmp6 = new NDFileterInfo(); tmp6.Name = row[16]; NDInfo.Add(tmp6); Rowcnt++; continue; } int Idx = 1; CalibrationInfo info1 = new CalibrationInfo(); info1.waveLength = int.Parse(row[0]); info1.Nominal = double.Parse(row[Idx]); info1.min = double.Parse(row[Idx + 1]); info1.max = double.Parse(row[Idx + 2]); NDInfo[0].data.Add(info1); Idx = 4; CalibrationInfo info2 = new CalibrationInfo(); info2.waveLength = int.Parse(row[0]); info2.Nominal = double.Parse(row[Idx]); info2.min = double.Parse(row[Idx + 1]); info2.max = double.Parse(row[Idx + 2]); NDInfo[1].data.Add(info2); Idx = 7; CalibrationInfo info3 = new CalibrationInfo(); info3.waveLength = int.Parse(row[0]); info3.Nominal = double.Parse(row[Idx]); info3.min = double.Parse(row[Idx + 1]); info3.max = double.Parse(row[Idx + 2]); NDInfo[2].data.Add(info3); Idx = 10; CalibrationInfo info4 = new CalibrationInfo(); info4.waveLength = int.Parse(row[0]); info4.Nominal = double.Parse(row[Idx]); info4.min = double.Parse(row[Idx + 1]); info4.max = double.Parse(row[Idx + 2]); NDInfo[3].data.Add(info4); Idx = 13; CalibrationInfo info5 = new CalibrationInfo(); info5.waveLength = int.Parse(row[0]); info5.Nominal = double.Parse(row[Idx]); info5.min = double.Parse(row[Idx + 1]); info5.max = double.Parse(row[Idx + 2]); NDInfo[4].data.Add(info5); Idx = 16; CalibrationInfo info6 = new CalibrationInfo(); info6.waveLength = int.Parse(row[0]); info6.Nominal = double.Parse(row[Idx]); info6.min = double.Parse(row[Idx + 1]); info6.max = double.Parse(row[Idx + 2]); NDInfo[5].data.Add(info6); } // UpdateCaliUI(); UpdateNDFilterLB(); }
public void SaveNDFilterData(NDFileterInfo myNDFilterData, List <float> TransData, int ModIdx, NDFileterInfo NdData) { //lock (sny_Obj) { string s_FileName = "_NDFilterData_" + DateTime.Now.ToString("yyyyMMdd"); string path = "D:\\DailyNDFilterData"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = "D:\\DailyNDFilterData\\Module" + (ModIdx).ToString(); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string FileName = path + "\\" + s_FileName + ".csv"; FileStream objFileStream; bool bCreatedNew = false; if (!File.Exists(FileName)) { objFileStream = new FileStream(FileName, FileMode.CreateNew, FileAccess.Write); bCreatedNew = true; } else { objFileStream = new FileStream(FileName, FileMode.Append, FileAccess.Write); } StreamWriter sw = new StreamWriter(objFileStream, System.Text.Encoding.GetEncoding(-0)); string columnTitle = ""; int i; string columnValue = ""; int t = 0; //int waveNum = pub.m_Lambda.Value.GetLength(0);//总的波长个数 double tempCounts = 0; try { //bCreatedNew = true; if (bCreatedNew) { columnTitle = "CG Test:" + "," + Para.SWVersion + ","; sw.WriteLine(columnTitle); columnTitle = ""; //写入列标题 columnTitle = "SerialNumber" + "," + "DateTime" + ","; for (int wave = 0; wave < myNDFilterData.data.Count; wave++) { columnTitle += myNDFilterData.data[wave].waveLength.ToString("F1") + ","; } sw.WriteLine(columnTitle); } //Nominal columnValue = myNDFilterData.Name + "_Nominal,"; columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ","; for (i = 0; i < NdData.data.Count; i++) { columnValue += NdData.data[i].Nominal.ToString("F3") + ","; } sw.WriteLine(columnValue); //Min columnValue = myNDFilterData.Name + "_Min,"; columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ","; for (i = 0; i < NdData.data.Count; i++) { columnValue += NdData.data[i].min.ToString("F3") + ","; } sw.WriteLine(columnValue); //Max columnValue = myNDFilterData.Name + "_Max,"; columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ","; for (i = 0; i < NdData.data.Count; i++) { columnValue += NdData.data[i].max.ToString("F3") + ","; } sw.WriteLine(columnValue); columnValue = myNDFilterData.Name + "_T%,"; columnValue += DateTime.Now.ToString("dd MM HH:mm:ss") + ","; for (i = 0; i < TransData.Count; i++) { columnValue += TransData[i].ToString("F3") + ","; } sw.WriteLine(columnValue); sw.Close(); objFileStream.Close(); } catch (Exception e) { //MessageBox.Show(e.ToString()); } finally { sw.Close(); objFileStream.Close(); } } }