private void Load() { int noOfParameters; using (StreamReader sr = new StreamReader(FileName)) { Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); string s = sr.ReadLine(); Upper.AppendLine(s); noOfParameters = int.Parse(s.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)[0]); while ((s = sr.ReadLine())!="* parameter data") Upper.AppendLine(s); Upper.AppendLine(s); for (int i = 0; i < noOfParameters; i++) { string[] splitted = sr.ReadLine().Split(new string[] { "\t" }, StringSplitOptions.None); CalibrationParameter cp = new CalibrationParameter(); cp.ShortName = splitted[0]; ParameterType p; if (Enum.TryParse<ParameterType>(splitted[1], true, out p )) cp.ParType = p; cp.ParChgLim = splitted[2]; cp.CurrentValue = double.Parse(splitted[3]); cp.MinValue = double.Parse(splitted[4]); cp.MaxValue = double.Parse(splitted[5]); var g = Groups.FirstOrDefault(var => var.Name.ToLower() == splitted[6].ToLower()); if (g == null) { g = new ParameterGroup(); g.Name = splitted[6]; Groups.Add(g); } cp.Group = g; cp.Scale = double.Parse(splitted[7]); cp.Offset = double.Parse(splitted[8]); cp.Dercom = double.Parse(splitted[9]); Parameters.Add(cp); } for (int i=0;i< Parameters.Count(var=>var.ParType == ParameterType.tied);i++) { string[] splitted = sr.ReadLine().Split(new string[] { " ","\t" }, StringSplitOptions.None); var cp = Parameters.Single(var => var.ShortName == splitted[0]); cp.TiedTo = Parameters.Single(var => var.ShortName == splitted[1]); } Lower.Append(sr.ReadToEnd()); } }
private void Load() { int noOfParameters; using (StreamReader sr = new StreamReader(FileName)) { Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); string s = sr.ReadLine(); Upper.AppendLine(s); noOfParameters = int.Parse(s.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)[0]); while ((s = sr.ReadLine()) != "* parameter data") { Upper.AppendLine(s); } Upper.AppendLine(s); for (int i = 0; i < noOfParameters; i++) { string[] splitted = sr.ReadLine().Split(new string[] { "\t" }, StringSplitOptions.None); CalibrationParameter cp = new CalibrationParameter(); cp.ShortName = splitted[0]; ParameterType p; if (Enum.TryParse <ParameterType>(splitted[1], true, out p)) { cp.ParType = p; } cp.ParChgLim = splitted[2]; cp.CurrentValue = double.Parse(splitted[3]); cp.MinValue = double.Parse(splitted[4]); cp.MaxValue = double.Parse(splitted[5]); var g = Groups.FirstOrDefault(var => var.Name.ToLower() == splitted[6].ToLower()); if (g == null) { g = new ParameterGroup(); g.Name = splitted[6]; Groups.Add(g); } cp.Group = g; cp.Scale = double.Parse(splitted[7]); cp.Offset = double.Parse(splitted[8]); cp.Dercom = double.Parse(splitted[9]); Parameters.Add(cp); } for (int i = 0; i < Parameters.Count(var => var.ParType == ParameterType.tied); i++) { string[] splitted = sr.ReadLine().Split(new string[] { " ", "\t" }, StringSplitOptions.None); var cp = Parameters.Single(var => var.ShortName == splitted[0]); cp.TiedTo = Parameters.Single(var => var.ShortName == splitted[1]); } Lower.Append(sr.ReadToEnd()); } }