/// <summary> /// Parsing Interpolation /// </summary> /// <param name="data">Interpolation</param> /// <param name="errMsg">Error Message</param> /// <param name="pol">Interpolation</param> /// <returns></returns> public bool ParseInterpolation(string data, ref string errMsg, ref InterpolationAlgorithm pol) { bool ret = true; try { pol = (InterpolationAlgorithm)Enum.Parse(typeof(InterpolationAlgorithm), data); } catch { ret = false; errMsg = ERROR_INTERPOLATION; pol = InterpolationAlgorithm.LINEAR; } return(ret); }
/// <summary> /// Read ini file. /// </summary> /// <returns>result</returns> public bool ReadParameterIni() { ClrMsppManager msObj = ClrMsppManager.getInstance(); ClrIniFile ini = msObj.getParameters(); uint sectionNum = ini.getNumberOfSections(); uint parameterNum; string parameterName; bool flgSectionFound = default(bool); string errMsg = ""; for (uint i = 0; i < sectionNum; i++) { if (ini.getSection(i) == PARAMETERS_INI_SECTION_NAME) { parameterNum = ini.getNumberOfParameters(ini.getSection(i)); flgSectionFound = true; for (uint j = 0; j < parameterNum; j++) { parameterName = ini.getParameterName(ini.getSection(i), j); string parseResult = ini.getParameterValue(ini.getSection(i), j); switch (parameterName) { //Sampling Points case PARAMETERS_INI_SAMPLINGPOINTS: SamplingMode mode = SamplingMode.FIRST; if (ParseResamplingMode(parseResult, ref errMsg, ref mode) == false) { ErrorMessage += (errMsg + "\n"); } else { ResamplingMode = mode; } break; //Interpolation case PARAMETERS_INI_INTERPOLATION: InterpolationAlgorithm pol = InterpolationAlgorithm.LINEAR; if (ParseInterpolation(parseResult, ref errMsg, ref pol) == false) { ErrorMessage += (errMsg + "\n"); } Interpolation = pol; break; //Output range MIN case PARAMETERS_INI_OUTPUTRANGEMIN: double?min = null; if (ParseOutputRangeMin(parseResult, ref errMsg, ref min) == false) { ErrorMessage += (errMsg + "\n"); } OutputLowerRange = min; break; //Output range MAX case PARAMETERS_INI_OUTPUTRANGEMAX: double?max = null; if (ParseOutputRangeMax(parseResult, ref errMsg, ref max) == false) { ErrorMessage += (errMsg + "\n"); } OutputHigherRange = max; break; //Specified Interval case PARAMETERS_INI_SPECIFIED_INTERVAL: double?Interval = null; if (ParseSpecifiedInterval(parseResult, ref errMsg, ref Interval, ResamplingMode) == false) { ErrorMessage = ErrorMessage + errMsg + "\n"; } SpecifiedInterval = Interval; break; default: break; } } } } //Debug.WriteLine(ini.getSection(0)); return(flgSectionFound); }