using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace LP; public class Task { public FormDesktop desktop = null; public FlowLayoutPanel mRQ = null; public Panel mPanel1st = null; public Button mButtonCompute1st = null; public Button mButtonResult1st = null; public Label mLabelName1st = null; public Label mLabelXianLuName1st = null; public Label mLabelJLZL1st = null; public Label mLabelDYDJ1st = null; public List mListDetails = null; public Task() { MySet_RongQi(null); if (mListDetails == null) { mListDetails = new List(); } MyClear_ListTask(); } public void MySet_RongQi(FlowLayoutPanel _rq) { mRQ = _rq; } public void MyClear_ListTask() { mListDetails.Clear(); } public void Destroy() { mRQ.Controls.Clear(); for (int i = 0; i < mListDetails.Count; i++) { if (mListDetails[i] != null) { mListDetails[i].Destroy(); } mListDetails[i] = null; } mListDetails.Clear(); mListDetails = null; } public void MySet_Control1st(Panel _panel, Button _button_compute, Button _button_result, Label _label_name, Label _label_XianLu_name, Label _label_jlzl, Label _label_DYDJ) { mPanel1st = _panel; mButtonCompute1st = _button_compute; mButtonResult1st = _button_result; mLabelName1st = _label_name; mLabelXianLuName1st = _label_XianLu_name; mLabelJLZL1st = _label_jlzl; mLabelDYDJ1st = _label_DYDJ; } public void Add1TaskData(int _indexDetail, TaskData _taskData) { if (_indexDetail >= 0 && _indexDetail < mListDetails.Count) { if (TaskData.mNextID_static < _taskData.mID_Task) { TaskData.mNextID_static = _taskData.mID_Task; } else if (_taskData.mID_Task <= TaskData.mNextID_static) { _taskData.mID_Task = TaskData.mNextID_static; } mListDetails[_indexDetail].mTaskData.copyFrom_TaskData(_taskData); TaskData.mNextID_static++; } else { MyLog.AddLog($"Add1TaskData() index out of Bound(_indexDetail={_indexDetail}, mListDetails.Count={mListDetails.Count})."); } } public void Add1_ExTaskData(int _indexDetail, TaskData _taskData) { if (_indexDetail < 0 || _indexDetail >= mListDetails.Count) { MyLog.AddLog($"Task.cs Add1_ExTaskData() _indexDetail={_indexDetail} mListDetails.Count={mListDetails.Count}"); return; } _taskData.mID_Task = mListDetails[_indexDetail].mTaskData.mID_Task; _taskData.mID_ExTask = mListDetails[_indexDetail].mTaskGroup.mListExTaskData.Count + 1; _taskData.mID_string_Task = $"{_taskData.mID_Task}|{_taskData.mID_ExTask}"; _taskData.mTGanTas.mTaskIDstring_TGanTas = _taskData.mID_string_Task; mListDetails[_indexDetail].mTaskGroup.mListExTaskData.Add(_taskData); } public void Add1TaskControl(int _indexDetail, TaskData _taskData) { string mName_Task = _taskData.mName_Task; string mXianLuName_Task = _taskData.mXianLuName_Task; string mXianLuJLZL_Task = _taskData.mXianLuJLZL_Task; int mDYDJ_Task = _taskData.mDYDJ_Task; TaskControl taskControl = new TaskControl(); taskControl.mIndex__Control = _indexDetail; taskControl.mID_Control = _taskData.mID_Task; Panel panel = new Panel(); panel.Font = mPanel1st.Font; panel.Location = new Point(mPanel1st.Location.X, mPanel1st.Location.Y + _indexDetail * (mPanel1st.Height + mPanel1st.Margin.All * 2)); panel.Size = mPanel1st.Size; panel.BorderStyle = mPanel1st.BorderStyle; panel.ContextMenuStrip = mPanel1st.ContextMenuStrip; panel.ContextMenuStrip.Tag = taskControl.mID_Control; for (int i = 0; i < panel.ContextMenuStrip.Items.Count; i++) { panel.ContextMenuStrip.Items[i].Tag = taskControl.mID_Control; } panel.Controls.Clear(); panel.Tag = taskControl.mID_Control; Label label = null; label = new Label(); label.Font = mLabelName1st.Font; label.Location = mLabelName1st.Location; label.AutoSize = false; label.Size = mLabelName1st.Size; label.Text = mName_Task; panel.Controls.Add(label); taskControl.mName_Task_Label = label; Button button = null; button = new Button(); button.Font = mButtonCompute1st.Font; button.Location = mButtonCompute1st.Location; button.Size = mButtonCompute1st.Size; button.Text = mButtonCompute1st.Text; button.Tag = taskControl.mID_Control; panel.Controls.Add(button); taskControl.mStart_Task_Button = button; button = new Button(); button.Font = mButtonResult1st.Font; button.Location = mButtonResult1st.Location; button.Size = mButtonResult1st.Size; button.Text = mButtonResult1st.Text; button.Tag = taskControl.mID_Control; panel.Controls.Add(button); taskControl.mResult_Task_Button = button; label = new Label(); label.Font = mLabelXianLuName1st.Font; label.Location = mLabelXianLuName1st.Location; label.AutoSize = true; label.Text = mXianLuName_Task; panel.Controls.Add(label); taskControl.mXianLuName_Task_Label = label; label = new Label(); label.Font = mLabelJLZL1st.Font; label.Location = mLabelJLZL1st.Location; label.AutoSize = true; label.Text = mXianLuJLZL_Task; panel.Controls.Add(label); taskControl.mJLZL_Task_Label = label; label = new Label(); label.Font = mLabelDYDJ1st.Font; label.Location = mLabelDYDJ1st.Location; label.AutoSize = true; label.Text = mListDetails[_indexDetail].mTaskData.mStringDYDJ_Task; panel.Controls.Add(label); taskControl.mDYDJ_Task_Label = label; panel.Visible = true; taskControl.mPanel_Task = panel; mListDetails[_indexDetail].mTaskControl.copyFrom_TaskControl(taskControl); desktop.MyFlowLayoutPanelAddControl(mRQ, panel); } public string Delete1_TaskControl_and_TaskData(int _index) { string result = "OK"; try { List list = null; if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskControl != null) { mListDetails[_index].mTaskControl.Dispose(); mListDetails[_index].mTaskControl = null; } if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskGroup != null) { TaskData taskData = null; for (int i = 0; i < mListDetails[_index].mTaskGroup.mListExTaskData.Count; i++) { taskData = mListDetails[_index].mTaskGroup.mListExTaskData[i]; if (taskData == null || taskData.mTGanTas == null) { continue; } list = taskData.mTGanTas.mListTGanTaData; if (list != null) { for (int j = 0; j < list.Count; j++) { if (list[j].m_ID_CanShuFenJi > 0) { int num = -1; num = desktop.mAll_CanShuFenJi.MyFind(list[j].m_ID_CanShuFenJi); if (num >= 0) { desktop.mAll_CanShuFenJi.MyDelete1CanShuFenJi(num); } } } } taskData.mTGanTas.Dispose(); taskData.Destroy(); taskData = null; } mListDetails[_index].mTaskGroup.Destroy(); mListDetails[_index].mTaskGroup = null; } if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskData != null) { mListDetails[_index].mTaskData.Destroy(); mListDetails[_index].mTaskData = null; } if (_index >= 0 && _index < mListDetails.Count) { mListDetails.RemoveAt(_index); } } catch (Exception ex) { result = ex.Message; } return result; } public Button GetTaskControl_ButtonStart(int _index) { Button result = null; if (_index < 0 || _index >= mListDetails.Count) { MyLog.AddLog($"GetTaskControl_ButtonStart(_index) 参数1无效:{_index}"); return result; } return mListDetails[_index].mTaskControl.mStart_Task_Button; } public Button GetTaskControl_ButtonLook(int _index) { Button result = null; if (_index < 0 || _index >= mListDetails.Count) { MyLog.AddLog($"GetTaskControl_ButtonLook(_index) 参数1无效:{_index}"); return result; } return mListDetails[_index].mTaskControl.mResult_Task_Button; } public int MyLoadTask(string _filename) { int result = 0; if (string.IsNullOrEmpty(_filename)) { MyLog.AddLog("MyLoadTask(_fileName) 参数1为空:任务数据文件名。"); return result; } if (!File.Exists(_filename)) { MyLog.AddLog("MyLoadTask(_fileName) 文件未找到! 文件名=" + _filename); return result; } bool flag = false; int i = -1; int num = 0; int num2 = 0; double num3 = 0.0; string[] array = new string[2] { "", "" }; string[] array2 = new string[2] { "", "" }; string text = ""; string[] separator = new string[3] { "\r", "\n", "," }; string[] array3 = null; int num4 = 0; int num5 = 0; TaskData taskData = new TaskData(); TaskGroup taskGroup = new TaskGroup(); TaskDetail taskDetail = new TaskDetail(); int num6 = 0; Encoding[] array4 = new Encoding[6] { Encoding.UTF8, Encoding.Default, Encoding.ASCII, Encoding.Unicode, Encoding.UTF7, Encoding.UTF32 }; int num7 = 0; bool flag2 = false; for (int j = 0; j < array4.Length; j++) { try { using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) { text = streamReader.ReadToEnd().Trim(); if (string.IsNullOrEmpty(text) || text.IndexOf("耐雷水平") >= 0 || text.IndexOf("跳闸率") >= 0) { num7 = j; flag2 = true; } streamReader.Close(); } fileStream.Close(); } catch (Exception) { } if (flag2) { break; } } using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) { using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num7])) { while (!streamReader2.EndOfStream) { text = streamReader2.ReadLine().Trim(); if (string.IsNullOrEmpty(text)) { continue; } if (!flag) { for (i = 0; i < array.Length; i++) { if (text.IndexOf(array[i]) >= 0) { flag = true; num = 0; break; } } continue; } if (flag) { for (int k = 0; k < array2.Length; k++) { if (text.IndexOf(array2[k]) >= 0) { flag = false; i = -1; break; } } if (!flag) { continue; } } string text2 = array[i]; string text3 = text2; if (!(text3 == "")) { if (text3 == "") { num++; } continue; } array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); if (num == 0) { num5 = 0; } if (array3.Length >= 38) { taskData = new TaskData(); try { num4 = Convert.ToInt32(array3[1]); } catch (Exception) { num4 = TaskData.mNextID_static; } taskData.mID_Task = num4; if (num4 >= TaskData.mNextID_static) { TaskData.mNextID_static = num4; } try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); try { num2 = Convert.ToInt32(array3[26]); } catch (Exception) { num2 = 0; } taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; taskData.mFName_Prepare = array3[27].Trim(); try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[35]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; try { num2 = Convert.ToInt32(array3[36]); } catch (Exception) { num2 = 0; } taskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[37]); } catch (Exception) { num2 = 0; } taskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = num2; taskData.mTGanTas.mListTGanTaData.Clear(); taskDetail = new TaskDetail(); taskDetail.mTaskID_Detail = taskData.mID_Task; taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; num6 = mListDetails.Count; mListDetails.Add(taskDetail); Add1TaskData(num6, taskData); Add1TaskControl(num6, taskData); mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; num5++; } else if (array3.Length >= 36) { taskData = new TaskData(); try { num4 = Convert.ToInt32(array3[1]); } catch (Exception) { num4 = TaskData.mNextID_static; } taskData.mID_Task = num4; if (num4 >= TaskData.mNextID_static) { TaskData.mNextID_static = num4; } try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); try { num2 = Convert.ToInt32(array3[26]); } catch (Exception) { num2 = 0; } taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; taskData.mFName_Prepare = array3[27].Trim(); try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[35]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; taskData.mTGanTas.mListTGanTaData.Clear(); taskDetail = new TaskDetail(); taskDetail.mTaskID_Detail = taskData.mID_Task; taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; num6 = mListDetails.Count; mListDetails.Add(taskDetail); Add1TaskData(num6, taskData); Add1TaskControl(num6, taskData); mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; num5++; } else if (array3.Length >= 35) { taskData = new TaskData(); try { num4 = Convert.ToInt32(array3[1]); } catch (Exception) { num4 = TaskData.mNextID_static; } taskData.mID_Task = num4; if (num4 >= TaskData.mNextID_static) { TaskData.mNextID_static = num4; } try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); taskData.mFName_Prepare = array3[26].Trim(); try { num2 = Convert.ToInt32(array3[27]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; taskData.mTGanTas.mListTGanTaData.Clear(); taskDetail = new TaskDetail(); taskDetail.mTaskID_Detail = taskData.mID_Task; taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; num6 = mListDetails.Count; mListDetails.Add(taskDetail); Add1TaskData(num6, taskData); Add1TaskControl(num6, taskData); mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; num5++; } num++; } streamReader2.Close(); } fileStream2.Close(); } return num5; } public int MySaveTask(string _filename) { int result = 0; if (string.IsNullOrEmpty(_filename)) { MyLog.AddLog("MySaveTask(_fileName) 参数1为空:任务数据文件名。"); return result; } int num = 0; int num2 = -1; string[] array = new string[2] { "", "" }; string[] array2 = new string[2] { "", "" }; using (FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None)) { using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) { for (num2 = 0; num2 < array.Length; num2++) { string text = array[num2]; string text2 = text; if (text2 == "") { num = 0; streamWriter.WriteLine(TaskData.MyHead_ToString()); streamWriter.WriteLine(array[num2]); for (int i = 0; i < mListDetails.Count; i++) { streamWriter.WriteLine(mListDetails[i].mTaskData.MyToString()); num++; } if (num2 < array2.Length) { streamWriter.WriteLine(array2[num2]); } else { streamWriter.WriteLine(array[num2].Replace("<", "", "" }; string[] array2 = new string[2] { "", "" }; string text = ""; string[] separator = new string[3] { "\r", "\n", "," }; string[] array3 = null; int num4 = 0; TaskData taskData = null; bool flag2 = false; int num5 = 0; TaskDetail taskDetail = null; Encoding[] array4 = new Encoding[6] { Encoding.UTF8, Encoding.Default, Encoding.ASCII, Encoding.Unicode, Encoding.UTF7, Encoding.UTF32 }; int num6 = 0; bool flag3 = false; for (int j = 0; j < array4.Length; j++) { try { using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) { text = streamReader.ReadToEnd().Trim(); if (string.IsNullOrEmpty(text) || text.IndexOf("耐雷水平") >= 0 || text.IndexOf("跳闸率") >= 0) { num6 = j; flag3 = true; } streamReader.Close(); } fileStream.Close(); } catch (Exception) { } if (flag3) { break; } } using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) { using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) { while (!streamReader2.EndOfStream) { text = streamReader2.ReadLine().Trim(); if (string.IsNullOrEmpty(text)) { continue; } if (!flag) { for (i = 0; i < array.Length; i++) { if (text.IndexOf(array[i]) >= 0) { flag = true; num = 0; break; } } continue; } if (flag) { for (int k = 0; k < array2.Length; k++) { if (text.IndexOf(array2[k]) >= 0) { flag = false; i = -1; break; } } if (!flag) { continue; } } string text2 = array[i]; string text3 = text2; if (!(text3 == "")) { if (text3 == "") { num++; } continue; } array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); if (num == 0) { num4 = 0; } if (array3.Length >= 38) { taskData = new TaskData(); taskData.mID_string_Task = array3[0].Trim(); try { num2 = Convert.ToInt32(array3[1]); } catch (Exception) { num2 = -1; } taskData.mID_Task = num2; try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); try { num2 = Convert.ToInt32(array3[26]); } catch (Exception) { num2 = 0; } taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; taskData.mFName_Prepare = array3[27].Trim(); try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[35]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; try { num2 = Convert.ToInt32(array3[36]); } catch (Exception) { num2 = 0; } taskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[37]); } catch (Exception) { num2 = 0; } taskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = num2; taskData.mTGanTas.mListTGanTaData.Clear(); flag2 = false; num5 = -1; for (int l = 0; l < mListDetails.Count; l++) { if (mListDetails[l].mTaskID_Detail == taskData.mID_Task) { flag2 = true; num5 = l; break; } } if (flag2) { taskDetail = mListDetails[num5]; taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup == null) { taskDetail.mTaskGroup = new TaskGroup(); } taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup.mListExTaskData == null) { taskDetail.mTaskGroup.mListExTaskData = new List(); taskDetail.mTaskGroup.mListExTaskData.Clear(); } Add1_ExTaskData(num5, taskData); num4++; taskDetail = null; } } else if (array3.Length >= 36) { taskData = new TaskData(); taskData.mID_string_Task = array3[0].Trim(); try { num2 = Convert.ToInt32(array3[1]); } catch (Exception) { num2 = -1; } taskData.mID_Task = num2; try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); try { num2 = Convert.ToInt32(array3[26]); } catch (Exception) { num2 = 0; } taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; taskData.mFName_Prepare = array3[27].Trim(); try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[35]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; taskData.mTGanTas.mListTGanTaData.Clear(); flag2 = false; num5 = -1; for (int m = 0; m < mListDetails.Count; m++) { if (mListDetails[m].mTaskID_Detail == taskData.mID_Task) { flag2 = true; num5 = m; break; } } if (flag2) { taskDetail = mListDetails[num5]; taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup == null) { taskDetail.mTaskGroup = new TaskGroup(); } taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup.mListExTaskData == null) { taskDetail.mTaskGroup.mListExTaskData = new List(); taskDetail.mTaskGroup.mListExTaskData.Clear(); } Add1_ExTaskData(num5, taskData); num4++; taskDetail = null; } } else if (array3.Length >= 35) { taskData = new TaskData(); taskData.mID_string_Task = array3[0].Trim(); try { num2 = Convert.ToInt32(array3[1]); } catch (Exception) { num2 = -1; } taskData.mID_Task = num2; try { num2 = Convert.ToInt32(array3[2]); } catch (Exception) { num2 = -1; } taskData.mID_ExTask = num2; try { num2 = Convert.ToInt32(array3[3]); } catch (Exception) { num2 = -1; } taskData.mTypeCode_Task = num2; taskData.mName_Task = array3[4].Trim(); try { num2 = Convert.ToInt32(array3[5]); } catch (Exception) { num2 = -1; } taskData.mXianLuID_Task = num2; taskData.mXianLuName_Task = array3[6].Trim(); taskData.mXianLuJLZL_Task = array3[7].Trim(); try { num2 = Convert.ToInt32(array3[8]); } catch (Exception) { num2 = -1; } taskData.mDYDJ_Task = num2; taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); taskData.mFanJi_TZL = array3[11].Trim(); taskData.mRaoJi_TZL = array3[12].Trim(); try { num2 = Convert.ToInt32(array3[13]); } catch (Exception) { num2 = -1; } taskData.mIndex_HaiBaXiuZhengGongShi = num2; taskData.mGanYingDianYaGongShi = array3[14].Trim(); try { num2 = Convert.ToInt32(array3[15]); } catch (Exception) { num2 = -1; } taskData.mIndex_CurrentCurve = num2; try { num3 = Convert.ToDouble(array3[16].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead = num3; try { num3 = Convert.ToDouble(array3[17].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_min = num3; try { num3 = Convert.ToDouble(array3[18].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_max = num3; try { num3 = Convert.ToDouble(array3[19].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeHead_step = num3; try { num3 = Convert.ToDouble(array3[20].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail = num3; try { num3 = Convert.ToDouble(array3[21].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_min = num3; try { num3 = Convert.ToDouble(array3[22].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_max = num3; try { num3 = Convert.ToDouble(array3[23].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mCurveTimeTail_step = num3; try { num3 = Convert.ToDouble(array3[24].Trim()); } catch (Exception) { num3 = -1.0; } taskData.mTongDaoZuKang = num3; taskData.mShanLuoPanJu = array3[25].Trim(); taskData.mFName_Prepare = array3[26].Trim(); try { num2 = Convert.ToInt32(array3[27]); } catch (Exception) { num2 = 0; } taskData.mPrepare11_LightingCurrent = num2; try { num2 = Convert.ToInt32(array3[28]); } catch (Exception) { num2 = 0; } taskData.mPrepare12_DiShanMiDu = num2; try { num2 = Convert.ToInt32(array3[29]); } catch (Exception) { num2 = 0; } taskData.mPrepare13_DiMianQingJiao = num2; try { num2 = Convert.ToInt32(array3[30]); } catch (Exception) { num2 = 0; } taskData.Finished1_PuTongJiSuan = num2; try { num2 = Convert.ToInt32(array3[31]); } catch (Exception) { num2 = 0; } taskData.Finished2_FengXianPingGu = num2; try { num2 = Convert.ToInt32(array3[32]); } catch (Exception) { num2 = 0; } taskData.Finished3_CuoShiTuiJian = num2; try { num2 = Convert.ToInt32(array3[33]); } catch (Exception) { num2 = 0; } taskData.Finished4_GaiZaoJiSuan = num2; try { num2 = Convert.ToInt32(array3[34]); } catch (Exception) { num2 = 0; } taskData.Complete = num2; taskData.mTGanTas.mListTGanTaData.Clear(); flag2 = false; num5 = -1; for (int n = 0; n < mListDetails.Count; n++) { if (mListDetails[n].mTaskID_Detail == taskData.mID_Task) { flag2 = true; num5 = n; break; } } if (flag2) { taskDetail = mListDetails[num5]; taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup == null) { taskDetail.mTaskGroup = new TaskGroup(); } taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; if (taskDetail.mTaskGroup.mListExTaskData == null) { taskDetail.mTaskGroup.mListExTaskData = new List(); taskDetail.mTaskGroup.mListExTaskData.Clear(); } Add1_ExTaskData(num5, taskData); num4++; taskDetail = null; } } num++; } streamReader2.Close(); } fileStream2.Close(); } return num4; } public int MySaveExTask(string _filename) { int result = 0; if (string.IsNullOrEmpty(_filename)) { MyLog.AddLog("MySaveExTask(_fileName) 参数1为空:任务数据文件名。"); return result; } int num = 0; int num2 = -1; string[] array = new string[2] { "", "" }; string[] array2 = new string[2] { "", "" }; using (FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None)) { using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) { for (num2 = 0; num2 < array.Length; num2++) { string text = array[num2]; string text2 = text; if (!(text2 == "")) { continue; } num = 0; streamWriter.WriteLine(TaskData.MyHead_ToString()); streamWriter.WriteLine(array[num2]); for (int i = 0; i < mListDetails.Count; i++) { for (int j = 0; j < mListDetails[i].mTaskGroup.mListExTaskData.Count; j++) { streamWriter.WriteLine(mListDetails[i].mTaskGroup.mListExTaskData[j].MyToString()); num++; } } if (num2 < array2.Length) { streamWriter.WriteLine(array2[num2]); } else { streamWriter.WriteLine(array[num2].Replace("<", "", "" }; string[] array2 = new string[2] { "", "" }; string text2 = ""; string[] separator = new string[3] { "\r", "\n", "," }; string[] array3 = null; TGanTaData tGanTaData = null; int result2 = 0; int num4 = 0; string text3 = ""; Dictionary dictionary = new Dictionary(); dictionary.Clear(); bool flag2 = false; bool flag3 = false; int num5 = 0; TaskDetail taskDetail = null; Encoding[] array4 = new Encoding[6] { Encoding.UTF8, Encoding.Default, Encoding.ASCII, Encoding.Unicode, Encoding.UTF7, Encoding.UTF32 }; int num6 = 0; bool flag4 = false; for (int j = 0; j < array4.Length; j++) { try { using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) { text2 = streamReader.ReadToEnd().Trim(); if (string.IsNullOrEmpty(text2) || text2.IndexOf("塔号") >= 0 || text2.IndexOf("耐雷水平") >= 0 || text2.IndexOf("跳闸率") >= 0) { num6 = j; flag4 = true; } streamReader.Close(); } fileStream.Close(); } catch (Exception) { } if (flag4) { break; } } try { using FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) { while (!streamReader2.EndOfStream) { text2 = streamReader2.ReadLine().Trim(); if (string.IsNullOrEmpty(text2)) { continue; } if (!flag) { for (i = 0; i < array.Length; i++) { if (text2.IndexOf(array[i]) >= 0) { flag = true; num = 0; break; } } continue; } if (flag) { for (int k = 0; k < array2.Length; k++) { if (text2.IndexOf(array2[k]) >= 0) { flag = false; i = -1; break; } } if (!flag) { continue; } } string text4 = array[i]; string text5 = text4; if (!(text5 == "")) { if (text5 == "") { num++; } continue; } array3 = text2.Split(separator, StringSplitOptions.None); if (num == 0) { result2 = 0; } if (num == 0 && text2.IndexOf("杆塔模型") >= 0) { for (int l = 0; l < array3.Length; l++) { dictionary.Add(array3[l], l); } num++; result2 = 0; flag2 = true; continue; } if (array3.Length >= 94) { tGanTaData = new TGanTaData(); if (flag2) { for (int m = 0; m < array3.Length; m++) { text3 = dictionary.ElementAt(m).Key; num4 = dictionary.ElementAt(m).Value; if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (text3) { case "任务编号": tGanTaData.mTaskIDstring = text; break; case "任务塔号": tGanTaData.mID_TGanTa = num2; break; case "线路编号": tGanTaData.mXianLuID = num2; break; case "序号": tGanTaData.mIndex__GanTa = num2; break; case "线路名称": tGanTaData.mXianLuName = text; break; case "电压等级": tGanTaData.mDYDJ_GanTa = num2; break; case "塔号": tGanTaData.mID_GanTa = text; break; case "参数分级编码": tGanTaData.m_ID_CanShuFenJi = num2; break; case "杆塔模型": tGanTaData.mModel_GanTa = text; break; case "塔形": tGanTaData.mTaXing_GanTa = text; break; case "经度": tGanTaData.mJingDu_GanTa = num3; break; case "纬度": tGanTaData.mWeiDu_GanTa = num3; break; case "I回相序": tGanTaData.mXiangXu1_GanTa = text; break; case "II回相序": tGanTaData.mXiangXu2_GanTa = text; break; case "III回相序": tGanTaData.mXiangXu3_GanTa = text; break; case "IV回相序": tGanTaData.mXiangXu4_GanTa = text; break; case "A相是否安装避雷器": tGanTaData.mBLQ_A_GanTa = text; break; case "B相是否安装避雷器": tGanTaData.mBLQ_B_GanTa = text; break; case "C相是否安装避雷器": tGanTaData.mBLQ_C_GanTa = text; break; case "接地电阻": tGanTaData.mJDDZ_GanTa = num3; break; case "左避雷中距m": tGanTaData.mBLZJ_L_GanTa = num3; break; case "右避雷中距m": tGanTaData.mBLZJ_R_GanTa = num3; break; case "避雷线高度m": tGanTaData.mBLXGD_GanTa = num3; break; case "绝缘子串长度mm": tGanTaData.mJYZCD_GanTa = num3; break; case "杆塔呼高m": tGanTaData.mHuGao_GanTa = num3; break; case "I回上相中距m": tGanTaData.m1ZJ_Shang_GanTa = num3; break; case "I回中相中距m": tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case "I回下相中距m": tGanTaData.m1ZJ_Xia_GanTa = num3; break; case "I回上相高度m": tGanTaData.m1GD_Shang_GanTa = num3; break; case "I回中相高度m": tGanTaData.m1GD_Zhong_GanTa = num3; break; case "I回下相高度m": tGanTaData.m1GD_Xia_GanTa = num3; break; case "II回上相中距m": tGanTaData.m2ZJ_Shang_GanTa = num3; break; case "II回中相中距m": tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case "II回下相中距m": tGanTaData.m2ZJ_Xia_GanTa = num3; break; case "II回上相高度m": tGanTaData.m2GD_Shang_GanTa = num3; break; case "II回中相高度m": tGanTaData.m2GD_Zhong_GanTa = num3; break; case "II回下相高度m": tGanTaData.m2GD_Xia_GanTa = num3; break; case "III回上相中距m": tGanTaData.m3ZJ_Shang_GanTa = num3; break; case "III回中相中距m": tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case "III回下相中距m": tGanTaData.m3ZJ_Xia_GanTa = num3; break; case "III回上相高度m": tGanTaData.m3GD_Shang_GanTa = num3; break; case "III回中相高度m": tGanTaData.m3GD_Zhong_GanTa = num3; break; case "III回下相高度m": tGanTaData.m3GD_Xia_GanTa = num3; break; case "IV回上相中距m": tGanTaData.m4ZJ_Shang_GanTa = num3; break; case "IV回中相中距m": tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case "IV回下相中距m": tGanTaData.m4ZJ_Xia_GanTa = num3; break; case "IV回上相高度m": tGanTaData.m4GD_Shang_GanTa = num3; break; case "IV回中相高度m": tGanTaData.m4GD_Zhong_GanTa = num3; break; case "IV回下相高度m": tGanTaData.m4GD_Xia_GanTa = num3; break; case "小号侧档距": tGanTaData.mXiaoHao_GanTa = num3; break; case "大号侧档距": tGanTaData.mDaHao_GanTa = num3; break; case "电角度": tGanTaData.mAngle_GanTa = num3; break; case "雷电流幅值a": tGanTaData.mCurrent_a_GanTa = num3; break; case "雷电流幅值b": tGanTaData.mCurrent_b_GanTa = num3; break; case "地面倾角1": tGanTaData.mDMQJ1_GanTa = num3; break; case "地面倾角2": tGanTaData.mDMQJ2_GanTa = num3; break; case "海拔m": tGanTaData.mHaiBa_GanTa = num3; break; case "地形": tGanTaData.mDiXing_GanTa = text; break; case "地闪密度": tGanTaData.mDSMD_GanTa = num3; break; case "直线或耐张杆塔": tGanTaData.mZXNZ_GanTa = text; break; case "雷电流波形种类": tGanTaData.mCurrentType_GanTa = num2; break; case "波头时间/μs": tGanTaData.mCurrentHeadTime_GanTa = num3; break; case "波尾时间/μs": tGanTaData.mCurrentTailTime_GanTa = num3; break; case "绕击反击": tGanTaData.mRaoJiFanJi_GanTa = num2; break; case "反击耐雷水平kA": tGanTaData.mFJ_NLSP_GanTa = num3; break; case "反击跳闸率(次/100km.a)": tGanTaData.mFJ_TZL_GanTa = num3; break; case "绕击耐雷水平kA": tGanTaData.mRJ_NLSP_GanTa = num3; break; case "绕击跳闸率(次/100km.a)": tGanTaData.mRJ_TZL_GanTa = num3; break; case "雷击风险等级": tGanTaData.mFXDJ_GanTa = num2; break; case "A相绕击耐雷水平kA": tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case "B相绕击耐雷水平kA": tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case "C相绕击耐雷水平kA": tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case "单相反击耐雷水平kA": tGanTaData.mM1_NLSP_GanTa = num3; break; case "单相闪络相": tGanTaData.mM1_Xiang_GanTa = text; break; case "单相反击跳闸率(次/100km.a)": tGanTaData.mM1_TZL_GanTa = num3; break; case "双相反击耐雷水平kA": tGanTaData.mM2_NLSP_GanTa = num3; break; case "双相闪络相": tGanTaData.mM2_Xiang_GanTa = text; break; case "双相反击跳闸率(次/100km.a)": tGanTaData.mM2_TZL_GanTa = num3; break; case "三相反击耐雷水平kA": tGanTaData.mM3_NLSP_GanTa = num3; break; case "三相闪络相": tGanTaData.mM3_Xiang_GanTa = text; break; case "三相反击跳闸率(次/100km.a)": tGanTaData.mM3_TZL_GanTa = num3; break; case "四相反击耐雷水平kA": tGanTaData.mM4_NLSP_GanTa = num3; break; case "四相闪络相": tGanTaData.mM4_Xiang_GanTa = text; break; case "四相反击跳闸率(次/100km.a)": tGanTaData.mM4_TZL_GanTa = num3; break; case "五相反击耐雷水平kA": tGanTaData.mM5_NLSP_GanTa = num3; break; case "五相闪络相": tGanTaData.mM5_Xiang_GanTa = text; break; case "五相反击跳闸率(次/100km.a)": tGanTaData.mM5_TZL_GanTa = num3; break; case "六相反击耐雷水平kA": tGanTaData.mM6_NLSP_GanTa = num3; break; case "六相闪络相": tGanTaData.mM6_Xiang_GanTa = text; break; case "六相反击跳闸率(次/100km.a)": tGanTaData.mM6_TZL_GanTa = num3; break; case "原因分析": tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "措施推荐": tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "保护角": tGanTaData.m_BaoHuJiao = num3; break; case "普通计算结果": tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } else if (!flag2) { for (num4 = 0; num4 < array3.Length; num4++) { if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (num4) { case 0: tGanTaData.mTaskIDstring = text; break; case 1: tGanTaData.mID_TGanTa = num2; break; case 2: tGanTaData.mXianLuID = num2; break; case 3: tGanTaData.mIndex__GanTa = num2; break; case 4: tGanTaData.mXianLuName = text; break; case 5: tGanTaData.mDYDJ_GanTa = num2; break; case 6: tGanTaData.mID_GanTa = text; break; case 7: tGanTaData.m_ID_CanShuFenJi = num2; break; case 8: tGanTaData.mModel_GanTa = text; break; case 9: tGanTaData.mTaXing_GanTa = text; break; case 10: tGanTaData.mJingDu_GanTa = num3; break; case 11: tGanTaData.mWeiDu_GanTa = num3; break; case 12: tGanTaData.mXiangXu1_GanTa = text; break; case 13: tGanTaData.mXiangXu2_GanTa = text; break; case 14: tGanTaData.mXiangXu3_GanTa = text; break; case 15: tGanTaData.mXiangXu4_GanTa = text; break; case 16: tGanTaData.mBLQ_A_GanTa = text; break; case 17: tGanTaData.mBLQ_B_GanTa = text; break; case 18: tGanTaData.mBLQ_C_GanTa = text; break; case 19: tGanTaData.mJDDZ_GanTa = num3; break; case 20: tGanTaData.mBLZJ_L_GanTa = num3; break; case 21: tGanTaData.mBLZJ_R_GanTa = num3; break; case 22: tGanTaData.mBLXGD_GanTa = num3; break; case 23: tGanTaData.mJYZCD_GanTa = num3; break; case 24: tGanTaData.mHuGao_GanTa = num3; break; case 25: tGanTaData.m1ZJ_Shang_GanTa = num3; break; case 26: tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case 27: tGanTaData.m1ZJ_Xia_GanTa = num3; break; case 28: tGanTaData.m1GD_Shang_GanTa = num3; break; case 29: tGanTaData.m1GD_Zhong_GanTa = num3; break; case 30: tGanTaData.m1GD_Xia_GanTa = num3; break; case 31: tGanTaData.m2ZJ_Shang_GanTa = num3; break; case 32: tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case 33: tGanTaData.m2ZJ_Xia_GanTa = num3; break; case 34: tGanTaData.m2GD_Shang_GanTa = num3; break; case 35: tGanTaData.m2GD_Zhong_GanTa = num3; break; case 36: tGanTaData.m2GD_Xia_GanTa = num3; break; case 37: tGanTaData.m3ZJ_Shang_GanTa = num3; break; case 38: tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case 39: tGanTaData.m3ZJ_Xia_GanTa = num3; break; case 40: tGanTaData.m3GD_Shang_GanTa = num3; break; case 41: tGanTaData.m3GD_Zhong_GanTa = num3; break; case 42: tGanTaData.m3GD_Xia_GanTa = num3; break; case 43: tGanTaData.m4ZJ_Shang_GanTa = num3; break; case 44: tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case 45: tGanTaData.m4ZJ_Xia_GanTa = num3; break; case 46: tGanTaData.m4GD_Shang_GanTa = num3; break; case 47: tGanTaData.m4GD_Zhong_GanTa = num3; break; case 48: tGanTaData.m4GD_Xia_GanTa = num3; break; case 49: tGanTaData.mXiaoHao_GanTa = num3; break; case 50: tGanTaData.mDaHao_GanTa = num3; break; case 51: tGanTaData.mAngle_GanTa = num3; break; case 52: tGanTaData.mCurrent_a_GanTa = num3; break; case 53: tGanTaData.mCurrent_b_GanTa = num3; break; case 54: tGanTaData.mDMQJ1_GanTa = num3; break; case 55: tGanTaData.mDMQJ2_GanTa = num3; break; case 56: tGanTaData.mHaiBa_GanTa = num3; break; case 57: tGanTaData.mDiXing_GanTa = text; break; case 58: tGanTaData.mDSMD_GanTa = num3; break; case 59: tGanTaData.mZXNZ_GanTa = text; break; case 60: tGanTaData.mCurrentType_GanTa = num2; break; case 61: tGanTaData.mCurrentHeadTime_GanTa = num3; break; case 62: tGanTaData.mCurrentTailTime_GanTa = num3; break; case 63: tGanTaData.mRaoJiFanJi_GanTa = num2; break; case 64: tGanTaData.mFJ_NLSP_GanTa = num3; break; case 65: tGanTaData.mFJ_TZL_GanTa = num3; break; case 66: tGanTaData.mRJ_NLSP_GanTa = num3; break; case 67: tGanTaData.mRJ_TZL_GanTa = num3; break; case 68: tGanTaData.mFXDJ_GanTa = num2; break; case 69: tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case 70: tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case 71: tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case 72: tGanTaData.mM1_NLSP_GanTa = num3; break; case 73: tGanTaData.mM1_Xiang_GanTa = text; break; case 74: tGanTaData.mM1_TZL_GanTa = num3; break; case 75: tGanTaData.mM2_NLSP_GanTa = num3; break; case 76: tGanTaData.mM2_Xiang_GanTa = text; break; case 77: tGanTaData.mM2_TZL_GanTa = num3; break; case 78: tGanTaData.mM3_NLSP_GanTa = num3; break; case 79: tGanTaData.mM3_Xiang_GanTa = text; break; case 80: tGanTaData.mM3_TZL_GanTa = num3; break; case 81: tGanTaData.mM4_NLSP_GanTa = num3; break; case 82: tGanTaData.mM4_Xiang_GanTa = text; break; case 83: tGanTaData.mM4_TZL_GanTa = num3; break; case 84: tGanTaData.mM5_NLSP_GanTa = num3; break; case 85: tGanTaData.mM5_Xiang_GanTa = text; break; case 86: tGanTaData.mM5_TZL_GanTa = num3; break; case 87: tGanTaData.mM6_NLSP_GanTa = num3; break; case 88: tGanTaData.mM6_Xiang_GanTa = text; break; case 89: tGanTaData.mM6_TZL_GanTa = num3; break; case 90: tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 91: tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 92: tGanTaData.m_BaoHuJiao = num3; break; case 93: tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } flag3 = false; num5 = -1; for (int n = 0; n < mListDetails.Count; n++) { taskDetail = mListDetails[n]; if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) { continue; } for (int num7 = 0; num7 < taskDetail.mTaskGroup.mListExTaskData.Count; num7++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num7].mID_string_Task)) { num5 = n; flag3 = true; break; } } if (flag3) { break; } } if (!flag3) { num++; continue; } taskDetail = mListDetails[num5]; tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; for (int num8 = 0; num8 < taskDetail.mTaskGroup.mListExTaskData.Count; num8++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num8].mID_string_Task)) { if (taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas == null) { taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas = new TGanTas(); } if (taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData == null) { taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData = new List(); taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Clear(); } tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Count; taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Add(tGanTaData); result2++; } } } else if (array3.Length >= 93) { tGanTaData = new TGanTaData(); tGanTaData.m_ID_CanShuFenJi = 0; if (flag2) { for (int num9 = 0; num9 < array3.Length; num9++) { text3 = dictionary.ElementAt(num9).Key; num4 = dictionary.ElementAt(num9).Value; if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (text3) { case "任务编号": tGanTaData.mTaskIDstring = text; break; case "任务塔号": tGanTaData.mID_TGanTa = num2; break; case "线路编号": tGanTaData.mXianLuID = num2; break; case "序号": tGanTaData.mIndex__GanTa = num2; break; case "线路名称": tGanTaData.mXianLuName = text; break; case "电压等级": tGanTaData.mDYDJ_GanTa = num2; break; case "塔号": tGanTaData.mID_GanTa = text; break; case "杆塔模型": tGanTaData.mModel_GanTa = text; break; case "塔形": tGanTaData.mTaXing_GanTa = text; break; case "经度": tGanTaData.mJingDu_GanTa = num3; break; case "纬度": tGanTaData.mWeiDu_GanTa = num3; break; case "I回相序": tGanTaData.mXiangXu1_GanTa = text; break; case "II回相序": tGanTaData.mXiangXu2_GanTa = text; break; case "III回相序": tGanTaData.mXiangXu3_GanTa = text; break; case "IV回相序": tGanTaData.mXiangXu4_GanTa = text; break; case "A相是否安装避雷器": tGanTaData.mBLQ_A_GanTa = text; break; case "B相是否安装避雷器": tGanTaData.mBLQ_B_GanTa = text; break; case "C相是否安装避雷器": tGanTaData.mBLQ_C_GanTa = text; break; case "接地电阻": tGanTaData.mJDDZ_GanTa = num3; break; case "左避雷中距m": tGanTaData.mBLZJ_L_GanTa = num3; break; case "右避雷中距m": tGanTaData.mBLZJ_R_GanTa = num3; break; case "避雷线高度m": tGanTaData.mBLXGD_GanTa = num3; break; case "绝缘子串长度mm": tGanTaData.mJYZCD_GanTa = num3; break; case "杆塔呼高m": tGanTaData.mHuGao_GanTa = num3; break; case "I回上相中距m": tGanTaData.m1ZJ_Shang_GanTa = num3; break; case "I回中相中距m": tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case "I回下相中距m": tGanTaData.m1ZJ_Xia_GanTa = num3; break; case "I回上相高度m": tGanTaData.m1GD_Shang_GanTa = num3; break; case "I回中相高度m": tGanTaData.m1GD_Zhong_GanTa = num3; break; case "I回下相高度m": tGanTaData.m1GD_Xia_GanTa = num3; break; case "II回上相中距m": tGanTaData.m2ZJ_Shang_GanTa = num3; break; case "II回中相中距m": tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case "II回下相中距m": tGanTaData.m2ZJ_Xia_GanTa = num3; break; case "II回上相高度m": tGanTaData.m2GD_Shang_GanTa = num3; break; case "II回中相高度m": tGanTaData.m2GD_Zhong_GanTa = num3; break; case "II回下相高度m": tGanTaData.m2GD_Xia_GanTa = num3; break; case "III回上相中距m": tGanTaData.m3ZJ_Shang_GanTa = num3; break; case "III回中相中距m": tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case "III回下相中距m": tGanTaData.m3ZJ_Xia_GanTa = num3; break; case "III回上相高度m": tGanTaData.m3GD_Shang_GanTa = num3; break; case "III回中相高度m": tGanTaData.m3GD_Zhong_GanTa = num3; break; case "III回下相高度m": tGanTaData.m3GD_Xia_GanTa = num3; break; case "IV回上相中距m": tGanTaData.m4ZJ_Shang_GanTa = num3; break; case "IV回中相中距m": tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case "IV回下相中距m": tGanTaData.m4ZJ_Xia_GanTa = num3; break; case "IV回上相高度m": tGanTaData.m4GD_Shang_GanTa = num3; break; case "IV回中相高度m": tGanTaData.m4GD_Zhong_GanTa = num3; break; case "IV回下相高度m": tGanTaData.m4GD_Xia_GanTa = num3; break; case "小号侧档距": tGanTaData.mXiaoHao_GanTa = num3; break; case "大号侧档距": tGanTaData.mDaHao_GanTa = num3; break; case "电角度": tGanTaData.mAngle_GanTa = num3; break; case "雷电流幅值a": tGanTaData.mCurrent_a_GanTa = num3; break; case "雷电流幅值b": tGanTaData.mCurrent_b_GanTa = num3; break; case "地面倾角1": tGanTaData.mDMQJ1_GanTa = num3; break; case "地面倾角2": tGanTaData.mDMQJ2_GanTa = num3; break; case "海拔m": tGanTaData.mHaiBa_GanTa = num3; break; case "地形": tGanTaData.mDiXing_GanTa = text; break; case "地闪密度": tGanTaData.mDSMD_GanTa = num3; break; case "直线或耐张杆塔": tGanTaData.mZXNZ_GanTa = text; break; case "雷电流波形种类": tGanTaData.mCurrentType_GanTa = num2; break; case "波头时间/μs": tGanTaData.mCurrentHeadTime_GanTa = num3; break; case "波尾时间/μs": tGanTaData.mCurrentTailTime_GanTa = num3; break; case "绕击反击": tGanTaData.mRaoJiFanJi_GanTa = num2; break; case "反击耐雷水平kA": tGanTaData.mFJ_NLSP_GanTa = num3; break; case "反击跳闸率(次/100km.a)": tGanTaData.mFJ_TZL_GanTa = num3; break; case "绕击耐雷水平kA": tGanTaData.mRJ_NLSP_GanTa = num3; break; case "绕击跳闸率(次/100km.a)": tGanTaData.mRJ_TZL_GanTa = num3; break; case "雷击风险等级": tGanTaData.mFXDJ_GanTa = num2; break; case "A相绕击耐雷水平kA": tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case "B相绕击耐雷水平kA": tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case "C相绕击耐雷水平kA": tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case "单相反击耐雷水平kA": tGanTaData.mM1_NLSP_GanTa = num3; break; case "单相闪络相": tGanTaData.mM1_Xiang_GanTa = text; break; case "单相反击跳闸率(次/100km.a)": tGanTaData.mM1_TZL_GanTa = num3; break; case "双相反击耐雷水平kA": tGanTaData.mM2_NLSP_GanTa = num3; break; case "双相闪络相": tGanTaData.mM2_Xiang_GanTa = text; break; case "双相反击跳闸率(次/100km.a)": tGanTaData.mM2_TZL_GanTa = num3; break; case "三相反击耐雷水平kA": tGanTaData.mM3_NLSP_GanTa = num3; break; case "三相闪络相": tGanTaData.mM3_Xiang_GanTa = text; break; case "三相反击跳闸率(次/100km.a)": tGanTaData.mM3_TZL_GanTa = num3; break; case "四相反击耐雷水平kA": tGanTaData.mM4_NLSP_GanTa = num3; break; case "四相闪络相": tGanTaData.mM4_Xiang_GanTa = text; break; case "四相反击跳闸率(次/100km.a)": tGanTaData.mM4_TZL_GanTa = num3; break; case "五相反击耐雷水平kA": tGanTaData.mM5_NLSP_GanTa = num3; break; case "五相闪络相": tGanTaData.mM5_Xiang_GanTa = text; break; case "五相反击跳闸率(次/100km.a)": tGanTaData.mM5_TZL_GanTa = num3; break; case "六相反击耐雷水平kA": tGanTaData.mM6_NLSP_GanTa = num3; break; case "六相闪络相": tGanTaData.mM6_Xiang_GanTa = text; break; case "六相反击跳闸率(次/100km.a)": tGanTaData.mM6_TZL_GanTa = num3; break; case "原因分析": tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "措施推荐": tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "保护角": tGanTaData.m_BaoHuJiao = num3; break; case "普通计算结果": tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } else if (!flag2) { for (num4 = 0; num4 < array3.Length; num4++) { if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (num4) { case 0: tGanTaData.mTaskIDstring = text; break; case 1: tGanTaData.mID_TGanTa = num2; break; case 2: tGanTaData.mXianLuID = num2; break; case 3: tGanTaData.mIndex__GanTa = num2; break; case 4: tGanTaData.mXianLuName = text; break; case 5: tGanTaData.mDYDJ_GanTa = num2; break; case 6: tGanTaData.mID_GanTa = text; break; case 7: tGanTaData.mModel_GanTa = text; break; case 8: tGanTaData.mTaXing_GanTa = text; break; case 9: tGanTaData.mJingDu_GanTa = num3; break; case 10: tGanTaData.mWeiDu_GanTa = num3; break; case 11: tGanTaData.mXiangXu1_GanTa = text; break; case 12: tGanTaData.mXiangXu2_GanTa = text; break; case 13: tGanTaData.mXiangXu3_GanTa = text; break; case 14: tGanTaData.mXiangXu4_GanTa = text; break; case 15: tGanTaData.mBLQ_A_GanTa = text; break; case 16: tGanTaData.mBLQ_B_GanTa = text; break; case 17: tGanTaData.mBLQ_C_GanTa = text; break; case 18: tGanTaData.mJDDZ_GanTa = num3; break; case 19: tGanTaData.mBLZJ_L_GanTa = num3; break; case 20: tGanTaData.mBLZJ_R_GanTa = num3; break; case 21: tGanTaData.mBLXGD_GanTa = num3; break; case 22: tGanTaData.mJYZCD_GanTa = num3; break; case 23: tGanTaData.mHuGao_GanTa = num3; break; case 24: tGanTaData.m1ZJ_Shang_GanTa = num3; break; case 25: tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case 26: tGanTaData.m1ZJ_Xia_GanTa = num3; break; case 27: tGanTaData.m1GD_Shang_GanTa = num3; break; case 28: tGanTaData.m1GD_Zhong_GanTa = num3; break; case 29: tGanTaData.m1GD_Xia_GanTa = num3; break; case 30: tGanTaData.m2ZJ_Shang_GanTa = num3; break; case 31: tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case 32: tGanTaData.m2ZJ_Xia_GanTa = num3; break; case 33: tGanTaData.m2GD_Shang_GanTa = num3; break; case 34: tGanTaData.m2GD_Zhong_GanTa = num3; break; case 35: tGanTaData.m2GD_Xia_GanTa = num3; break; case 36: tGanTaData.m3ZJ_Shang_GanTa = num3; break; case 37: tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case 38: tGanTaData.m3ZJ_Xia_GanTa = num3; break; case 39: tGanTaData.m3GD_Shang_GanTa = num3; break; case 40: tGanTaData.m3GD_Zhong_GanTa = num3; break; case 41: tGanTaData.m3GD_Xia_GanTa = num3; break; case 42: tGanTaData.m4ZJ_Shang_GanTa = num3; break; case 43: tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case 44: tGanTaData.m4ZJ_Xia_GanTa = num3; break; case 45: tGanTaData.m4GD_Shang_GanTa = num3; break; case 46: tGanTaData.m4GD_Zhong_GanTa = num3; break; case 47: tGanTaData.m4GD_Xia_GanTa = num3; break; case 48: tGanTaData.mXiaoHao_GanTa = num3; break; case 49: tGanTaData.mDaHao_GanTa = num3; break; case 50: tGanTaData.mAngle_GanTa = num3; break; case 51: tGanTaData.mCurrent_a_GanTa = num3; break; case 52: tGanTaData.mCurrent_b_GanTa = num3; break; case 53: tGanTaData.mDMQJ1_GanTa = num3; break; case 54: tGanTaData.mDMQJ2_GanTa = num3; break; case 55: tGanTaData.mHaiBa_GanTa = num3; break; case 56: tGanTaData.mDiXing_GanTa = text; break; case 57: tGanTaData.mDSMD_GanTa = num3; break; case 58: tGanTaData.mZXNZ_GanTa = text; break; case 59: tGanTaData.mCurrentType_GanTa = num2; break; case 60: tGanTaData.mCurrentHeadTime_GanTa = num3; break; case 61: tGanTaData.mCurrentTailTime_GanTa = num3; break; case 62: tGanTaData.mRaoJiFanJi_GanTa = num2; break; case 63: tGanTaData.mFJ_NLSP_GanTa = num3; break; case 64: tGanTaData.mFJ_TZL_GanTa = num3; break; case 65: tGanTaData.mRJ_NLSP_GanTa = num3; break; case 66: tGanTaData.mRJ_TZL_GanTa = num3; break; case 67: tGanTaData.mFXDJ_GanTa = num2; break; case 68: tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case 69: tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case 70: tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case 71: tGanTaData.mM1_NLSP_GanTa = num3; break; case 72: tGanTaData.mM1_Xiang_GanTa = text; break; case 73: tGanTaData.mM1_TZL_GanTa = num3; break; case 74: tGanTaData.mM2_NLSP_GanTa = num3; break; case 75: tGanTaData.mM2_Xiang_GanTa = text; break; case 76: tGanTaData.mM2_TZL_GanTa = num3; break; case 77: tGanTaData.mM3_NLSP_GanTa = num3; break; case 78: tGanTaData.mM3_Xiang_GanTa = text; break; case 79: tGanTaData.mM3_TZL_GanTa = num3; break; case 80: tGanTaData.mM4_NLSP_GanTa = num3; break; case 81: tGanTaData.mM4_Xiang_GanTa = text; break; case 82: tGanTaData.mM4_TZL_GanTa = num3; break; case 83: tGanTaData.mM5_NLSP_GanTa = num3; break; case 84: tGanTaData.mM5_Xiang_GanTa = text; break; case 85: tGanTaData.mM5_TZL_GanTa = num3; break; case 86: tGanTaData.mM6_NLSP_GanTa = num3; break; case 87: tGanTaData.mM6_Xiang_GanTa = text; break; case 88: tGanTaData.mM6_TZL_GanTa = num3; break; case 89: tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 90: tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 91: tGanTaData.m_BaoHuJiao = num3; break; case 92: tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } flag3 = false; num5 = -1; for (int num10 = 0; num10 < mListDetails.Count; num10++) { taskDetail = mListDetails[num10]; if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) { continue; } for (int num11 = 0; num11 < taskDetail.mTaskGroup.mListExTaskData.Count; num11++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num11].mID_string_Task)) { num5 = num10; flag3 = true; break; } } if (flag3) { break; } } if (!flag3) { num++; continue; } taskDetail = mListDetails[num5]; tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; for (int num12 = 0; num12 < taskDetail.mTaskGroup.mListExTaskData.Count; num12++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num12].mID_string_Task)) { if (taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas == null) { taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas = new TGanTas(); } if (taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData == null) { taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData = new List(); taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Clear(); } tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Count; taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Add(tGanTaData); result2++; } } } else if (array3.Length >= 92) { tGanTaData = new TGanTaData(); tGanTaData.m_ID_CanShuFenJi = 0; if (flag2) { for (int num13 = 0; num13 < array3.Length; num13++) { text3 = dictionary.ElementAt(num13).Key; num4 = dictionary.ElementAt(num13).Value; if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (text3) { case "任务编号": tGanTaData.mTaskIDstring = text; break; case "任务塔号": tGanTaData.mID_TGanTa = num2; break; case "线路编号": tGanTaData.mXianLuID = num2; break; case "序号": tGanTaData.mIndex__GanTa = num2; break; case "线路名称": tGanTaData.mXianLuName = text; break; case "电压等级": tGanTaData.mDYDJ_GanTa = num2; break; case "塔号": tGanTaData.mID_GanTa = text; break; case "杆塔模型": tGanTaData.mModel_GanTa = text; break; case "塔形": tGanTaData.mTaXing_GanTa = text; break; case "经度": tGanTaData.mJingDu_GanTa = num3; break; case "纬度": tGanTaData.mWeiDu_GanTa = num3; break; case "I回相序": tGanTaData.mXiangXu1_GanTa = text; break; case "II回相序": tGanTaData.mXiangXu2_GanTa = text; break; case "III回相序": tGanTaData.mXiangXu3_GanTa = text; break; case "IV回相序": tGanTaData.mXiangXu4_GanTa = text; break; case "A相是否安装避雷器": tGanTaData.mBLQ_A_GanTa = text; break; case "B相是否安装避雷器": tGanTaData.mBLQ_B_GanTa = text; break; case "C相是否安装避雷器": tGanTaData.mBLQ_C_GanTa = text; break; case "接地电阻": tGanTaData.mJDDZ_GanTa = num3; break; case "左避雷中距m": tGanTaData.mBLZJ_L_GanTa = num3; break; case "右避雷中距m": tGanTaData.mBLZJ_R_GanTa = num3; break; case "避雷线高度m": tGanTaData.mBLXGD_GanTa = num3; break; case "绝缘子串长度mm": tGanTaData.mJYZCD_GanTa = num3; break; case "杆塔呼高m": tGanTaData.mHuGao_GanTa = num3; break; case "I回上相中距m": tGanTaData.m1ZJ_Shang_GanTa = num3; break; case "I回中相中距m": tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case "I回下相中距m": tGanTaData.m1ZJ_Xia_GanTa = num3; break; case "I回上相高度m": tGanTaData.m1GD_Shang_GanTa = num3; break; case "I回中相高度m": tGanTaData.m1GD_Zhong_GanTa = num3; break; case "I回下相高度m": tGanTaData.m1GD_Xia_GanTa = num3; break; case "II回上相中距m": tGanTaData.m2ZJ_Shang_GanTa = num3; break; case "II回中相中距m": tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case "II回下相中距m": tGanTaData.m2ZJ_Xia_GanTa = num3; break; case "II回上相高度m": tGanTaData.m2GD_Shang_GanTa = num3; break; case "II回中相高度m": tGanTaData.m2GD_Zhong_GanTa = num3; break; case "II回下相高度m": tGanTaData.m2GD_Xia_GanTa = num3; break; case "III回上相中距m": tGanTaData.m3ZJ_Shang_GanTa = num3; break; case "III回中相中距m": tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case "III回下相中距m": tGanTaData.m3ZJ_Xia_GanTa = num3; break; case "III回上相高度m": tGanTaData.m3GD_Shang_GanTa = num3; break; case "III回中相高度m": tGanTaData.m3GD_Zhong_GanTa = num3; break; case "III回下相高度m": tGanTaData.m3GD_Xia_GanTa = num3; break; case "IV回上相中距m": tGanTaData.m4ZJ_Shang_GanTa = num3; break; case "IV回中相中距m": tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case "IV回下相中距m": tGanTaData.m4ZJ_Xia_GanTa = num3; break; case "IV回上相高度m": tGanTaData.m4GD_Shang_GanTa = num3; break; case "IV回中相高度m": tGanTaData.m4GD_Zhong_GanTa = num3; break; case "IV回下相高度m": tGanTaData.m4GD_Xia_GanTa = num3; break; case "小号侧档距": tGanTaData.mXiaoHao_GanTa = num3; break; case "大号侧档距": tGanTaData.mDaHao_GanTa = num3; break; case "电角度": tGanTaData.mAngle_GanTa = num3; break; case "雷电流幅值a": tGanTaData.mCurrent_a_GanTa = num3; break; case "雷电流幅值b": tGanTaData.mCurrent_b_GanTa = num3; break; case "地面倾角1": tGanTaData.mDMQJ1_GanTa = num3; break; case "地面倾角2": tGanTaData.mDMQJ2_GanTa = num3; break; case "海拔m": tGanTaData.mHaiBa_GanTa = num3; break; case "地形": tGanTaData.mDiXing_GanTa = text; break; case "地闪密度": tGanTaData.mDSMD_GanTa = num3; break; case "直线或耐张杆塔": tGanTaData.mZXNZ_GanTa = text; break; case "雷电流波形种类": tGanTaData.mCurrentType_GanTa = num2; break; case "波头时间/μs": tGanTaData.mCurrentHeadTime_GanTa = num3; break; case "波尾时间/μs": tGanTaData.mCurrentTailTime_GanTa = num3; break; case "绕击反击": tGanTaData.mRaoJiFanJi_GanTa = num2; break; case "反击耐雷水平kA": tGanTaData.mFJ_NLSP_GanTa = num3; break; case "反击跳闸率(次/100km.a)": tGanTaData.mFJ_TZL_GanTa = num3; break; case "绕击耐雷水平kA": tGanTaData.mRJ_NLSP_GanTa = num3; break; case "绕击跳闸率(次/100km.a)": tGanTaData.mRJ_TZL_GanTa = num3; break; case "雷击风险等级": tGanTaData.mFXDJ_GanTa = num2; break; case "A相绕击耐雷水平kA": tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case "B相绕击耐雷水平kA": tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case "C相绕击耐雷水平kA": tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case "单相反击耐雷水平kA": tGanTaData.mM1_NLSP_GanTa = num3; break; case "单相闪络相": tGanTaData.mM1_Xiang_GanTa = text; break; case "单相反击跳闸率(次/100km.a)": tGanTaData.mM1_TZL_GanTa = num3; break; case "双相反击耐雷水平kA": tGanTaData.mM2_NLSP_GanTa = num3; break; case "双相闪络相": tGanTaData.mM2_Xiang_GanTa = text; break; case "双相反击跳闸率(次/100km.a)": tGanTaData.mM2_TZL_GanTa = num3; break; case "三相反击耐雷水平kA": tGanTaData.mM3_NLSP_GanTa = num3; break; case "三相闪络相": tGanTaData.mM3_Xiang_GanTa = text; break; case "三相反击跳闸率(次/100km.a)": tGanTaData.mM3_TZL_GanTa = num3; break; case "四相反击耐雷水平kA": tGanTaData.mM4_NLSP_GanTa = num3; break; case "四相闪络相": tGanTaData.mM4_Xiang_GanTa = text; break; case "四相反击跳闸率(次/100km.a)": tGanTaData.mM4_TZL_GanTa = num3; break; case "五相反击耐雷水平kA": tGanTaData.mM5_NLSP_GanTa = num3; break; case "五相闪络相": tGanTaData.mM5_Xiang_GanTa = text; break; case "五相反击跳闸率(次/100km.a)": tGanTaData.mM5_TZL_GanTa = num3; break; case "六相反击耐雷水平kA": tGanTaData.mM6_NLSP_GanTa = num3; break; case "六相闪络相": tGanTaData.mM6_Xiang_GanTa = text; break; case "六相反击跳闸率(次/100km.a)": tGanTaData.mM6_TZL_GanTa = num3; break; case "原因分析": tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "措施推荐": tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "普通计算结果": tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } else if (!flag2) { for (num4 = 0; num4 < array3.Length; num4++) { if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (num4) { case 0: tGanTaData.mTaskIDstring = text; break; case 1: tGanTaData.mID_TGanTa = num2; break; case 2: tGanTaData.mXianLuID = num2; break; case 3: tGanTaData.mIndex__GanTa = num2; break; case 4: tGanTaData.mXianLuName = text; break; case 5: tGanTaData.mDYDJ_GanTa = num2; break; case 6: tGanTaData.mID_GanTa = text; break; case 7: tGanTaData.mModel_GanTa = text; break; case 8: tGanTaData.mTaXing_GanTa = text; break; case 9: tGanTaData.mJingDu_GanTa = num3; break; case 10: tGanTaData.mWeiDu_GanTa = num3; break; case 11: tGanTaData.mXiangXu1_GanTa = text; break; case 12: tGanTaData.mXiangXu2_GanTa = text; break; case 13: tGanTaData.mXiangXu3_GanTa = text; break; case 14: tGanTaData.mXiangXu4_GanTa = text; break; case 15: tGanTaData.mBLQ_A_GanTa = text; break; case 16: tGanTaData.mBLQ_B_GanTa = text; break; case 17: tGanTaData.mBLQ_C_GanTa = text; break; case 18: tGanTaData.mJDDZ_GanTa = num3; break; case 19: tGanTaData.mBLZJ_L_GanTa = num3; break; case 20: tGanTaData.mBLZJ_R_GanTa = num3; break; case 21: tGanTaData.mBLXGD_GanTa = num3; break; case 22: tGanTaData.mJYZCD_GanTa = num3; break; case 23: tGanTaData.mHuGao_GanTa = num3; break; case 24: tGanTaData.m1ZJ_Shang_GanTa = num3; break; case 25: tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case 26: tGanTaData.m1ZJ_Xia_GanTa = num3; break; case 27: tGanTaData.m1GD_Shang_GanTa = num3; break; case 28: tGanTaData.m1GD_Zhong_GanTa = num3; break; case 29: tGanTaData.m1GD_Xia_GanTa = num3; break; case 30: tGanTaData.m2ZJ_Shang_GanTa = num3; break; case 31: tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case 32: tGanTaData.m2ZJ_Xia_GanTa = num3; break; case 33: tGanTaData.m2GD_Shang_GanTa = num3; break; case 34: tGanTaData.m2GD_Zhong_GanTa = num3; break; case 35: tGanTaData.m2GD_Xia_GanTa = num3; break; case 36: tGanTaData.m3ZJ_Shang_GanTa = num3; break; case 37: tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case 38: tGanTaData.m3ZJ_Xia_GanTa = num3; break; case 39: tGanTaData.m3GD_Shang_GanTa = num3; break; case 40: tGanTaData.m3GD_Zhong_GanTa = num3; break; case 41: tGanTaData.m3GD_Xia_GanTa = num3; break; case 42: tGanTaData.m4ZJ_Shang_GanTa = num3; break; case 43: tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case 44: tGanTaData.m4ZJ_Xia_GanTa = num3; break; case 45: tGanTaData.m4GD_Shang_GanTa = num3; break; case 46: tGanTaData.m4GD_Zhong_GanTa = num3; break; case 47: tGanTaData.m4GD_Xia_GanTa = num3; break; case 48: tGanTaData.mXiaoHao_GanTa = num3; break; case 49: tGanTaData.mDaHao_GanTa = num3; break; case 50: tGanTaData.mAngle_GanTa = num3; break; case 51: tGanTaData.mCurrent_a_GanTa = num3; break; case 52: tGanTaData.mCurrent_b_GanTa = num3; break; case 53: tGanTaData.mDMQJ1_GanTa = num3; break; case 54: tGanTaData.mDMQJ2_GanTa = num3; break; case 55: tGanTaData.mHaiBa_GanTa = num3; break; case 56: tGanTaData.mDiXing_GanTa = text; break; case 57: tGanTaData.mDSMD_GanTa = num3; break; case 58: tGanTaData.mZXNZ_GanTa = text; break; case 59: tGanTaData.mCurrentType_GanTa = num2; break; case 60: tGanTaData.mCurrentHeadTime_GanTa = num3; break; case 61: tGanTaData.mCurrentTailTime_GanTa = num3; break; case 62: tGanTaData.mRaoJiFanJi_GanTa = num2; break; case 63: tGanTaData.mFJ_NLSP_GanTa = num3; break; case 64: tGanTaData.mFJ_TZL_GanTa = num3; break; case 65: tGanTaData.mRJ_NLSP_GanTa = num3; break; case 66: tGanTaData.mRJ_TZL_GanTa = num3; break; case 67: tGanTaData.mFXDJ_GanTa = num2; break; case 68: tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case 69: tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case 70: tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case 71: tGanTaData.mM1_NLSP_GanTa = num3; break; case 72: tGanTaData.mM1_Xiang_GanTa = text; break; case 73: tGanTaData.mM1_TZL_GanTa = num3; break; case 74: tGanTaData.mM2_NLSP_GanTa = num3; break; case 75: tGanTaData.mM2_Xiang_GanTa = text; break; case 76: tGanTaData.mM2_TZL_GanTa = num3; break; case 77: tGanTaData.mM3_NLSP_GanTa = num3; break; case 78: tGanTaData.mM3_Xiang_GanTa = text; break; case 79: tGanTaData.mM3_TZL_GanTa = num3; break; case 80: tGanTaData.mM4_NLSP_GanTa = num3; break; case 81: tGanTaData.mM4_Xiang_GanTa = text; break; case 82: tGanTaData.mM4_TZL_GanTa = num3; break; case 83: tGanTaData.mM5_NLSP_GanTa = num3; break; case 84: tGanTaData.mM5_Xiang_GanTa = text; break; case 85: tGanTaData.mM5_TZL_GanTa = num3; break; case 86: tGanTaData.mM6_NLSP_GanTa = num3; break; case 87: tGanTaData.mM6_Xiang_GanTa = text; break; case 88: tGanTaData.mM6_TZL_GanTa = num3; break; case 89: tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 90: tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 91: tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } flag3 = false; num5 = -1; for (int num14 = 0; num14 < mListDetails.Count; num14++) { taskDetail = mListDetails[num14]; if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) { continue; } for (int num15 = 0; num15 < taskDetail.mTaskGroup.mListExTaskData.Count; num15++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num15].mID_string_Task)) { num5 = num14; flag3 = true; break; } } if (flag3) { break; } } if (!flag3) { num++; continue; } taskDetail = mListDetails[num5]; tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; for (int num16 = 0; num16 < taskDetail.mTaskGroup.mListExTaskData.Count; num16++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num16].mID_string_Task)) { if (taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas == null) { taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas = new TGanTas(); } if (taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData == null) { taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData = new List(); taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Clear(); } tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Count; taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Add(tGanTaData); result2++; } } } else if (array3.Length >= 79) { tGanTaData = new TGanTaData(); if (flag2) { for (int num17 = 0; num17 < array3.Length; num17++) { text3 = dictionary.ElementAt(num17).Key; num4 = dictionary.ElementAt(num17).Value; if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (text3) { case "任务编号": tGanTaData.mTaskIDstring = text; break; case "任务塔号": tGanTaData.mID_TGanTa = num2; break; case "线路编号": tGanTaData.mXianLuID = num2; break; case "序号": tGanTaData.mIndex__GanTa = num2; break; case "线路名称": tGanTaData.mXianLuName = text; break; case "电压等级": tGanTaData.mDYDJ_GanTa = num2; break; case "塔号": tGanTaData.mID_GanTa = text; break; case "杆塔模型": tGanTaData.mModel_GanTa = text; break; case "塔形": tGanTaData.mTaXing_GanTa = text; break; case "经度": tGanTaData.mJingDu_GanTa = num3; break; case "纬度": tGanTaData.mWeiDu_GanTa = num3; break; case "I回相序": tGanTaData.mXiangXu1_GanTa = text; break; case "II回相序": tGanTaData.mXiangXu2_GanTa = text; break; case "III回相序": tGanTaData.mXiangXu3_GanTa = text; break; case "IV回相序": tGanTaData.mXiangXu4_GanTa = text; break; case "A相是否安装避雷器": tGanTaData.mBLQ_A_GanTa = text; break; case "B相是否安装避雷器": tGanTaData.mBLQ_B_GanTa = text; break; case "C相是否安装避雷器": tGanTaData.mBLQ_C_GanTa = text; break; case "接地电阻": tGanTaData.mJDDZ_GanTa = num3; break; case "左避雷中距m": tGanTaData.mBLZJ_L_GanTa = num3; break; case "右避雷中距m": tGanTaData.mBLZJ_R_GanTa = num3; break; case "避雷线高度m": tGanTaData.mBLXGD_GanTa = num3; break; case "绝缘子串长度mm": tGanTaData.mJYZCD_GanTa = num3; break; case "杆塔呼高m": tGanTaData.mHuGao_GanTa = num3; break; case "I回上相中距m": tGanTaData.m1ZJ_Shang_GanTa = num3; break; case "I回中相中距m": tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case "I回下相中距m": tGanTaData.m1ZJ_Xia_GanTa = num3; break; case "I回上相高度m": tGanTaData.m1GD_Shang_GanTa = num3; break; case "I回中相高度m": tGanTaData.m1GD_Zhong_GanTa = num3; break; case "I回下相高度m": tGanTaData.m1GD_Xia_GanTa = num3; break; case "II回上相中距m": tGanTaData.m2ZJ_Shang_GanTa = num3; break; case "II回中相中距m": tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case "II回下相中距m": tGanTaData.m2ZJ_Xia_GanTa = num3; break; case "II回上相高度m": tGanTaData.m2GD_Shang_GanTa = num3; break; case "II回中相高度m": tGanTaData.m2GD_Zhong_GanTa = num3; break; case "II回下相高度m": tGanTaData.m2GD_Xia_GanTa = num3; break; case "III回上相中距m": tGanTaData.m3ZJ_Shang_GanTa = num3; break; case "III回中相中距m": tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case "III回下相中距m": tGanTaData.m3ZJ_Xia_GanTa = num3; break; case "III回上相高度m": tGanTaData.m3GD_Shang_GanTa = num3; break; case "III回中相高度m": tGanTaData.m3GD_Zhong_GanTa = num3; break; case "III回下相高度m": tGanTaData.m3GD_Xia_GanTa = num3; break; case "IV回上相中距m": tGanTaData.m4ZJ_Shang_GanTa = num3; break; case "IV回中相中距m": tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case "IV回下相中距m": tGanTaData.m4ZJ_Xia_GanTa = num3; break; case "IV回上相高度m": tGanTaData.m4GD_Shang_GanTa = num3; break; case "IV回中相高度m": tGanTaData.m4GD_Zhong_GanTa = num3; break; case "IV回下相高度m": tGanTaData.m4GD_Xia_GanTa = num3; break; case "小号侧档距": tGanTaData.mXiaoHao_GanTa = num3; break; case "大号侧档距": tGanTaData.mDaHao_GanTa = num3; break; case "电角度": tGanTaData.mAngle_GanTa = num3; break; case "雷电流幅值a": tGanTaData.mCurrent_a_GanTa = num3; break; case "雷电流幅值b": tGanTaData.mCurrent_b_GanTa = num3; break; case "地面倾角1": tGanTaData.mDMQJ1_GanTa = num3; break; case "地面倾角2": tGanTaData.mDMQJ2_GanTa = num3; break; case "海拔m": tGanTaData.mHaiBa_GanTa = num3; break; case "地形": tGanTaData.mDiXing_GanTa = text; break; case "地闪密度": tGanTaData.mDSMD_GanTa = num3; break; case "直线或耐张杆塔": tGanTaData.mZXNZ_GanTa = text; break; case "雷电流波形种类": tGanTaData.mCurrentType_GanTa = num2; break; case "波头时间/μs": tGanTaData.mCurrentHeadTime_GanTa = num3; break; case "波尾时间/μs": tGanTaData.mCurrentTailTime_GanTa = num3; break; case "绕击反击": tGanTaData.mRaoJiFanJi_GanTa = num2; break; case "反击耐雷水平kA": tGanTaData.mFJ_NLSP_GanTa = num3; break; case "反击跳闸率(次/100km.a)": tGanTaData.mFJ_TZL_GanTa = num3; break; case "绕击耐雷水平kA": tGanTaData.mRJ_NLSP_GanTa = num3; break; case "绕击跳闸率(次/100km.a)": tGanTaData.mRJ_TZL_GanTa = num3; break; case "雷击风险等级": tGanTaData.mFXDJ_GanTa = num2; break; case "A相绕击耐雷水平kA": tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case "B相绕击耐雷水平kA": tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case "C相绕击耐雷水平kA": tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case "单相反击耐雷水平kA": tGanTaData.mM1_NLSP_GanTa = num3; break; case "单相闪络相": tGanTaData.mM1_Xiang_GanTa = text; break; case "双相反击耐雷水平kA": tGanTaData.mM2_NLSP_GanTa = num3; break; case "双相闪络相": tGanTaData.mM2_Xiang_GanTa = text; break; case "三相反击耐雷水平kA": tGanTaData.mM3_NLSP_GanTa = num3; break; case "原因分析": tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "措施推荐": tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "普通计算结果": tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } else if (!flag2) { for (num4 = 0; num4 < array3.Length; num4++) { if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (num4) { case 0: tGanTaData.mTaskIDstring = text; break; case 1: tGanTaData.mID_TGanTa = num2; break; case 2: tGanTaData.mXianLuID = num2; break; case 3: tGanTaData.mIndex__GanTa = num2; break; case 4: tGanTaData.mXianLuName = text; break; case 5: tGanTaData.mDYDJ_GanTa = num2; break; case 6: tGanTaData.mID_GanTa = text; break; case 7: tGanTaData.mModel_GanTa = text; break; case 8: tGanTaData.mTaXing_GanTa = text; break; case 9: tGanTaData.mJingDu_GanTa = num3; break; case 10: tGanTaData.mWeiDu_GanTa = num3; break; case 11: tGanTaData.mXiangXu1_GanTa = text; break; case 12: tGanTaData.mXiangXu2_GanTa = text; break; case 13: tGanTaData.mXiangXu3_GanTa = text; break; case 14: tGanTaData.mXiangXu4_GanTa = text; break; case 15: tGanTaData.mBLQ_A_GanTa = text; break; case 16: tGanTaData.mBLQ_B_GanTa = text; break; case 17: tGanTaData.mBLQ_C_GanTa = text; break; case 18: tGanTaData.mJDDZ_GanTa = num3; break; case 19: tGanTaData.mBLZJ_L_GanTa = num3; break; case 20: tGanTaData.mBLZJ_R_GanTa = num3; break; case 21: tGanTaData.mBLXGD_GanTa = num3; break; case 22: tGanTaData.mJYZCD_GanTa = num3; break; case 23: tGanTaData.mHuGao_GanTa = num3; break; case 24: tGanTaData.m1ZJ_Shang_GanTa = num3; break; case 25: tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case 26: tGanTaData.m1ZJ_Xia_GanTa = num3; break; case 27: tGanTaData.m1GD_Shang_GanTa = num3; break; case 28: tGanTaData.m1GD_Zhong_GanTa = num3; break; case 29: tGanTaData.m1GD_Xia_GanTa = num3; break; case 30: tGanTaData.m2ZJ_Shang_GanTa = num3; break; case 31: tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case 32: tGanTaData.m2ZJ_Xia_GanTa = num3; break; case 33: tGanTaData.m2GD_Shang_GanTa = num3; break; case 34: tGanTaData.m2GD_Zhong_GanTa = num3; break; case 35: tGanTaData.m2GD_Xia_GanTa = num3; break; case 36: tGanTaData.m3ZJ_Shang_GanTa = num3; break; case 37: tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case 38: tGanTaData.m3ZJ_Xia_GanTa = num3; break; case 39: tGanTaData.m3GD_Shang_GanTa = num3; break; case 40: tGanTaData.m3GD_Zhong_GanTa = num3; break; case 41: tGanTaData.m3GD_Xia_GanTa = num3; break; case 42: tGanTaData.m4ZJ_Shang_GanTa = num3; break; case 43: tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case 44: tGanTaData.m4ZJ_Xia_GanTa = num3; break; case 45: tGanTaData.m4GD_Shang_GanTa = num3; break; case 46: tGanTaData.m4GD_Zhong_GanTa = num3; break; case 47: tGanTaData.m4GD_Xia_GanTa = num3; break; case 48: tGanTaData.mXiaoHao_GanTa = num3; break; case 49: tGanTaData.mDaHao_GanTa = num3; break; case 50: tGanTaData.mAngle_GanTa = num3; break; case 51: tGanTaData.mCurrent_a_GanTa = num3; break; case 52: tGanTaData.mCurrent_b_GanTa = num3; break; case 53: tGanTaData.mDMQJ1_GanTa = num3; break; case 54: tGanTaData.mDMQJ2_GanTa = num3; break; case 55: tGanTaData.mHaiBa_GanTa = num3; break; case 56: tGanTaData.mDiXing_GanTa = text; break; case 57: tGanTaData.mDSMD_GanTa = num3; break; case 58: tGanTaData.mZXNZ_GanTa = text; break; case 59: tGanTaData.mCurrentType_GanTa = num2; break; case 60: tGanTaData.mCurrentHeadTime_GanTa = num3; break; case 61: tGanTaData.mCurrentTailTime_GanTa = num3; break; case 62: tGanTaData.mRaoJiFanJi_GanTa = num2; break; case 63: tGanTaData.mFJ_NLSP_GanTa = num3; break; case 64: tGanTaData.mFJ_TZL_GanTa = num3; break; case 65: tGanTaData.mRJ_NLSP_GanTa = num3; break; case 66: tGanTaData.mRJ_TZL_GanTa = num3; break; case 67: tGanTaData.mFXDJ_GanTa = num2; break; case 68: tGanTaData.mMA_RJ_NLSP_GanTa = num3; break; case 69: tGanTaData.mMB_RJ_NLSP_GanTa = num3; break; case 70: tGanTaData.mMC_RJ_NLSP_GanTa = num3; break; case 71: tGanTaData.mM1_NLSP_GanTa = num3; break; case 72: tGanTaData.mM1_Xiang_GanTa = text; break; case 73: tGanTaData.mM2_NLSP_GanTa = num3; break; case 74: tGanTaData.mM2_Xiang_GanTa = text; break; case 75: tGanTaData.mM3_NLSP_GanTa = num3; break; case 76: tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 77: tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 78: tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } flag3 = false; num5 = -1; for (int num18 = 0; num18 < mListDetails.Count; num18++) { taskDetail = mListDetails[num18]; if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) { continue; } for (int num19 = 0; num19 < taskDetail.mTaskGroup.mListExTaskData.Count; num19++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num19].mID_string_Task)) { num5 = num18; flag3 = true; break; } } if (flag3) { break; } } if (!flag3) { num++; continue; } taskDetail = mListDetails[num5]; tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; for (int num20 = 0; num20 < taskDetail.mTaskGroup.mListExTaskData.Count; num20++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num20].mID_string_Task)) { if (taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas == null) { taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas = new TGanTas(); } if (taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData == null) { taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData = new List(); taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Clear(); } tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Count; taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Add(tGanTaData); result2++; } } } else if (array3.Length >= 71) { tGanTaData = new TGanTaData(); if (flag2) { for (int num21 = 0; num21 < array3.Length; num21++) { text3 = dictionary.ElementAt(num21).Key; num4 = dictionary.ElementAt(num21).Value; if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (text3) { case "任务编号": tGanTaData.mTaskIDstring = text; break; case "任务塔号": tGanTaData.mID_TGanTa = num2; break; case "线路编号": tGanTaData.mXianLuID = num2; break; case "序号": tGanTaData.mIndex__GanTa = num2; break; case "线路名称": tGanTaData.mXianLuName = text; break; case "电压等级": tGanTaData.mDYDJ_GanTa = num2; break; case "塔号": tGanTaData.mID_GanTa = text; break; case "杆塔模型": tGanTaData.mModel_GanTa = text; break; case "塔形": tGanTaData.mTaXing_GanTa = text; break; case "经度": tGanTaData.mJingDu_GanTa = num3; break; case "纬度": tGanTaData.mWeiDu_GanTa = num3; break; case "I回相序": tGanTaData.mXiangXu1_GanTa = text; break; case "II回相序": tGanTaData.mXiangXu2_GanTa = text; break; case "III回相序": tGanTaData.mXiangXu3_GanTa = text; break; case "IV回相序": tGanTaData.mXiangXu4_GanTa = text; break; case "A相是否安装避雷器": tGanTaData.mBLQ_A_GanTa = text; break; case "B相是否安装避雷器": tGanTaData.mBLQ_B_GanTa = text; break; case "C相是否安装避雷器": tGanTaData.mBLQ_C_GanTa = text; break; case "接地电阻": tGanTaData.mJDDZ_GanTa = num3; break; case "左避雷中距m": tGanTaData.mBLZJ_L_GanTa = num3; break; case "右避雷中距m": tGanTaData.mBLZJ_R_GanTa = num3; break; case "避雷线高度m": tGanTaData.mBLXGD_GanTa = num3; break; case "绝缘子串长度mm": tGanTaData.mJYZCD_GanTa = num3; break; case "杆塔呼高m": tGanTaData.mHuGao_GanTa = num3; break; case "I回上相中距m": tGanTaData.m1ZJ_Shang_GanTa = num3; break; case "I回中相中距m": tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case "I回下相中距m": tGanTaData.m1ZJ_Xia_GanTa = num3; break; case "I回上相高度m": tGanTaData.m1GD_Shang_GanTa = num3; break; case "I回中相高度m": tGanTaData.m1GD_Zhong_GanTa = num3; break; case "I回下相高度m": tGanTaData.m1GD_Xia_GanTa = num3; break; case "II回上相中距m": tGanTaData.m2ZJ_Shang_GanTa = num3; break; case "II回中相中距m": tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case "II回下相中距m": tGanTaData.m2ZJ_Xia_GanTa = num3; break; case "II回上相高度m": tGanTaData.m2GD_Shang_GanTa = num3; break; case "II回中相高度m": tGanTaData.m2GD_Zhong_GanTa = num3; break; case "II回下相高度m": tGanTaData.m2GD_Xia_GanTa = num3; break; case "III回上相中距m": tGanTaData.m3ZJ_Shang_GanTa = num3; break; case "III回中相中距m": tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case "III回下相中距m": tGanTaData.m3ZJ_Xia_GanTa = num3; break; case "III回上相高度m": tGanTaData.m3GD_Shang_GanTa = num3; break; case "III回中相高度m": tGanTaData.m3GD_Zhong_GanTa = num3; break; case "III回下相高度m": tGanTaData.m3GD_Xia_GanTa = num3; break; case "IV回上相中距m": tGanTaData.m4ZJ_Shang_GanTa = num3; break; case "IV回中相中距m": tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case "IV回下相中距m": tGanTaData.m4ZJ_Xia_GanTa = num3; break; case "IV回上相高度m": tGanTaData.m4GD_Shang_GanTa = num3; break; case "IV回中相高度m": tGanTaData.m4GD_Zhong_GanTa = num3; break; case "IV回下相高度m": tGanTaData.m4GD_Xia_GanTa = num3; break; case "小号侧档距": tGanTaData.mXiaoHao_GanTa = num3; break; case "大号侧档距": tGanTaData.mDaHao_GanTa = num3; break; case "电角度": tGanTaData.mAngle_GanTa = num3; break; case "雷电流幅值a": tGanTaData.mCurrent_a_GanTa = num3; break; case "雷电流幅值b": tGanTaData.mCurrent_b_GanTa = num3; break; case "地面倾角1": tGanTaData.mDMQJ1_GanTa = num3; break; case "地面倾角2": tGanTaData.mDMQJ2_GanTa = num3; break; case "海拔m": tGanTaData.mHaiBa_GanTa = num3; break; case "地形": tGanTaData.mDiXing_GanTa = text; break; case "地闪密度": tGanTaData.mDSMD_GanTa = num3; break; case "直线或耐张杆塔": tGanTaData.mZXNZ_GanTa = text; break; case "雷电流波形种类": tGanTaData.mCurrentType_GanTa = num2; break; case "波头时间/μs": tGanTaData.mCurrentHeadTime_GanTa = num3; break; case "波尾时间/μs": tGanTaData.mCurrentTailTime_GanTa = num3; break; case "绕击反击": tGanTaData.mRaoJiFanJi_GanTa = num2; break; case "反击耐雷水平kA": tGanTaData.mFJ_NLSP_GanTa = num3; break; case "反击跳闸率(次/100km.a)": tGanTaData.mFJ_TZL_GanTa = num3; break; case "绕击耐雷水平kA": tGanTaData.mRJ_NLSP_GanTa = num3; break; case "绕击跳闸率(次/100km.a)": tGanTaData.mRJ_TZL_GanTa = num3; break; case "雷击风险等级": tGanTaData.mFXDJ_GanTa = num2; break; case "原因分析": tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "措施推荐": tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case "普通计算结果": tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } else if (!flag2) { for (num4 = 0; num4 < array3.Length; num4++) { if (array3[num4] == null) { num2 = 0; num3 = 0.0; } else { try { num2 = Convert.ToInt32(array3[num4].Trim()); } catch (Exception) { num2 = 1; } try { num3 = Convert.ToDouble(array3[num4].Trim()); } catch (Exception) { num3 = 1.0; } } text = array3[num4].Trim(); switch (num4) { case 0: tGanTaData.mTaskIDstring = text; break; case 1: tGanTaData.mID_TGanTa = num2; break; case 2: tGanTaData.mXianLuID = num2; break; case 3: tGanTaData.mIndex__GanTa = num2; break; case 4: tGanTaData.mXianLuName = text; break; case 5: tGanTaData.mDYDJ_GanTa = num2; break; case 6: tGanTaData.mID_GanTa = text; break; case 7: tGanTaData.mModel_GanTa = text; break; case 8: tGanTaData.mTaXing_GanTa = text; break; case 9: tGanTaData.mJingDu_GanTa = num3; break; case 10: tGanTaData.mWeiDu_GanTa = num3; break; case 11: tGanTaData.mXiangXu1_GanTa = text; break; case 12: tGanTaData.mXiangXu2_GanTa = text; break; case 13: tGanTaData.mXiangXu3_GanTa = text; break; case 14: tGanTaData.mXiangXu4_GanTa = text; break; case 15: tGanTaData.mBLQ_A_GanTa = text; break; case 16: tGanTaData.mBLQ_B_GanTa = text; break; case 17: tGanTaData.mBLQ_C_GanTa = text; break; case 18: tGanTaData.mJDDZ_GanTa = num3; break; case 19: tGanTaData.mBLZJ_L_GanTa = num3; break; case 20: tGanTaData.mBLZJ_R_GanTa = num3; break; case 21: tGanTaData.mBLXGD_GanTa = num3; break; case 22: tGanTaData.mJYZCD_GanTa = num3; break; case 23: tGanTaData.mHuGao_GanTa = num3; break; case 24: tGanTaData.m1ZJ_Shang_GanTa = num3; break; case 25: tGanTaData.m1ZJ_Zhong_GanTa = num3; break; case 26: tGanTaData.m1ZJ_Xia_GanTa = num3; break; case 27: tGanTaData.m1GD_Shang_GanTa = num3; break; case 28: tGanTaData.m1GD_Zhong_GanTa = num3; break; case 29: tGanTaData.m1GD_Xia_GanTa = num3; break; case 30: tGanTaData.m2ZJ_Shang_GanTa = num3; break; case 31: tGanTaData.m2ZJ_Zhong_GanTa = num3; break; case 32: tGanTaData.m2ZJ_Xia_GanTa = num3; break; case 33: tGanTaData.m2GD_Shang_GanTa = num3; break; case 34: tGanTaData.m2GD_Zhong_GanTa = num3; break; case 35: tGanTaData.m2GD_Xia_GanTa = num3; break; case 36: tGanTaData.m3ZJ_Shang_GanTa = num3; break; case 37: tGanTaData.m3ZJ_Zhong_GanTa = num3; break; case 38: tGanTaData.m3ZJ_Xia_GanTa = num3; break; case 39: tGanTaData.m3GD_Shang_GanTa = num3; break; case 40: tGanTaData.m3GD_Zhong_GanTa = num3; break; case 41: tGanTaData.m3GD_Xia_GanTa = num3; break; case 42: tGanTaData.m4ZJ_Shang_GanTa = num3; break; case 43: tGanTaData.m4ZJ_Zhong_GanTa = num3; break; case 44: tGanTaData.m4ZJ_Xia_GanTa = num3; break; case 45: tGanTaData.m4GD_Shang_GanTa = num3; break; case 46: tGanTaData.m4GD_Zhong_GanTa = num3; break; case 47: tGanTaData.m4GD_Xia_GanTa = num3; break; case 48: tGanTaData.mXiaoHao_GanTa = num3; break; case 49: tGanTaData.mDaHao_GanTa = num3; break; case 50: tGanTaData.mAngle_GanTa = num3; break; case 51: tGanTaData.mCurrent_a_GanTa = num3; break; case 52: tGanTaData.mCurrent_b_GanTa = num3; break; case 53: tGanTaData.mDMQJ1_GanTa = num3; break; case 54: tGanTaData.mDMQJ2_GanTa = num3; break; case 55: tGanTaData.mHaiBa_GanTa = num3; break; case 56: tGanTaData.mDiXing_GanTa = text; break; case 57: tGanTaData.mDSMD_GanTa = num3; break; case 58: tGanTaData.mZXNZ_GanTa = text; break; case 59: tGanTaData.mCurrentType_GanTa = num2; break; case 60: tGanTaData.mCurrentHeadTime_GanTa = num3; break; case 61: tGanTaData.mCurrentTailTime_GanTa = num3; break; case 62: tGanTaData.mRaoJiFanJi_GanTa = num2; break; case 63: tGanTaData.mFJ_NLSP_GanTa = num3; break; case 64: tGanTaData.mFJ_TZL_GanTa = num3; break; case 65: tGanTaData.mRJ_NLSP_GanTa = num3; break; case 66: tGanTaData.mRJ_TZL_GanTa = num3; break; case 67: tGanTaData.mFXDJ_GanTa = num2; break; case 68: tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 69: tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); break; case 70: tGanTaData.m_Result_PuTongJiSuan_GanTa = text; break; } } } flag3 = false; num5 = -1; for (int num22 = 0; num22 < mListDetails.Count; num22++) { taskDetail = mListDetails[num22]; if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) { continue; } for (int num23 = 0; num23 < taskDetail.mTaskGroup.mListExTaskData.Count; num23++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num23].mID_string_Task)) { num5 = num22; flag3 = true; break; } } if (flag3) { break; } } if (!flag3) { num++; continue; } taskDetail = mListDetails[num5]; tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; for (int num24 = 0; num24 < taskDetail.mTaskGroup.mListExTaskData.Count; num24++) { if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num24].mID_string_Task)) { if (taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas == null) { taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas = new TGanTas(); } if (taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData == null) { taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData = new List(); taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Clear(); } tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Count; taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Add(tGanTaData); result2++; } } } num++; } streamReader2.Close(); } fileStream2.Close(); } catch (Exception ex22) { MyLog.AddLog("MyLoadTGanTa() 载入扩展杆塔文件发生异常。文件:" + _filename + "。异常:" + ex22.Message + "。"); MessageBox.Show(ex22.Message); } return result2; } public int MySaveTGanTa(string _filename) { int result = 0; if (string.IsNullOrEmpty(_filename)) { MyLog.AddLog("MySaveTGanTa(_fileName) 参数1为空:扩展杆塔数据文件名。"); return result; } int num = 0; int num2 = -1; string[] array = new string[2] { "", "" }; string[] array2 = new string[2] { "", "" }; TGanTaData tGanTaData = null; TaskData taskData = null; try { using FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None); using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) { for (num2 = 0; num2 < array.Length; num2++) { string text = array[num2]; string text2 = text; if (!(text2 == "")) { if (text2 == "") { } continue; } num = 0; streamWriter.WriteLine(array[num2]); streamWriter.WriteLine(TGanTaData.MyHead_ToString()); for (int i = 0; i < mListDetails.Count; i++) { if (mListDetails[i].mTaskGroup == null || mListDetails[i].mTaskGroup.mListExTaskData == null) { continue; } for (int j = 0; j < mListDetails[i].mTaskGroup.mListExTaskData.Count; j++) { taskData = mListDetails[i].mTaskGroup.mListExTaskData[j]; if (taskData != null && taskData.mTGanTas != null && taskData.mTGanTas.mListTGanTaData.Count != 0) { for (int k = 0; k < taskData.mTGanTas.mListTGanTaData.Count; k++) { tGanTaData = taskData.mTGanTas.mListTGanTaData[k]; streamWriter.WriteLine(tGanTaData.MyToString()); num++; } } } } if (num2 < array2.Length) { streamWriter.WriteLine(array2[num2]); } else { streamWriter.WriteLine(array[num2].Replace("<", "