Exemplo n.º 1
0
    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());
      }
    }
Exemplo n.º 2
0
        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());
            }
        }