Ejemplo n.º 1
0
        /// <summary>
        /// 将数据转换为DMode,所有数据保存在QFile中的data列表中。
        /// </summary>
        /// <returns></returns>
        public bool ToDMode()
        {
            if (dataMode == QFileMode.DMode || pramters.Count == 0)
            {
                return(true);
            }
            int count = 0;

            try
            {
                //第一步,取参数中数据最多的那个。
                int max = 0;
                for (int i = 0; i < pramters.Count; i++)
                {
                    if (max <= pramters[i].data.Count)
                    {
                        max = pramters[i].data.Count;
                    }
                }

                //第二步,进行整理,把参数中带的数据,全放到数据QFile.Data中去。
                for (int i = 0; i < max; i++)
                {
                    QData qd = new QData();
                    for (int j = 0; j < pramters.Count; j++)
                    {
                        QDataItem di = new QDataItem();
                        if (i >= pramters[j].data.Count)
                        {
                            di.p1 = 256;
                        }
                        else
                        {
                            di = pramters[j].data[i];
                            count++;
                        }
                        qd.items.Add(di);
                    }
                    data.Add(qd);
                }

                //清除参数中的数据。
                for (int i = 0; i < pramters.Count; i++)
                {
                    pramters[i].data.Clear();
                }

                dataMode = QFileMode.DMode;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }
            //Console.WriteLine(count);
            return(true);
        }
Ejemplo n.º 2
0
 public override void FromString(string s)
 {
     string[] dt = s.Split(splitter);
     for (int i = 0; i < dt.Length; i++)
     {
         QDataItem qdi = new QDataItem(dt[i]);
         if (qdi.Available)
         {
             items.Add(qdi);
         }
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 将数据转换为DMode,所有数据保存在QFile中的data列表中。
        /// </summary>
        /// <returns></returns>
        public bool ToDMode()
        {
            // 如果已经是D模式了或者数据为空则返回。
            if (dataMode == QFileMode.DMode || Charactericstics.Count == 0)
            {
                return(true);
            }
            Data.Clear();

            //Step 1,取参数中数据最多的那个的参数个数保存在max中。
            int max = 0;

            for (int i = 0; i < Charactericstics.Count; i++)
            {
                max = max >= Charactericstics[i].data.Count ? max : Charactericstics[i].data.Count;
            }

            //Step 2,进行整理,把参数中带的数据,全放到数据QFile.Data中去。
            for (int i = 0; i < max; i++)
            {
                QData qd = new QData();
                //将参数中的数据复制到QFile的Data列表中。
                for (int j = 0; j < Charactericstics.Count; j++)
                {
                    QDataItem di = new QDataItem();
                    if (i >= Charactericstics[j].data.Count)
                    {
                        di.p1 = 255;
                    }
                    else
                    {
                        di = Charactericstics[j].data[i];
                    }
                    qd.items.Add(di);
                }
                Data.Add(qd);
            }

            //清除参数中的数据。
            for (int i = 0; i < Charactericstics.Count; i++)
            {
                Charactericstics[i].data.Clear();
            }


            dataMode = QFileMode.DMode;

            return(true);
        }
Ejemplo n.º 4
0
        //定义了2种模式,PMode和DMode
        //其中PMode是指数据保证在参数的数据列表中,
        //而DMode是指数据放置在数据列表中。
        /// <summary>
        /// PMode是指数据保证在参数的数据列表中
        /// </summary>
        public bool ToPMode()
        {
            // 如果已经是P模式了或者数据为空则返回。
            if (dataMode == QFileMode.PMode || Data.Count == 0)
            {
                return(true);
            }


            try
            {
                //将data中的第一个QData分别给对应的参数赋值。
                for (int i = 0; i < Data.Count; i++)
                {
                    for (int j = 0; j < Charactericstics.Count; j++)
                    {
                        QDataItem di = Data[i].items[j];
                        // 只有p1为0时,才是数据,否则255或256表示无数据。
                        if (di.p1 == 0)
                        {
                            Charactericstics[j].data.Add(di);
                        }
                    }
                }
                Data.Clear();
                dataMode = QFileMode.PMode;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                // 清空所有参数下的已转换数据。
                for (int j = 0; j < Charactericstics.Count; j++)
                {
                    Charactericstics[j].data.Clear();
                }
                return(false);
            }


            return(true);
        }
Ejemplo n.º 5
0
        //定义了2种模式,PMode和DMode
        //其中PMode是指数据保证在参数的数据列表中,
        //而DMode是指数据放置在数据列表中。
        /// <summary>
        /// PMode是指数据保证在参数的数据列表中
        /// </summary>
        public bool ToPMode()
        {
            if (dataMode == QFileMode.PMode || data.Count == 0)
            {
                return(true);
            }

            int count = 0;

            try
            {
                //将data中的第一个QData分别给对应的参数赋值。
                for (int i = 0; i < data.Count; i++)
                {
                    for (int j = 0; j < pramters.Count; j++)
                    {
                        QCharacteristic p  = pramters[j];
                        QDataItem       di = data[i].items[j];
                        if (di.p1 == 0)
                        {
                            p.data.Add(di);
                            count++;
                        }
                    }
                }

                data.Clear();
                dataMode = QFileMode.PMode;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }


            return(true);
        }
Ejemplo n.º 6
0
        public QDataItem Clone()
        {
            QDataItem di = new QDataItem();

            di.date       = this.date;
            di.addon      = this.addon;
            di.p1         = this.p1;
            di.p3event    = this.p3event;
            di.p4pici     = this.p4pici;
            di.p5caoxue   = this.p5caoxue;
            di.p6operator = this.p6operator;
            di.p7machine  = this.p7machine;
            di.p8process  = this.p8process;
            di.p9tool     = this.p9tool;
            di.p10        = this.p10;
            di.p11        = this.p11;

            foreach (KItem ki in dic.Values)
            {
                di.dic.Add(ki.KName, ki);
            }

            return(di);
        }