public CPldData() { m_dt.TableName = DEF_TABLE_NAME; m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.key), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.order_seq), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.filename), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.measure_point), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.inv), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.size), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.text), typeof(string))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.boxt1), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.boxt2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLD.boxt3), typeof(double))); }
/// <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); }
/// <summary> /// 줄을 복사한다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void toolStripMenuItem5_Click(object sender, EventArgs e) { DataTable Dt = (DataTable)gridControl1.DataSource; DataRow Dr = CUtil.CopyDataRow(Dt, adView1.GetFocusedDataRow()); long nCurKey = 0; nCurKey = Convert.ToInt64(Dr["key"].ToString()); foreach (DataRow item in Dt.Rows) { long nKey = Convert.ToInt64(item["key"].ToString()); if (nKey >= nCurKey) { item["key"] = ++nKey; } } Dt.Rows.InsertAt(Dr, adView1.GetFocusedDataSourceRowIndex()); }
private void simpleButton7_Click(object sender, EventArgs e) { gridControl2.DataSource = CUtil.LoadXmlToPLH(); }
/// <summary> /// XML을 그리드로 불러온다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton2_Click(object sender, EventArgs e) { DataTable Dt = CUtil.LoadXmlToPLH(); }
/// <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); }
/// <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); }
public CPLH() { m_dt.TableName = DEF_TABLE_NAME; m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.key), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.order_seq), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.FileName), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.NO), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.ASP_CON), typeof(bool))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.plus), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dist), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dist2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.gh), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.INV), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.LINENAME), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.DIA), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.BR), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.type), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.T1), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.SLOPE), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.Bcut), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.Hcut), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.manwork), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.sand), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.concA), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.concB), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.humanity), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.concrete), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.asphalt1), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.asphalt2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.complay), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay1), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area1), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area3), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area4), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area5), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area6), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area7), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area8), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area9), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area10), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area11), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.T2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.T3), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.T4), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.B), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.H), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.DIR), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.B2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.INV2), typeof(String))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.DIA2), typeof(String))); DataColumn dc = new DataColumn(); dc.ColumnName = CUtil.GetName(enumPLH.BaseAngle); dc.DataType = typeof(String); dc.DefaultValue = "0"; m_dt.Columns.Add(dc); dc = new DataColumn(); dc.ColumnName = CUtil.GetName(enumPLH.check); //dc.DataType = typeof(Boolean); dc.DefaultValue = "false"; m_dt.Columns.Add(dc); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.Section), typeof(String))); //m_dt.Columns.Add(new DataColumn("BaseAngle", typeof(String))); //m_dt.Columns.Add(new DataColumn("check", typeof(Boolean))); }
/// <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); }
public CPlhData() { m_dt.TableName = DEF_TABLE_NAME; m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.key), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.order_seq), typeof(Int64))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.filename), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.linenumber), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.asp_con), typeof(bool))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.extention), typeof(string))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dist), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dist2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.gh), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.inv), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.linename), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dia), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.br), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.type), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.t1), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.slope), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.bcut), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.hcut), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.manwork), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.sand), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.conca), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.concb), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.humanity), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.concrete), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.asphalt1), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.asphalt2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.complay), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay1), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.mixlay2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area1), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area3), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area4), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area5), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area6), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area7), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area8), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area9), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area10), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.area11), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.t2), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.t3), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.t4), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.b), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.h), typeof(double))); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dir), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.b2), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.inv2), typeof(String))); //문자 m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.dia2), typeof(String))); //문자 DataColumn dc = new DataColumn(); dc.ColumnName = CUtil.GetName(enumPLH.baseangle); dc.DataType = typeof(double); dc.DefaultValue = 0; m_dt.Columns.Add(dc); dc = new DataColumn(); dc.ColumnName = CUtil.GetName(enumPLH.check); //dc.DataType = typeof(Boolean); dc.DefaultValue = "false"; m_dt.Columns.Add(dc); m_dt.Columns.Add(new DataColumn(CUtil.GetName(enumPLH.section), typeof(String))); //m_dt.Columns.Add(new DataColumn("BaseAngle", typeof(String))); //m_dt.Columns.Add(new DataColumn("check", typeof(Boolean))); }