/// <summary>
        /// поток загрузки данных из буффера
        /// </summary>
        private static void DoWork1(object data)
        {
            status            = eDataSetStatus.loadingFromFile;
            descryption       = @"Загрузка данных из файла";
            percentCompleated = 0;
            int countLines  = 0;
            int currentLine = 0;

            string tmp = (string)data;

            tmp = tmp.Replace('\r', ' ');

            string[] Gkode = tmp.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); //"\r\n"

            countLines = Gkode.Length;

            foreach (string line in Gkode)
            {
                GkodeWorker.Gkode.Add(line);

                /*
                 * DataRows.Add(new DataRow(currentLine, line));
                 */
                percentCompleated = (int)(((decimal)100 / countLines) * currentLine);
                currentLine++;
            }

            /*
             *
             * status = eDataSetStatus.parsingData;
             *
             * DataRow tmpDataRowRecord = new DataRow(0, "");
             *
             * //if (DataRows.Count != 0)
             * //{
             * //    DataRow curDataRow = DataRows[currentLine];
             * //    FillStructure(tmpDataRowRecord, ref curDataRow);
             * //}
             *
             * descryption = @"Парсинг данных";
             * percentCompleated = 0;
             * currentLine = 0;
             *
             * while ((currentLine < DataRows.Count) && !_shouldStop)
             * {
             *  percentCompleated = (int)(((decimal)100 / countLines) * currentLine);
             *
             *  DataRow curDataRow = DataRows[currentLine];
             *  FillStructure(tmpDataRowRecord, ref curDataRow);
             *
             *  //скопируем, ля возможности дальше знать предыдущие параметры
             *  tmpDataRowRecord = curDataRow;
             *
             *  currentLine++;
             * }
             */
            GkodeWorker.Parsing();
            status             = eDataSetStatus.none;
            dateGetNewDataCode = DateTime.Now;
        }
        /// <summary>
        /// поток загрузки данных из файла
        /// </summary>
        private static void DoWork(object data)
        {
            status            = eDataSetStatus.loadingFromFile;
            descryption       = @"Загрузка данных из файла";
            percentCompleated = 0;
            int countLines  = 0;
            int currentLine = 0;

            // в начале узнаем сколько строк
            using (StreamReader r = new StreamReader((string)data))
            {
                while ((r.ReadLine()) != null)
                {
                    countLines++;
                }
            }
            // а теперь из файла прочитаем
            using (StreamReader srReader = File.OpenText((string)data))
            {
                string line;
                while ((line = srReader.ReadLine()) != null && !_shouldStop)
                {
                    GkodeWorker.Gkode.Add(line);

                    // в переменной line имеем строку которую парсим
                    /*DataRows.Add(new DataRow(currentLine, line));*/
                    //Data_string.Add(new stringData(indx++,line));

                    percentCompleated = (int)(((decimal)100 / countLines) * currentLine);
                    currentLine++;
                }
            }


            //status = eDataSetStatus.parsingData;
            //descryption = @"Парсинг данных";
            //percentCompleated = 0;
            //currentLine = 0;

            //PointCNC tmpPoint = new PointCNC();

            //while ((currentLine < PointsFor3D.Count) && !_shouldStop)
            //{
            //    percentCompleated = (int)(((decimal)100 / countLines) * currentLine);

            //    PointCNC curPoint = PointsFor3D[currentLine];
            //    FillStructure(tmpPoint, ref curPoint;

            //    //скопируем, ля возможности дальше знать предыдущие параметры
            //    tmpPoint = curPoint;

            //    currentLine++;
            //}


            GkodeWorker.Parsing();
            status             = eDataSetStatus.none;
            dateGetNewDataCode = DateTime.Now;
        }