2812 lines
75 KiB
C#
2812 lines
75 KiB
C#
|
|
using System;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using System.IO;
|
||
|
|
using System.Linq;
|
||
|
|
using System.Text;
|
||
|
|
|
||
|
|
namespace LP;
|
||
|
|
|
||
|
|
public class FuXian
|
||
|
|
{
|
||
|
|
public readonly double[,] data = null;
|
||
|
|
|
||
|
|
public readonly double[] bw = new double[2] { 1.14148986513825, 9.65598579731003 };
|
||
|
|
|
||
|
|
public string mFName_file = "FuXian\\file_1.txt";
|
||
|
|
|
||
|
|
public string mFName_data = "FuXian\\data_1.txt";
|
||
|
|
|
||
|
|
public string mFName_out = "FuXian\\data_out.txt";
|
||
|
|
|
||
|
|
public int mCurveNo;
|
||
|
|
|
||
|
|
public int mNumHead;
|
||
|
|
|
||
|
|
public int mNumTail;
|
||
|
|
|
||
|
|
public double mShuiPing;
|
||
|
|
|
||
|
|
public int m0FanJi_1RaoJi;
|
||
|
|
|
||
|
|
public List<double> arrHead = null;
|
||
|
|
|
||
|
|
public List<double> arrTail = null;
|
||
|
|
|
||
|
|
public List<double> arrFanJi = null;
|
||
|
|
|
||
|
|
public List<double> arrRaoJi = null;
|
||
|
|
|
||
|
|
public List<double> mListHead = null;
|
||
|
|
|
||
|
|
public List<int> mListNum = null;
|
||
|
|
|
||
|
|
public double mSearchFanJi;
|
||
|
|
|
||
|
|
public double mSearchRaoJi;
|
||
|
|
|
||
|
|
public FuXian()
|
||
|
|
{
|
||
|
|
mCurveNo = 1;
|
||
|
|
mNumHead = 1;
|
||
|
|
mNumTail = 1;
|
||
|
|
mShuiPing = 10.0;
|
||
|
|
m0FanJi_1RaoJi = 0;
|
||
|
|
if (data == null)
|
||
|
|
{
|
||
|
|
data = new double[97, 2]
|
||
|
|
{
|
||
|
|
{ 2.5446625, 71.94915 },
|
||
|
|
{ 3.878075, 45.71697 },
|
||
|
|
{ 5.2919, 36.68912 },
|
||
|
|
{ 2.2, 35.016475 },
|
||
|
|
{ 5.2623375, 53.46354 },
|
||
|
|
{ 0.5975, 69.55 },
|
||
|
|
{ 8.6125, 40.043055 },
|
||
|
|
{ 1.0364225, 59.31549 },
|
||
|
|
{ 2.2287375, 68.80835 },
|
||
|
|
{ 6.3, 88.8407 },
|
||
|
|
{ 6.3791875, 45.053385 },
|
||
|
|
{ 38.3205, 75.1023 },
|
||
|
|
{ 2.770925, 86.41685 },
|
||
|
|
{ 0.78666, 43.69612 },
|
||
|
|
{ 1.9475375, 64.02136 },
|
||
|
|
{ 6.43745, 47.88732 },
|
||
|
|
{ 2.1827875, 64.6113 },
|
||
|
|
{ 5.878075, 62.836475 },
|
||
|
|
{ 0.94157125, 45.493045 },
|
||
|
|
{ 8.7521625, 45.177535 },
|
||
|
|
{ 1.381825, 67.2178 },
|
||
|
|
{ 5.39025, 73.2563 },
|
||
|
|
{ 3.5, 31.135 },
|
||
|
|
{ 11.3375, 14.495 },
|
||
|
|
{ 4.1772125, 100.8358 },
|
||
|
|
{
|
||
|
|
41.0 / 160.0,
|
||
|
|
79.7992
|
||
|
|
},
|
||
|
|
{ 3.625, 92.95 },
|
||
|
|
{ 6.9187875, 57.616195 },
|
||
|
|
{ 0.904215, 55.79496 },
|
||
|
|
{ 2.925, 86.0249 },
|
||
|
|
{ 2.1625, 67.3465 },
|
||
|
|
{ 0.055375, 71.3609 },
|
||
|
|
{ 3.52085, 55.69681 },
|
||
|
|
{ 1.55, 77.29865 },
|
||
|
|
{ 9.1396125, 36.816325 },
|
||
|
|
{ 1.811025, 86.48445 },
|
||
|
|
{ 9.5971875, 46.126925 },
|
||
|
|
{ 1.9967875, 62.300745 },
|
||
|
|
{ 1.7409625, 40.6081 },
|
||
|
|
{ 9.5375, 49.27 },
|
||
|
|
{ 6.258875, 83.8786 },
|
||
|
|
{ 0.80435625, 83.265 },
|
||
|
|
{ 13.94925, 128.91645 },
|
||
|
|
{ 2.077225, 79.781 },
|
||
|
|
{ 10.8873375, 34.65475 },
|
||
|
|
{ 11.65, 33.865 },
|
||
|
|
{ 5.142125, 46.79155 },
|
||
|
|
{ 1.832, 87.789 },
|
||
|
|
{ 1.29575, 63.037325 },
|
||
|
|
{ 1.9125, 57.2 },
|
||
|
|
{ 2.4490625, 44.61132 },
|
||
|
|
{ 3.968625, 69.64555 },
|
||
|
|
{ 3.0873375, 44.872295 },
|
||
|
|
{ 3.4136625, 67.834 },
|
||
|
|
{ 2.452875, 75.61905 },
|
||
|
|
{ 2.3944875, 77.82255 },
|
||
|
|
{ 2.085875, 78.06955 },
|
||
|
|
{ 3.0885625, 78.0 },
|
||
|
|
{ 3.5739625, 66.1076 },
|
||
|
|
{ 2.4911625, 80.22755 },
|
||
|
|
{ 7.2521875, 56.4239 },
|
||
|
|
{ 0.95733125, 85.36125 },
|
||
|
|
{ 4.85, 72.54 },
|
||
|
|
{ 3.3823375, 50.460345 },
|
||
|
|
{ 1.6570625, 77.883 },
|
||
|
|
{ 5.9302875, 83.36445 },
|
||
|
|
{ 19.0, 82.68 },
|
||
|
|
{ 2.2402125, 83.1415 },
|
||
|
|
{ 2.28455, 77.97725 },
|
||
|
|
{ 1.645225, 86.0925 },
|
||
|
|
{ 12.625, 33.8 },
|
||
|
|
{ 2.5478, 62.411375 },
|
||
|
|
{ 6.5173125, 57.049395 },
|
||
|
|
{ 10.671875, 37.177335 },
|
||
|
|
{ 2.9472375, 55.92483 },
|
||
|
|
{ 2.9691, 50.966825 },
|
||
|
|
{ 9.0238125, 17.03364 },
|
||
|
|
{ 5.9496, 32.13704 },
|
||
|
|
{ 1.12263, 54.11705 },
|
||
|
|
{ 2.6329625, 66.84535 },
|
||
|
|
{ 2.23485, 64.15552 },
|
||
|
|
{ 1.3868625, 73.6411 },
|
||
|
|
{ 5.175, 76.284 },
|
||
|
|
{ 4.9095375, 31.97792 },
|
||
|
|
{ 5.8178125, 68.0498 },
|
||
|
|
{ 2.4029375, 18.073835 },
|
||
|
|
{ 3.200375, 56.467645 },
|
||
|
|
{ 11.185225, 84.01835 },
|
||
|
|
{ 5.362175, 37.23395 },
|
||
|
|
{ 4.804875, 53.678495 },
|
||
|
|
{ 6.351875, 65.56745 },
|
||
|
|
{ 3.094075, 78.03315 },
|
||
|
|
{ 1.520025, 74.08245 },
|
||
|
|
{ 2.7534, 79.118 },
|
||
|
|
{ 3.2919125, 65.1573 },
|
||
|
|
{ 3.2234875, 76.882 },
|
||
|
|
{ 3.87235, 76.0526 }
|
||
|
|
};
|
||
|
|
}
|
||
|
|
if (arrHead == null)
|
||
|
|
{
|
||
|
|
arrHead = new List<double>();
|
||
|
|
}
|
||
|
|
if (arrTail == null)
|
||
|
|
{
|
||
|
|
arrTail = new List<double>();
|
||
|
|
}
|
||
|
|
if (arrFanJi == null)
|
||
|
|
{
|
||
|
|
arrFanJi = new List<double>();
|
||
|
|
}
|
||
|
|
if (arrRaoJi == null)
|
||
|
|
{
|
||
|
|
arrRaoJi = new List<double>();
|
||
|
|
}
|
||
|
|
arrHead.Clear();
|
||
|
|
arrTail.Clear();
|
||
|
|
arrFanJi.Clear();
|
||
|
|
arrRaoJi.Clear();
|
||
|
|
if (mListHead == null)
|
||
|
|
{
|
||
|
|
mListHead = new List<double>();
|
||
|
|
}
|
||
|
|
if (mListNum == null)
|
||
|
|
{
|
||
|
|
mListNum = new List<int>();
|
||
|
|
}
|
||
|
|
mListHead.Clear();
|
||
|
|
mListNum.Clear();
|
||
|
|
}
|
||
|
|
|
||
|
|
public void Destroy()
|
||
|
|
{
|
||
|
|
if (arrHead != null)
|
||
|
|
{
|
||
|
|
arrHead.Clear();
|
||
|
|
}
|
||
|
|
arrHead = null;
|
||
|
|
if (arrTail != null)
|
||
|
|
{
|
||
|
|
arrTail.Clear();
|
||
|
|
}
|
||
|
|
arrTail = null;
|
||
|
|
if (arrFanJi != null)
|
||
|
|
{
|
||
|
|
arrFanJi.Clear();
|
||
|
|
}
|
||
|
|
arrFanJi = null;
|
||
|
|
if (arrRaoJi != null)
|
||
|
|
{
|
||
|
|
arrRaoJi.Clear();
|
||
|
|
}
|
||
|
|
arrRaoJi = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
public string ReadFileData()
|
||
|
|
{
|
||
|
|
string result = "OK";
|
||
|
|
int num = 0;
|
||
|
|
if (!File.Exists(mFName_file))
|
||
|
|
{
|
||
|
|
return "文件未找到(" + mFName_file + ") ReadFileData()";
|
||
|
|
}
|
||
|
|
using (FileStream fileStream = new FileStream(mFName_file, FileMode.Open, FileAccess.Read, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
while (!streamReader.EndOfStream)
|
||
|
|
{
|
||
|
|
string value = streamReader.ReadLine().Trim();
|
||
|
|
if (string.IsNullOrEmpty(value))
|
||
|
|
{
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
double num2;
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToDouble(value);
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = -1.0;
|
||
|
|
}
|
||
|
|
if (!(num2 < 0.0))
|
||
|
|
{
|
||
|
|
num++;
|
||
|
|
switch (num)
|
||
|
|
{
|
||
|
|
case 1:
|
||
|
|
mCurveNo = (int)num2;
|
||
|
|
break;
|
||
|
|
case 2:
|
||
|
|
mNumHead = (int)num2;
|
||
|
|
break;
|
||
|
|
case 3:
|
||
|
|
mNumTail = (int)num2;
|
||
|
|
break;
|
||
|
|
case 4:
|
||
|
|
mShuiPing = num2;
|
||
|
|
break;
|
||
|
|
case 5:
|
||
|
|
m0FanJi_1RaoJi = (int)num2;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (mCurveNo < 1)
|
||
|
|
{
|
||
|
|
mCurveNo = 1;
|
||
|
|
}
|
||
|
|
if (mCurveNo > 3)
|
||
|
|
{
|
||
|
|
mCurveNo = 3;
|
||
|
|
}
|
||
|
|
if (m0FanJi_1RaoJi > 1)
|
||
|
|
{
|
||
|
|
m0FanJi_1RaoJi = 1;
|
||
|
|
}
|
||
|
|
streamReader.Close();
|
||
|
|
}
|
||
|
|
fileStream.Close();
|
||
|
|
}
|
||
|
|
if (!File.Exists(mFName_data))
|
||
|
|
{
|
||
|
|
return "文件未找到(" + mFName_data + ") ReadFileData()";
|
||
|
|
}
|
||
|
|
arrHead.Clear();
|
||
|
|
arrTail.Clear();
|
||
|
|
arrFanJi.Clear();
|
||
|
|
arrRaoJi.Clear();
|
||
|
|
string[] separator = new string[4] { "\r", "\n", " ", "\t" };
|
||
|
|
string[] array = null;
|
||
|
|
using (FileStream fileStream2 = new FileStream(mFName_data, FileMode.Open, FileAccess.Read, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamReader streamReader2 = new StreamReader(fileStream2, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
while (!streamReader2.EndOfStream)
|
||
|
|
{
|
||
|
|
string value = streamReader2.ReadLine();
|
||
|
|
if (string.IsNullOrEmpty(value))
|
||
|
|
{
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
array = value.Split(separator, StringSplitOptions.RemoveEmptyEntries);
|
||
|
|
if (array.Length >= 4)
|
||
|
|
{
|
||
|
|
double num2;
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToDouble(array[0]);
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = -1.0;
|
||
|
|
}
|
||
|
|
arrHead.Add(num2);
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToDouble(array[1]);
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = -1.0;
|
||
|
|
}
|
||
|
|
arrTail.Add(num2);
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToDouble(array[2]);
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = -1.0;
|
||
|
|
}
|
||
|
|
arrFanJi.Add(num2);
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToDouble(array[3]);
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = -1.0;
|
||
|
|
}
|
||
|
|
arrRaoJi.Add(num2);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
streamReader2.Close();
|
||
|
|
}
|
||
|
|
fileStream2.Close();
|
||
|
|
}
|
||
|
|
if (arrHead.Count <= 1)
|
||
|
|
{
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
int num3 = 0;
|
||
|
|
for (int i = 0; i < arrHead.Count; i++)
|
||
|
|
{
|
||
|
|
for (int j = i + 1; j < arrHead.Count; j++)
|
||
|
|
{
|
||
|
|
if (!(arrHead[i] + 0.0001 < arrHead[j]) && (!(Math.Abs(arrHead[i] - arrHead[j]) < 0.0001) || !(arrTail[i] + 0.0001 < arrTail[j])))
|
||
|
|
{
|
||
|
|
double num2 = arrHead[i];
|
||
|
|
arrHead[i] = arrHead[j];
|
||
|
|
arrHead[j] = num2;
|
||
|
|
num2 = arrTail[i];
|
||
|
|
arrTail[i] = arrTail[j];
|
||
|
|
arrTail[j] = num2;
|
||
|
|
num2 = arrFanJi[i];
|
||
|
|
arrFanJi[i] = arrFanJi[j];
|
||
|
|
arrFanJi[j] = num2;
|
||
|
|
num2 = arrRaoJi[i];
|
||
|
|
arrRaoJi[i] = arrRaoJi[j];
|
||
|
|
arrRaoJi[j] = num2;
|
||
|
|
num3++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (num3 > 0)
|
||
|
|
{
|
||
|
|
using FileStream fileStream3 = new FileStream(mFName_data, FileMode.Create, FileAccess.Write, FileShare.None);
|
||
|
|
using (StreamWriter streamWriter = new StreamWriter(fileStream3, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
for (int k = 0; k < arrHead.Count; k++)
|
||
|
|
{
|
||
|
|
string value = $"{arrHead[k]}\t{arrTail[k]}\t{arrFanJi[k]}\t{arrRaoJi[k]}";
|
||
|
|
streamWriter.WriteLine(value);
|
||
|
|
}
|
||
|
|
streamWriter.Close();
|
||
|
|
}
|
||
|
|
fileStream3.Close();
|
||
|
|
}
|
||
|
|
int num4 = 0;
|
||
|
|
for (int l = 0; l < arrHead.Count - 1; l++)
|
||
|
|
{
|
||
|
|
for (int m = l; m < arrHead.Count && Math.Abs(arrHead[l] - arrHead[m]) < 0.0001; m++)
|
||
|
|
{
|
||
|
|
num4++;
|
||
|
|
}
|
||
|
|
if (num4 > 0)
|
||
|
|
{
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
mNumTail = num4;
|
||
|
|
mNumHead = arrHead.Count / num4;
|
||
|
|
double num5 = -1.0;
|
||
|
|
int num6 = 0;
|
||
|
|
mListHead.Clear();
|
||
|
|
mListNum.Clear();
|
||
|
|
for (int n = 0; n < arrHead.Count; n++)
|
||
|
|
{
|
||
|
|
if (n == 0)
|
||
|
|
{
|
||
|
|
num5 = arrHead[n];
|
||
|
|
num6 = 1;
|
||
|
|
}
|
||
|
|
else if (Math.Abs(num5 - arrHead[n]) > 0.0001 && num6 > 0)
|
||
|
|
{
|
||
|
|
mListHead.Add(num5);
|
||
|
|
mListNum.Add(num6);
|
||
|
|
num5 = arrHead[n];
|
||
|
|
num6 = 1;
|
||
|
|
if (n == arrHead.Count - 1)
|
||
|
|
{
|
||
|
|
mListHead.Add(num5);
|
||
|
|
mListNum.Add(num6);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
num6++;
|
||
|
|
if (n == arrHead.Count - 1 && Math.Abs(num5 - arrHead[n]) < 0.0001)
|
||
|
|
{
|
||
|
|
mListHead.Add(num5);
|
||
|
|
mListNum.Add(num6);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
num4 = 0;
|
||
|
|
for (int num7 = 0; num7 < mListNum.Count; num7++)
|
||
|
|
{
|
||
|
|
num4 += mListNum[num7];
|
||
|
|
}
|
||
|
|
if (num4 != arrHead.Count)
|
||
|
|
{
|
||
|
|
MyLog.AddLog($"ReadFileData() arrHead.Count={arrHead.Count} 不等于 mListNum={num4} ({mFName_data})");
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void Search()
|
||
|
|
{
|
||
|
|
if (arrHead.Count == 0)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
bool flag = false;
|
||
|
|
mSearchFanJi = arrFanJi[0];
|
||
|
|
mSearchRaoJi = arrRaoJi[0];
|
||
|
|
for (int i = 0; i < arrHead.Count; i++)
|
||
|
|
{
|
||
|
|
if (!(Math.Abs(arrHead[i] - 2.6) > 0.0001) && !(Math.Abs(arrTail[i] - 50.0) > 0.0001))
|
||
|
|
{
|
||
|
|
mSearchFanJi = arrFanJi[i];
|
||
|
|
mSearchRaoJi = arrRaoJi[i];
|
||
|
|
flag = true;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (!flag)
|
||
|
|
{
|
||
|
|
MyLog.AddLog("Search() 未发现(波头2.6,波尾50)匹配的数据。(" + mFName_data + ")");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public double Proba(double head, double tail)
|
||
|
|
{
|
||
|
|
double num = 0.0;
|
||
|
|
double num2 = 0.0;
|
||
|
|
double num3 = 0.0;
|
||
|
|
for (int i = 0; i < 97; i++)
|
||
|
|
{
|
||
|
|
num2 = Math.Exp(-0.5 * (Math.Pow((head - data[i, 0]) / bw[0], 2.0) + Math.Pow((tail - data[i, 1]) / bw[1], 2.0)));
|
||
|
|
num3 += num2;
|
||
|
|
}
|
||
|
|
return num3 / (Math.PI * 194.0 * bw[0] * bw[1] * 0.999874014593309);
|
||
|
|
}
|
||
|
|
|
||
|
|
public string LeiDianFuXian()
|
||
|
|
{
|
||
|
|
string text = "";
|
||
|
|
Search();
|
||
|
|
double num = mSearchFanJi;
|
||
|
|
if (m0FanJi_1RaoJi == 0)
|
||
|
|
{
|
||
|
|
num = mSearchFanJi;
|
||
|
|
}
|
||
|
|
if (m0FanJi_1RaoJi == 1)
|
||
|
|
{
|
||
|
|
num = mSearchRaoJi;
|
||
|
|
}
|
||
|
|
if (mShuiPing > num)
|
||
|
|
{
|
||
|
|
text = "No need!";
|
||
|
|
using (FileStream fileStream = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
streamWriter.WriteLine(text);
|
||
|
|
streamWriter.Close();
|
||
|
|
}
|
||
|
|
fileStream.Close();
|
||
|
|
}
|
||
|
|
return text;
|
||
|
|
}
|
||
|
|
double num2 = 0.0;
|
||
|
|
double num3 = 0.0;
|
||
|
|
double num4 = 0.0;
|
||
|
|
double num5 = 0.0;
|
||
|
|
double num6 = 0.0;
|
||
|
|
double num7 = 0.0;
|
||
|
|
double num8 = 0.0;
|
||
|
|
double num9 = 0.0;
|
||
|
|
double num10 = 0.0;
|
||
|
|
double num11 = 0.0;
|
||
|
|
double num12 = 0.0;
|
||
|
|
int num13 = 0;
|
||
|
|
for (int i = 0; i < mNumHead; i++)
|
||
|
|
{
|
||
|
|
for (int j = 0; j < mNumTail; j++)
|
||
|
|
{
|
||
|
|
num13 = i * mNumTail + j;
|
||
|
|
if (num13 >= arrHead.Count)
|
||
|
|
{
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
double num14;
|
||
|
|
double num15;
|
||
|
|
if (j == 0)
|
||
|
|
{
|
||
|
|
num2 = arrHead[num13];
|
||
|
|
num3 = arrTail[num13];
|
||
|
|
num14 = arrFanJi[num13];
|
||
|
|
num15 = arrRaoJi[num13];
|
||
|
|
num10 = ((m0FanJi_1RaoJi == 0) ? num14 : ((m0FanJi_1RaoJi != 1) ? num14 : num15));
|
||
|
|
if (Math.Abs(mShuiPing - num10) < 0.0001)
|
||
|
|
{
|
||
|
|
double num16 = Proba(num2, num3);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (i == 0 && mShuiPing < num10 && m0FanJi_1RaoJi == 0)
|
||
|
|
{
|
||
|
|
num12 = Proba(num2, num3);
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
double num16 = Proba(num2, num3);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
num4 = arrHead[num13];
|
||
|
|
num5 = arrTail[num13];
|
||
|
|
num6 = arrFanJi[num13];
|
||
|
|
num7 = arrRaoJi[num13];
|
||
|
|
num11 = ((m0FanJi_1RaoJi == 0) ? num6 : ((m0FanJi_1RaoJi != 1) ? num6 : num7));
|
||
|
|
if (Math.Abs(mShuiPing - num11) < 0.0001)
|
||
|
|
{
|
||
|
|
double num16 = Proba(num4, num5);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num4;
|
||
|
|
num9 = num5;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (mShuiPing > num10 && mShuiPing < num11)
|
||
|
|
{
|
||
|
|
if (Math.Abs(num2 - num4) < 0.0001)
|
||
|
|
{
|
||
|
|
double num17 = num2;
|
||
|
|
double num18 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num10) / (num11 - num10)) : (num5 + (num3 - num5) * (mShuiPing - num10) / (num11 - num10)));
|
||
|
|
double num16 = Proba(num17, num18);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num17;
|
||
|
|
num9 = num18;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (Math.Abs(num3 - num5) < 0.0001)
|
||
|
|
{
|
||
|
|
double num18 = num3;
|
||
|
|
double num17 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num10) / (num11 - num10)) : (num4 + (num2 - num4) * (mShuiPing - num10) / (num11 - num10)));
|
||
|
|
double num16 = Proba(num17, num18);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num17;
|
||
|
|
num9 = num18;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (mShuiPing > num11 && mShuiPing < num10)
|
||
|
|
{
|
||
|
|
if (Math.Abs(num2 - num4) < 0.0001)
|
||
|
|
{
|
||
|
|
double num17 = num2;
|
||
|
|
double num18 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num11) / (num10 - num11)) : (num5 + (num3 - num5) * (mShuiPing - num11) / (num10 - num11)));
|
||
|
|
double num16 = Proba(num17, num18);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num17;
|
||
|
|
num9 = num18;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (Math.Abs(num3 - num5) < 0.0001)
|
||
|
|
{
|
||
|
|
double num18 = num3;
|
||
|
|
double num17 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num11) / (num10 - num11)) : (num4 + (num2 - num4) * (mShuiPing - num11) / (num10 - num11)));
|
||
|
|
double num16 = Proba(num17, num18);
|
||
|
|
if (num16 > num12)
|
||
|
|
{
|
||
|
|
num12 = num16;
|
||
|
|
num8 = num17;
|
||
|
|
num9 = num18;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
num2 = num4;
|
||
|
|
num3 = num5;
|
||
|
|
num14 = num6;
|
||
|
|
num15 = num7;
|
||
|
|
if (i == mNumHead - 1 && j == mNumTail - 1 && mShuiPing < num11 && m0FanJi_1RaoJi == 1)
|
||
|
|
{
|
||
|
|
num12 = Proba(num4, num5);
|
||
|
|
num8 = num4;
|
||
|
|
num9 = num5;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = $"head = {num8}, tail = {num9}, pro = {num12}";
|
||
|
|
using (FileStream fileStream2 = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter2 = new StreamWriter(fileStream2, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
streamWriter2.WriteLine(text);
|
||
|
|
streamWriter2.Close();
|
||
|
|
}
|
||
|
|
fileStream2.Close();
|
||
|
|
}
|
||
|
|
return text;
|
||
|
|
}
|
||
|
|
|
||
|
|
public string LeiDianFuXian2()
|
||
|
|
{
|
||
|
|
string text = "";
|
||
|
|
Search();
|
||
|
|
double num = mSearchFanJi;
|
||
|
|
if (m0FanJi_1RaoJi == 0)
|
||
|
|
{
|
||
|
|
num = mSearchFanJi;
|
||
|
|
}
|
||
|
|
if (m0FanJi_1RaoJi == 1)
|
||
|
|
{
|
||
|
|
num = mSearchRaoJi;
|
||
|
|
}
|
||
|
|
if (mShuiPing > num)
|
||
|
|
{
|
||
|
|
text = "No need!";
|
||
|
|
using (FileStream fileStream = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
streamWriter.WriteLine(text);
|
||
|
|
streamWriter.Close();
|
||
|
|
}
|
||
|
|
fileStream.Close();
|
||
|
|
}
|
||
|
|
return text;
|
||
|
|
}
|
||
|
|
double num2 = 0.0;
|
||
|
|
double num3 = 0.0;
|
||
|
|
double num4 = 0.0;
|
||
|
|
double num5 = 0.0;
|
||
|
|
double num6 = 0.0;
|
||
|
|
double num7 = 0.0;
|
||
|
|
double num8 = 0.0;
|
||
|
|
double num9 = 0.0;
|
||
|
|
double num10 = 0.0;
|
||
|
|
double num11 = 0.0;
|
||
|
|
double num12 = 0.0;
|
||
|
|
int num13 = 0;
|
||
|
|
for (int i = 0; i < mListNum.Count; i++)
|
||
|
|
{
|
||
|
|
if (num13 >= arrHead.Count)
|
||
|
|
{
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
int num14 = 0;
|
||
|
|
while (num14 < mListNum[i] && num13 < arrHead.Count)
|
||
|
|
{
|
||
|
|
if (num14 == 0)
|
||
|
|
{
|
||
|
|
num2 = arrHead[num13];
|
||
|
|
num3 = arrTail[num13];
|
||
|
|
double num15 = arrFanJi[num13];
|
||
|
|
double num16 = arrRaoJi[num13];
|
||
|
|
num10 = ((m0FanJi_1RaoJi == 0) ? num15 : ((m0FanJi_1RaoJi != 1) ? num15 : num16));
|
||
|
|
if (Math.Abs(mShuiPing - num10) < 0.0001)
|
||
|
|
{
|
||
|
|
double num17 = Proba(num2, num3);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (i == 0 && mShuiPing < num10 && m0FanJi_1RaoJi == 0)
|
||
|
|
{
|
||
|
|
num12 = Proba(num2, num3);
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
double num17 = Proba(num2, num3);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num2;
|
||
|
|
num9 = num3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
num4 = arrHead[num13];
|
||
|
|
num5 = arrTail[num13];
|
||
|
|
num6 = arrFanJi[num13];
|
||
|
|
num7 = arrRaoJi[num13];
|
||
|
|
num11 = ((m0FanJi_1RaoJi == 0) ? num6 : ((m0FanJi_1RaoJi != 1) ? num6 : num7));
|
||
|
|
if (Math.Abs(mShuiPing - num11) < 0.0001)
|
||
|
|
{
|
||
|
|
double num17 = Proba(num4, num5);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num4;
|
||
|
|
num9 = num5;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (mShuiPing > num10 && mShuiPing < num11)
|
||
|
|
{
|
||
|
|
if (Math.Abs(num2 - num4) < 0.0001)
|
||
|
|
{
|
||
|
|
double num18 = num2;
|
||
|
|
double num19 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num10) / (num11 - num10)) : (num5 + (num3 - num5) * (mShuiPing - num10) / (num11 - num10)));
|
||
|
|
double num17 = Proba(num18, num19);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num18;
|
||
|
|
num9 = num19;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (Math.Abs(num3 - num5) < 0.0001)
|
||
|
|
{
|
||
|
|
double num19 = num3;
|
||
|
|
double num18 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num10) / (num11 - num10)) : (num4 + (num2 - num4) * (mShuiPing - num10) / (num11 - num10)));
|
||
|
|
double num17 = Proba(num18, num19);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num18;
|
||
|
|
num9 = num19;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (mShuiPing > num11 && mShuiPing < num10)
|
||
|
|
{
|
||
|
|
if (Math.Abs(num2 - num4) < 0.0001)
|
||
|
|
{
|
||
|
|
double num18 = num2;
|
||
|
|
double num19 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num11) / (num10 - num11)) : (num5 + (num3 - num5) * (mShuiPing - num11) / (num10 - num11)));
|
||
|
|
double num17 = Proba(num18, num19);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num18;
|
||
|
|
num9 = num19;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (Math.Abs(num3 - num5) < 0.0001)
|
||
|
|
{
|
||
|
|
double num19 = num3;
|
||
|
|
double num18 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num11) / (num10 - num11)) : (num4 + (num2 - num4) * (mShuiPing - num11) / (num10 - num11)));
|
||
|
|
double num17 = Proba(num18, num19);
|
||
|
|
if (num17 > num12)
|
||
|
|
{
|
||
|
|
num12 = num17;
|
||
|
|
num8 = num18;
|
||
|
|
num9 = num19;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
num2 = num4;
|
||
|
|
num3 = num5;
|
||
|
|
double num15 = num6;
|
||
|
|
double num16 = num7;
|
||
|
|
if (num13 == arrHead.Count - 1 && mShuiPing < num11 && m0FanJi_1RaoJi == 1)
|
||
|
|
{
|
||
|
|
num12 = Proba(num4, num5);
|
||
|
|
num8 = num4;
|
||
|
|
num9 = num5;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
num14++;
|
||
|
|
num13++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = $"head = {num8}, tail = {num9}, pro = {num12}";
|
||
|
|
using (FileStream fileStream2 = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter2 = new StreamWriter(fileStream2, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
streamWriter2.WriteLine(text);
|
||
|
|
streamWriter2.Close();
|
||
|
|
}
|
||
|
|
fileStream2.Close();
|
||
|
|
}
|
||
|
|
return text;
|
||
|
|
}
|
||
|
|
|
||
|
|
public string MyLoad_BaseData(string _fname)
|
||
|
|
{
|
||
|
|
string result = "OK";
|
||
|
|
bool flag = false;
|
||
|
|
int i = -1;
|
||
|
|
int num = 0;
|
||
|
|
int num2 = 0;
|
||
|
|
double num3 = 0.0;
|
||
|
|
string text = "";
|
||
|
|
string[] array = new string[2] { "<TGanTa>", "<XianLu>" };
|
||
|
|
string[] array2 = new string[2] { "</TGanTa>", "</XianLu>" };
|
||
|
|
string text2 = "";
|
||
|
|
string[] separator = new string[3] { "\r", "\n", "," };
|
||
|
|
string[] array3 = null;
|
||
|
|
TGanTaData tGanTaData = null;
|
||
|
|
int num4 = 0;
|
||
|
|
int num5 = 0;
|
||
|
|
string text3 = "";
|
||
|
|
Dictionary<string, int> dictionary = new Dictionary<string, int>();
|
||
|
|
dictionary.Clear();
|
||
|
|
bool flag2 = false;
|
||
|
|
arrHead.Clear();
|
||
|
|
arrTail.Clear();
|
||
|
|
arrFanJi.Clear();
|
||
|
|
arrRaoJi.Clear();
|
||
|
|
try
|
||
|
|
{
|
||
|
|
using FileStream fileStream = new FileStream(_fname, FileMode.Open, FileAccess.Read, FileShare.None);
|
||
|
|
using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
while (!streamReader.EndOfStream)
|
||
|
|
{
|
||
|
|
text2 = streamReader.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 j = 0; j < array2.Length; j++)
|
||
|
|
{
|
||
|
|
if (text2.IndexOf(array2[j]) >= 0)
|
||
|
|
{
|
||
|
|
flag = false;
|
||
|
|
i = -1;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (!flag)
|
||
|
|
{
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
string text4 = array[i];
|
||
|
|
string text5 = text4;
|
||
|
|
if (!(text5 == "<TGanTa>"))
|
||
|
|
{
|
||
|
|
if (text5 == "<XianLu>")
|
||
|
|
{
|
||
|
|
num++;
|
||
|
|
}
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
array3 = text2.Split(separator, StringSplitOptions.None);
|
||
|
|
if (num == 0)
|
||
|
|
{
|
||
|
|
num4 = 0;
|
||
|
|
}
|
||
|
|
if (num == 0 && text2.IndexOf("杆塔模型") >= 0)
|
||
|
|
{
|
||
|
|
for (int k = 0; k < array3.Length; k++)
|
||
|
|
{
|
||
|
|
dictionary.Add(array3[k], k);
|
||
|
|
}
|
||
|
|
num++;
|
||
|
|
num4 = 0;
|
||
|
|
flag2 = true;
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
if (array3.Length >= 93)
|
||
|
|
{
|
||
|
|
tGanTaData = new TGanTaData();
|
||
|
|
if (flag2)
|
||
|
|
{
|
||
|
|
for (int l = 0; l < array3.Length; l++)
|
||
|
|
{
|
||
|
|
text3 = dictionary.ElementAt(l).Key;
|
||
|
|
num5 = dictionary.ElementAt(l).Value;
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].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 (num5 = 0; num5 < array3.Length; num5++)
|
||
|
|
{
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].Trim();
|
||
|
|
switch (num5)
|
||
|
|
{
|
||
|
|
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0)
|
||
|
|
{
|
||
|
|
arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa);
|
||
|
|
arrTail.Add(tGanTaData.mCurrentTailTime_GanTa);
|
||
|
|
arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa);
|
||
|
|
arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa);
|
||
|
|
num4++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (array3.Length >= 92)
|
||
|
|
{
|
||
|
|
tGanTaData = new TGanTaData();
|
||
|
|
if (flag2)
|
||
|
|
{
|
||
|
|
for (int m = 0; m < array3.Length; m++)
|
||
|
|
{
|
||
|
|
text3 = dictionary.ElementAt(m).Key;
|
||
|
|
num5 = dictionary.ElementAt(m).Value;
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].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 (num5 = 0; num5 < array3.Length; num5++)
|
||
|
|
{
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].Trim();
|
||
|
|
switch (num5)
|
||
|
|
{
|
||
|
|
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0)
|
||
|
|
{
|
||
|
|
arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa);
|
||
|
|
arrTail.Add(tGanTaData.mCurrentTailTime_GanTa);
|
||
|
|
arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa);
|
||
|
|
arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa);
|
||
|
|
num4++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (array3.Length >= 79)
|
||
|
|
{
|
||
|
|
tGanTaData = new TGanTaData();
|
||
|
|
if (flag2)
|
||
|
|
{
|
||
|
|
for (int n = 0; n < array3.Length; n++)
|
||
|
|
{
|
||
|
|
text3 = dictionary.ElementAt(n).Key;
|
||
|
|
num5 = dictionary.ElementAt(n).Value;
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].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 (num5 = 0; num5 < array3.Length; num5++)
|
||
|
|
{
|
||
|
|
if (array3[num5] == null)
|
||
|
|
{
|
||
|
|
num2 = 0;
|
||
|
|
num3 = 0.0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num2 = Convert.ToInt32(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num2 = 1;
|
||
|
|
}
|
||
|
|
try
|
||
|
|
{
|
||
|
|
num3 = Convert.ToDouble(array3[num5].Trim());
|
||
|
|
}
|
||
|
|
catch (Exception)
|
||
|
|
{
|
||
|
|
num3 = 1.0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
text = array3[num5].Trim();
|
||
|
|
switch (num5)
|
||
|
|
{
|
||
|
|
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0)
|
||
|
|
{
|
||
|
|
arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa);
|
||
|
|
arrTail.Add(tGanTaData.mCurrentTailTime_GanTa);
|
||
|
|
arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa);
|
||
|
|
arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa);
|
||
|
|
num4++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
num++;
|
||
|
|
}
|
||
|
|
streamReader.Close();
|
||
|
|
}
|
||
|
|
fileStream.Close();
|
||
|
|
}
|
||
|
|
catch (Exception ex13)
|
||
|
|
{
|
||
|
|
MyLog.AddLog("MyLoad_BaseData() 载入基础数据文件发生异常。文件:" + _fname + "。异常:" + ex13.Message + "。");
|
||
|
|
return "MyLoad_BaseData() 载入基础数据文件发生异常。文件:" + _fname + "。异常:" + ex13.Message + "。";
|
||
|
|
}
|
||
|
|
using (FileStream fileStream2 = new FileStream(mFName_file, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter = new StreamWriter(fileStream2, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
streamWriter.WriteLine(mCurveNo);
|
||
|
|
streamWriter.WriteLine(mNumHead);
|
||
|
|
streamWriter.WriteLine(mNumTail);
|
||
|
|
streamWriter.WriteLine(mShuiPing);
|
||
|
|
streamWriter.WriteLine(m0FanJi_1RaoJi);
|
||
|
|
streamWriter.Close();
|
||
|
|
}
|
||
|
|
fileStream2.Close();
|
||
|
|
}
|
||
|
|
using (FileStream fileStream3 = new FileStream(mFName_data, FileMode.Create, FileAccess.Write, FileShare.None))
|
||
|
|
{
|
||
|
|
using (StreamWriter streamWriter2 = new StreamWriter(fileStream3, Encoding.UTF8))
|
||
|
|
{
|
||
|
|
for (int num6 = 0; num6 < arrHead.Count; num6++)
|
||
|
|
{
|
||
|
|
text2 = $"{arrHead[num6]}\t{arrTail[num6]}\t{arrFanJi[num6]}\t{arrRaoJi[num6]}";
|
||
|
|
streamWriter2.WriteLine(text2);
|
||
|
|
}
|
||
|
|
streamWriter2.Close();
|
||
|
|
}
|
||
|
|
fileStream3.Close();
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
}
|