Exemplo n.º 1
0
        /// <summary>
        ///
        /// PLD를 Data Table로 변환한다.
        /// </summary>
        /// <param name="strFileName"></param>
        /// <param name="strLine"></param>
        public void LineToRecord(String strFileName, String strLine)
        {
            if (strLine.Contains("CROSS mid") == false)
            {
                return;
            }


            int      nPos   = 0;
            Encoding encode = Encoding.GetEncoding("ks_c_5601-1987");

            byte[] buf = encode.GetBytes(strLine);

            String sTmp;

            DataRow Dr = m_dt.NewRow();

            m_key++;

            Dr[CUtil.GetName(enumPLD.key)]       = m_key;
            Dr[CUtil.GetName(enumPLD.order_seq)] = m_key;
            Dr[CUtil.GetName(enumPLD.filename)]  = strFileName;


            Dr[CUtil.GetName(enumPLD.measure_point)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.measure_point)));
            nPos += CUtil.GetLength(enumPLD.measure_point);

            Dr[CUtil.GetName(enumPLD.inv)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.inv)));
            nPos += CUtil.GetLength(enumPLD.inv);

            Dr[CUtil.GetName(enumPLD.size)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.size)));
            nPos += CUtil.GetLength(enumPLD.size);

            //Dr[CUtil.GetName(enumPLD.text)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.text)));
            //nPos += CUtil.GetLength(enumPLD.text);

            //Dr[CUtil.GetName(enumPLD.boxt1)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.boxt1)));
            //nPos += CUtil.GetLength(enumPLD.boxt1);

            //Dr[CUtil.GetName(enumPLD.boxt2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.boxt2)));
            //nPos += CUtil.GetLength(enumPLD.boxt2);

            //Dr[CUtil.GetName(enumPLD.boxt3)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLD.boxt3)));
            //nPos += CUtil.GetLength(enumPLD.boxt3);

            m_dt.Rows.Add(Dr);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Data Table 을  PLH로 전환한다.
        /// </summary>
        /// <param name="DirPath"></param>
        /// <returns></returns>
        public int RecordToLine(string strSavepath)
        {
            try
            {
                if (m_dt.Rows.Count <= 0)
                {
                    MessageBox.Show("저장할 내용이 없습니다.");
                    return(0);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("저장할 내용이 없습니다.");

                return(0);

                throw ex;
            }

            //요기부터 저장하면 됨
            Encoding encode = Encoding.GetEncoding("ks_c_5601-1987");

            //key로 Sort 한다.
            //m_dt.DefaultView.Sort = "key";

            string strFileName = "";
            string strOldFile  = "";

            List <String> fscr = new List <String>();

            //의미없는 라인 2줄을 생성한다.

            foreach (DataRow dr in m_dt.Rows)
            {
                string strLine = "";

                strFileName = dr[CUtil.GetName(enumPLH.FileName)].ToString().Trim();


                strLine += dr[CUtil.GetName(enumPLH.NO)].ToString().PadRight(6);

                //byte[] buffer = Encoding.GetEncoding("ks_c_5601-1987").GetBytes(dr["+"].ToString());
                //string s = Encoding.GetEncoding("ks_c_5601-1987").GetString(buffer, 0, buffer.Length);
                //strLine += s;

                strLine += getWordByByte(dr[CUtil.GetName(enumPLH.plus)].ToString(), CUtil.GetLength(enumPLH.plus));

                strLine += dr[CUtil.GetName(enumPLH.dist)].ToString().PadLeft(CUtil.GetLength(enumPLH.dist));
                strLine += dr[CUtil.GetName(enumPLH.dist2)].ToString().PadLeft(CUtil.GetLength(enumPLH.dist2));
                strLine += dr[CUtil.GetName(enumPLH.gh)].ToString().PadLeft(CUtil.GetLength(enumPLH.gh));
                strLine += dr[CUtil.GetName(enumPLH.INV)].ToString().PadLeft(CUtil.GetLength(enumPLH.INV));
                strLine += " "; //라인명 앞에 의미없는 한자리 공백이 보임
                strLine += dr[CUtil.GetName(enumPLH.LINENAME)].ToString().PadRight(CUtil.GetLength(enumPLH.LINENAME));
                strLine += dr[CUtil.GetName(enumPLH.DIA)].ToString().PadLeft(CUtil.GetLength(enumPLH.DIA));
                strLine += dr[CUtil.GetName(enumPLH.BR)].ToString().PadLeft(CUtil.GetLength(enumPLH.BR));
                strLine += dr[CUtil.GetName(enumPLH.type)].ToString().PadLeft(CUtil.GetLength(enumPLH.type));

                //strLine += " ";
                strLine += dr[CUtil.GetName(enumPLH.T1)].ToString().PadLeft(CUtil.GetLength(enumPLH.T1));
                strLine += " ";
                strLine += dr[CUtil.GetName(enumPLH.SLOPE)].ToString().PadLeft(CUtil.GetLength(enumPLH.SLOPE));
                strLine += dr[CUtil.GetName(enumPLH.Bcut)].ToString().PadLeft(CUtil.GetLength(enumPLH.Bcut));
                strLine += dr[CUtil.GetName(enumPLH.Hcut)].ToString().PadLeft(CUtil.GetLength(enumPLH.Hcut));
                strLine += dr[CUtil.GetName(enumPLH.manwork)].ToString().PadLeft(CUtil.GetLength(enumPLH.manwork));
                strLine += dr[CUtil.GetName(enumPLH.sand)].ToString().PadLeft(CUtil.GetLength(enumPLH.sand));
                strLine += dr[CUtil.GetName(enumPLH.concA)].ToString().PadLeft(CUtil.GetLength(enumPLH.concA));
                strLine += dr[CUtil.GetName(enumPLH.concB)].ToString().PadLeft(CUtil.GetLength(enumPLH.concB));
                strLine += dr[CUtil.GetName(enumPLH.humanity)].ToString().PadLeft(CUtil.GetLength(enumPLH.humanity));
                strLine += dr[CUtil.GetName(enumPLH.concrete)].ToString().PadLeft(CUtil.GetLength(enumPLH.concrete));
                strLine += dr[CUtil.GetName(enumPLH.asphalt1)].ToString().PadLeft(CUtil.GetLength(enumPLH.asphalt1));
                strLine += dr[CUtil.GetName(enumPLH.asphalt2)].ToString().PadLeft(CUtil.GetLength(enumPLH.asphalt2));
                strLine += dr[CUtil.GetName(enumPLH.complay)].ToString().PadLeft(CUtil.GetLength(enumPLH.complay));
                strLine += dr[CUtil.GetName(enumPLH.mixlay)].ToString().PadLeft(CUtil.GetLength(enumPLH.mixlay));
                strLine += dr[CUtil.GetName(enumPLH.mixlay1)].ToString().PadLeft(CUtil.GetLength(enumPLH.mixlay1));
                strLine += dr[CUtil.GetName(enumPLH.mixlay2)].ToString().PadLeft(CUtil.GetLength(enumPLH.mixlay2));
                strLine += dr[CUtil.GetName(enumPLH.area1)].ToString().PadLeft(CUtil.GetLength(enumPLH.area1));
                strLine += dr[CUtil.GetName(enumPLH.area2)].ToString().PadLeft(CUtil.GetLength(enumPLH.area2));
                strLine += dr[CUtil.GetName(enumPLH.area3)].ToString().PadLeft(CUtil.GetLength(enumPLH.area3));
                strLine += dr[CUtil.GetName(enumPLH.area4)].ToString().PadLeft(CUtil.GetLength(enumPLH.area4));
                strLine += dr[CUtil.GetName(enumPLH.area5)].ToString().PadLeft(CUtil.GetLength(enumPLH.area5));
                strLine += dr[CUtil.GetName(enumPLH.area6)].ToString().PadLeft(CUtil.GetLength(enumPLH.area6));
                strLine += dr[CUtil.GetName(enumPLH.area7)].ToString().PadLeft(CUtil.GetLength(enumPLH.area7));
                strLine += dr[CUtil.GetName(enumPLH.area8)].ToString().PadLeft(CUtil.GetLength(enumPLH.area8));
                strLine += dr[CUtil.GetName(enumPLH.area9)].ToString().PadLeft(CUtil.GetLength(enumPLH.area9));
                strLine += dr[CUtil.GetName(enumPLH.area10)].ToString().PadLeft(CUtil.GetLength(enumPLH.area10));
                strLine += dr[CUtil.GetName(enumPLH.area11)].ToString().PadLeft(CUtil.GetLength(enumPLH.area11));
                strLine += dr[CUtil.GetName(enumPLH.T2)].ToString().PadLeft(CUtil.GetLength(enumPLH.T2));
                strLine += dr[CUtil.GetName(enumPLH.T3)].ToString().PadLeft(CUtil.GetLength(enumPLH.T3));
                strLine += dr[CUtil.GetName(enumPLH.T4)].ToString().PadLeft(CUtil.GetLength(enumPLH.T4));
                strLine += dr[CUtil.GetName(enumPLH.B)].ToString().PadLeft(CUtil.GetLength(enumPLH.B));
                strLine += dr[CUtil.GetName(enumPLH.H)].ToString().PadLeft(CUtil.GetLength(enumPLH.H));
                strLine += "  ";
                strLine += dr[CUtil.GetName(enumPLH.DIR)].ToString().PadRight(CUtil.GetLength(enumPLH.DIR));


                //파일이 없는 빈 디렉토리에서 시작하기 때문에 파일이 있는지 보고 없으면 신규 생성하고 있으면 덧붙인다.

                FileInfo fInfo = new FileInfo(strSavepath + "\\" + strFileName);

                FileStream fs;

                ///상단 SCALE 설정
                if (fInfo.Exists == false)
                {
                    using (fs = new FileStream(fInfo.FullName, FileMode.Append))
                    {
                        using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("ks_c_5601-1987")))
                        {
                            sw.WriteLine("                               ");
                            sw.WriteLine("100         0      0            ");
                        }
                    }
                }
                fs = new FileStream(fInfo.FullName, FileMode.Append);
                using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("ks_c_5601-1987")))
                {
                    sw.WriteLine(strLine);
                }
                fs.Close();

                if (fscr.Contains(fInfo.FullName) == false)
                {
                    fscr.Add(fInfo.FullName);
                }
            }

            //SUH.SCR을 만든다.
            FileInfo   FInfo2 = new FileInfo(strSavepath + "\\" + "SUH.SCR");
            FileStream fs2    = new FileStream(FInfo2.FullName, FileMode.Append);

            using (StreamWriter sw = new StreamWriter(fs2, Encoding.GetEncoding("ks_c_5601-1987")))
            {
                foreach (String item in fscr)
                {
                    sw.WriteLine("(load\"sangh31\")");
                    sw.WriteLine("SANGH");
                    sw.WriteLine(item);
                    sw.WriteLine("ZOOM ALL");
                    sw.WriteLine("SAVEAS 2000 " + Path.GetDirectoryName(item) + "\\" + Path.GetFileNameWithoutExtension(item) + ".dwg");
                    sw.WriteLine("erase all");
                    sw.WriteLine("  ");
                }
            }

            fs2.Close();

            //CUtil.SaveToXml(m_dt, strSavepath, "PLH_XML");

            CUtil.AutoMsg("저장확인", "저장되었습니다.", 3);

            return(0);
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// PLH를 Data Table로 변환한다.
        /// </summary>
        /// <param name="strFileName"></param>
        /// <param name="strLine"></param>
        public void LineToRecord(String strFileName, String strLine)
        {
            int      nPos   = 0;
            Encoding encode = Encoding.GetEncoding("ks_c_5601-1987");

            byte[] buf = encode.GetBytes(strLine);

            String sTmp;

            sTmp = encode.GetString(buf, 0, 3);

            if (sTmp != "NO.")
            {
                return;
            }

            DataRow Dr = m_dt.NewRow();

            m_key++;

            Dr[CUtil.GetName(enumPLH.key)]       = m_key;
            Dr[CUtil.GetName(enumPLH.order_seq)] = m_key;
            Dr[CUtil.GetName(enumPLH.FileName)]  = strFileName;
            Dr[CUtil.GetName(enumPLH.ASP_CON)]   = false;


            Dr[CUtil.GetName(enumPLH.NO)] = ReplacePlus(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.NO)));


            if (checkPlus(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.NO))) >= 0)
            {
                nPos += CUtil.GetLength(enumPLH.NO);
                Dr[CUtil.GetName(enumPLH.plus)] = "+" + encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.plus));
            }
            else
            {
                nPos += CUtil.GetLength(enumPLH.NO);
                Dr[CUtil.GetName(enumPLH.plus)] = encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.plus));
            }
            nPos += CUtil.GetLength(enumPLH.plus);

            Dr[CUtil.GetName(enumPLH.dist)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.dist)));
            nPos += CUtil.GetLength(enumPLH.dist);

            Dr[CUtil.GetName(enumPLH.dist2)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.dist2)));
            nPos += CUtil.GetLength(enumPLH.dist2);

            Dr[CUtil.GetName(enumPLH.gh)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.gh)));
            nPos += CUtil.GetLength(enumPLH.gh);

            Dr[CUtil.GetName(enumPLH.INV)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.INV)));
            nPos += CUtil.GetLength(enumPLH.INV);

            nPos += 1; //Filler1 공백

            Dr[CUtil.GetName(enumPLH.LINENAME)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.LINENAME)));
            nPos += CUtil.GetLength(enumPLH.LINENAME);

            Dr[CUtil.GetName(enumPLH.DIA)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.DIA)));
            nPos += CUtil.GetLength(enumPLH.DIA);

            Dr[CUtil.GetName(enumPLH.BR)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.BR)));
            nPos += CUtil.GetLength(enumPLH.BR);

            Dr[CUtil.GetName(enumPLH.type)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.type)));
            nPos += CUtil.GetLength(enumPLH.type);

            Dr[CUtil.GetName(enumPLH.T1)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.T1)));
            nPos += CUtil.GetLength(enumPLH.T1);

            nPos += CUtil.GetLength(enumPLH.Filler3); //공백1자리

            Dr[CUtil.GetName(enumPLH.SLOPE)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.SLOPE)));
            nPos += CUtil.GetLength(enumPLH.SLOPE);

            Dr[CUtil.GetName(enumPLH.Bcut)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.Bcut)));
            nPos += CUtil.GetLength(enumPLH.Bcut);

            Dr[CUtil.GetName(enumPLH.Hcut)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.Hcut)));
            nPos += CUtil.GetLength(enumPLH.Hcut);

            Dr[CUtil.GetName(enumPLH.manwork)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.manwork)));
            nPos += CUtil.GetLength(enumPLH.manwork);

            Dr[CUtil.GetName(enumPLH.sand)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.sand)));
            nPos += CUtil.GetLength(enumPLH.sand);

            Dr[CUtil.GetName(enumPLH.concA)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.concA)));
            nPos += CUtil.GetLength(enumPLH.concA);

            Dr[CUtil.GetName(enumPLH.concB)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.concB)));
            nPos += CUtil.GetLength(enumPLH.concB);

            Dr[CUtil.GetName(enumPLH.humanity)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.humanity)));
            nPos += CUtil.GetLength(enumPLH.humanity);



            Dr[CUtil.GetName(enumPLH.concrete)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.concrete)));
            nPos += CUtil.GetLength(enumPLH.concrete);

            Dr[CUtil.GetName(enumPLH.asphalt1)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.asphalt1)));
            nPos += CUtil.GetLength(enumPLH.asphalt1);

            Dr[CUtil.GetName(enumPLH.asphalt2)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.asphalt2)));
            nPos += CUtil.GetLength(enumPLH.asphalt2);

            Dr[CUtil.GetName(enumPLH.complay)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.complay)));
            nPos += CUtil.GetLength(enumPLH.complay);

            Dr[CUtil.GetName(enumPLH.mixlay)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay)));
            nPos += CUtil.GetLength(enumPLH.mixlay);

            Dr[CUtil.GetName(enumPLH.mixlay1)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay1)));
            nPos += CUtil.GetLength(enumPLH.mixlay1);

            Dr[CUtil.GetName(enumPLH.mixlay2)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay2)));
            nPos += CUtil.GetLength(enumPLH.mixlay2);

            Dr[CUtil.GetName(enumPLH.area1)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area1)));
            nPos += CUtil.GetLength(enumPLH.area1);

            Dr[CUtil.GetName(enumPLH.area2)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area2)));
            nPos += CUtil.GetLength(enumPLH.area2);

            Dr[CUtil.GetName(enumPLH.area3)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area3)));
            nPos += CUtil.GetLength(enumPLH.area3);

            Dr[CUtil.GetName(enumPLH.area4)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area4)));
            nPos += CUtil.GetLength(enumPLH.area4);

            Dr[CUtil.GetName(enumPLH.area5)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area5)));
            nPos += CUtil.GetLength(enumPLH.area5);

            Dr[CUtil.GetName(enumPLH.area6)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area6)));
            nPos += CUtil.GetLength(enumPLH.area6);

            Dr[CUtil.GetName(enumPLH.area7)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area7)));
            nPos += CUtil.GetLength(enumPLH.area7);

            Dr[CUtil.GetName(enumPLH.area8)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area8)));
            nPos += CUtil.GetLength(enumPLH.area8);

            Dr[CUtil.GetName(enumPLH.area9)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area9)));
            nPos += CUtil.GetLength(enumPLH.area9);

            Dr[CUtil.GetName(enumPLH.area10)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area10)));
            nPos += CUtil.GetLength(enumPLH.area10);

            Dr[CUtil.GetName(enumPLH.area11)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area11)));
            nPos += CUtil.GetLength(enumPLH.area11);

            Dr[CUtil.GetName(enumPLH.T2)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.T2)));
            nPos += CUtil.GetLength(enumPLH.T2);

            Dr[CUtil.GetName(enumPLH.T3)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.T3)));
            nPos += CUtil.GetLength(enumPLH.T3);

            Dr[CUtil.GetName(enumPLH.T4)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.T4)));
            nPos += CUtil.GetLength(enumPLH.T4);

            Dr[CUtil.GetName(enumPLH.B)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.B)));
            nPos += CUtil.GetLength(enumPLH.B);

            Dr[CUtil.GetName(enumPLH.H)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.H)));
            nPos += CUtil.GetLength(enumPLH.H);

            nPos += CUtil.GetLength(enumPLH.Filler4);

            Dr[CUtil.GetName(enumPLH.DIR)] = Convert(encode.GetString(buf, nPos, buf.Length - nPos));  //마지막열은 가변으로 처리

            m_dt.Rows.Add(Dr);
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// PLH를 Data Table로 변환한다.
        /// </summary>
        /// <param name="strFileName"></param>
        /// <param name="strLine"></param>
        public void LineToRecord(String strFileName, String strLine)
        {
            int      nPos   = 0;
            Encoding encode = Encoding.GetEncoding("ks_c_5601-1987");

            byte[] buf = encode.GetBytes(strLine);

            String sTmp;

            sTmp = encode.GetString(buf, 0, 3);

            if (sTmp != "NO.")
            {
                return;
            }

            DataRow Dr = m_dt.NewRow();

            m_key++;

            Dr[CUtil.GetName(enumPLH.key)]       = m_key;
            Dr[CUtil.GetName(enumPLH.order_seq)] = m_key;
            Dr[CUtil.GetName(enumPLH.filename)]  = strFileName;
            Dr[CUtil.GetName(enumPLH.asp_con)]   = false;


            Dr[CUtil.GetName(enumPLH.linenumber)] = ReplacePlus(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.linenumber)));


            if (checkPlus(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.linenumber))) >= 0)
            {
                nPos += CUtil.GetLength(enumPLH.linenumber);
                Dr[CUtil.GetName(enumPLH.extention)] = "+" + encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.extention));
            }
            else
            {
                nPos += CUtil.GetLength(enumPLH.linenumber);
                Dr[CUtil.GetName(enumPLH.extention)] = encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.extention));
            }
            nPos += CUtil.GetLength(enumPLH.extention);

            Dr[CUtil.GetName(enumPLH.dist)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.dist)));
            nPos += CUtil.GetLength(enumPLH.dist);

            Dr[CUtil.GetName(enumPLH.dist2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.dist2)));
            nPos += CUtil.GetLength(enumPLH.dist2);

            Dr[CUtil.GetName(enumPLH.gh)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.gh)));
            nPos += CUtil.GetLength(enumPLH.gh);

            Dr[CUtil.GetName(enumPLH.inv)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.inv)));
            nPos += CUtil.GetLength(enumPLH.inv);

            nPos += 1; //Filler1 공백

            Dr[CUtil.GetName(enumPLH.linename)] = Convert(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.linename)));
            nPos += CUtil.GetLength(enumPLH.linename);

            Dr[CUtil.GetName(enumPLH.dia)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.dia)));
            nPos += CUtil.GetLength(enumPLH.dia);

            Dr[CUtil.GetName(enumPLH.br)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.br)));
            nPos += CUtil.GetLength(enumPLH.br);

            Dr[CUtil.GetName(enumPLH.type)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.type)));
            nPos += CUtil.GetLength(enumPLH.type);

            Dr[CUtil.GetName(enumPLH.t1)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.t1)));
            nPos += CUtil.GetLength(enumPLH.t1);

            nPos += CUtil.GetLength(enumPLH.filler3); //공백1자리

            Dr[CUtil.GetName(enumPLH.slope)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.slope)));
            nPos += CUtil.GetLength(enumPLH.slope);

            Dr[CUtil.GetName(enumPLH.bcut)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.bcut)));
            nPos += CUtil.GetLength(enumPLH.bcut);

            Dr[CUtil.GetName(enumPLH.hcut)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.hcut)));
            nPos += CUtil.GetLength(enumPLH.hcut);

            Dr[CUtil.GetName(enumPLH.manwork)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.manwork)));
            nPos += CUtil.GetLength(enumPLH.manwork);

            Dr[CUtil.GetName(enumPLH.sand)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.sand)));
            nPos += CUtil.GetLength(enumPLH.sand);

            Dr[CUtil.GetName(enumPLH.conca)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.conca)));
            nPos += CUtil.GetLength(enumPLH.conca);

            Dr[CUtil.GetName(enumPLH.concb)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.concb)));
            nPos += CUtil.GetLength(enumPLH.concb);

            Dr[CUtil.GetName(enumPLH.humanity)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.humanity)));
            nPos += CUtil.GetLength(enumPLH.humanity);



            Dr[CUtil.GetName(enumPLH.concrete)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.concrete)));
            nPos += CUtil.GetLength(enumPLH.concrete);

            Dr[CUtil.GetName(enumPLH.asphalt1)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.asphalt1)));
            nPos += CUtil.GetLength(enumPLH.asphalt1);

            Dr[CUtil.GetName(enumPLH.asphalt2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.asphalt2)));
            nPos += CUtil.GetLength(enumPLH.asphalt2);

            Dr[CUtil.GetName(enumPLH.complay)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.complay)));
            nPos += CUtil.GetLength(enumPLH.complay);

            Dr[CUtil.GetName(enumPLH.mixlay)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay)));
            nPos += CUtil.GetLength(enumPLH.mixlay);

            Dr[CUtil.GetName(enumPLH.mixlay1)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay1)));
            nPos += CUtil.GetLength(enumPLH.mixlay1);

            Dr[CUtil.GetName(enumPLH.mixlay2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.mixlay2)));
            nPos += CUtil.GetLength(enumPLH.mixlay2);

            Dr[CUtil.GetName(enumPLH.area1)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area1)));
            nPos += CUtil.GetLength(enumPLH.area1);

            Dr[CUtil.GetName(enumPLH.area2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area2)));
            nPos += CUtil.GetLength(enumPLH.area2);

            Dr[CUtil.GetName(enumPLH.area3)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area3)));
            nPos += CUtil.GetLength(enumPLH.area3);

            Dr[CUtil.GetName(enumPLH.area4)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area4)));
            nPos += CUtil.GetLength(enumPLH.area4);

            Dr[CUtil.GetName(enumPLH.area5)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area5)));
            nPos += CUtil.GetLength(enumPLH.area5);

            Dr[CUtil.GetName(enumPLH.area6)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area6)));
            nPos += CUtil.GetLength(enumPLH.area6);

            Dr[CUtil.GetName(enumPLH.area7)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area7)));
            nPos += CUtil.GetLength(enumPLH.area7);

            Dr[CUtil.GetName(enumPLH.area8)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area8)));
            nPos += CUtil.GetLength(enumPLH.area8);

            Dr[CUtil.GetName(enumPLH.area9)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area9)));
            nPos += CUtil.GetLength(enumPLH.area9);

            Dr[CUtil.GetName(enumPLH.area10)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area10)));
            nPos += CUtil.GetLength(enumPLH.area10);

            Dr[CUtil.GetName(enumPLH.area11)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.area11)));
            nPos += CUtil.GetLength(enumPLH.area11);

            Dr[CUtil.GetName(enumPLH.t2)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.t2)));
            nPos += CUtil.GetLength(enumPLH.t2);

            Dr[CUtil.GetName(enumPLH.t3)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.t3)));
            nPos += CUtil.GetLength(enumPLH.t3);

            Dr[CUtil.GetName(enumPLH.t4)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.t4)));
            nPos += CUtil.GetLength(enumPLH.t4);

            Dr[CUtil.GetName(enumPLH.b)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.b)));
            nPos += CUtil.GetLength(enumPLH.b);

            Dr[CUtil.GetName(enumPLH.h)] = System.Convert.ToDouble(encode.GetString(buf, nPos, CUtil.GetLength(enumPLH.h)));
            nPos += CUtil.GetLength(enumPLH.h);

            nPos += CUtil.GetLength(enumPLH.filler4);

            Dr[CUtil.GetName(enumPLH.dir)] = Convert(encode.GetString(buf, nPos, buf.Length - nPos));  //마지막열은 가변으로 처리

            m_dt.Rows.Add(Dr);
        }