Example #1
0
 /// <summary>
 /// 从文本段填充数据集参数
 /// </summary>
 /// <param name="keyValues">文本段字典</param>
 /// <param name="parameter">需要完善的参数</param>
 protected virtual void FillParameterFromTextSegment(Dictionary <string, string> keyValues, FCSFileParameter parameter)
 {
     if (keyValues == null)
     {
         throw new Exception("Text segment is null,can't analyse and fill parameter");
     }
     if (parameter == null)
     {
         throw new Exception("FCS parameter is null,can't edit");
     }
     if (keyValues.ContainsKey(Keys.BeginAnalysisKey) && long.TryParse(keyValues[Keys.BeginAnalysisKey], out long beginAnalysis))
     {
         parameter.AnalysisBegin = beginAnalysis;
     }
     if (keyValues.ContainsKey(Keys.EndAnalysisKey) && long.TryParse(keyValues[Keys.EndAnalysisKey], out long endAnalysis))
     {
         parameter.AnalysisEnd = endAnalysis;
     }
     if (keyValues.ContainsKey(Keys.BeginDataKey) && long.TryParse(keyValues[Keys.BeginDataKey], out long beginData))
     {
         parameter.DataBegin = beginData;
     }
     if (keyValues.ContainsKey(Keys.EndDataKey) && long.TryParse(keyValues[Keys.EndDataKey], out long endData))
     {
         parameter.DataEnd = endData;
     }
     if (keyValues.ContainsKey(Keys.BeginSTextKey) && long.TryParse(keyValues[Keys.BeginSTextKey], out long beginSText))
     {
         parameter.STextBegin = beginSText;
     }
     if (keyValues.ContainsKey(Keys.EndSTextKey) && long.TryParse(keyValues[Keys.EndSTextKey], out long endSText))
     {
         parameter.STextEnd = endSText;
     }
     if (keyValues.ContainsKey(Keys.ByteOrdKey))
     {
         parameter.ByteOrd = ByteOrderConvert.ConvertToEnum(keyValues[Keys.ByteOrdKey]);
     }
     if (keyValues.ContainsKey(Keys.DataTypeKey))
     {
         parameter.DataType = DataTypeConvert.ConvertToEnum(keyValues[Keys.DataTypeKey]);
     }
     if (keyValues.ContainsKey(Keys.NextDataKey) && long.TryParse(keyValues[Keys.NextDataKey], out long nextData))
     {
         parameter.NextData = nextData;
     }
     if (keyValues.ContainsKey(Keys.PARKey) && uint.TryParse(keyValues[Keys.PARKey], out uint par))
     {
         parameter.PAR = par;
     }
     if (keyValues.ContainsKey(Keys.TOTKey) && uint.TryParse(keyValues[Keys.TOTKey], out uint tot))
     {
         parameter.TOT = tot;
     }
 }
Example #2
0
 /// <summary>
 /// 从文本段填充数据集参数
 /// </summary>
 /// <param name="keyValues">文本段字典</param>
 /// <param name="parameter">需要完善的参数</param>
 protected override void FillParameterFromTextSegment(Dictionary <string, string> keyValues, FCSFileParameter parameter)
 {
     base.FillParameterFromTextSegment(keyValues, parameter);
     if (keyValues.ContainsKey(Keys.ModeKey) && ModeConvert.ConvertToEnum(keyValues[Keys.ModeKey]) != Mode.L)
     {
         throw new Exception("Can't analyse,mode must be L");
     }
     if (keyValues.ContainsKey(Keys.ByteOrdKey) && ByteOrderConvert.ConvertToEnum(keyValues[Keys.ByteOrdKey]) == ByteOrd.Unknown)
     {
         throw new Exception("Can't analyse,byteord not supported");
     }
     if (keyValues.ContainsKey(Keys.UnicodeKey) && !"UTF-8".Equals(keyValues[Keys.UnicodeKey].ToUpper()) && !"UTF8".Equals(keyValues[Keys.UnicodeKey].ToUpper()))
     {
         throw new Exception("Can't analyse,unicode must be utf-8");
     }
 }