diff --git a/unimarc/.vs/unimarc/FileContentIndex/d6574f49-a2e3-4823-80e4-a3bcfdd7b101.vsidx b/unimarc/.vs/unimarc/FileContentIndex/0ee88110-fda0-4351-a63c-a59ad95eebd0.vsidx
similarity index 79%
rename from unimarc/.vs/unimarc/FileContentIndex/d6574f49-a2e3-4823-80e4-a3bcfdd7b101.vsidx
rename to unimarc/.vs/unimarc/FileContentIndex/0ee88110-fda0-4351-a63c-a59ad95eebd0.vsidx
index 2a26a53..4e0d423 100644
Binary files a/unimarc/.vs/unimarc/FileContentIndex/d6574f49-a2e3-4823-80e4-a3bcfdd7b101.vsidx and b/unimarc/.vs/unimarc/FileContentIndex/0ee88110-fda0-4351-a63c-a59ad95eebd0.vsidx differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/336dff4a-a5dc-4e62-af8b-908f8abdf796.vsidx b/unimarc/.vs/unimarc/FileContentIndex/336dff4a-a5dc-4e62-af8b-908f8abdf796.vsidx
new file mode 100644
index 0000000..317b177
Binary files /dev/null and b/unimarc/.vs/unimarc/FileContentIndex/336dff4a-a5dc-4e62-af8b-908f8abdf796.vsidx differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/588734e5-2dd3-478a-a657-582bad511001.vsidx b/unimarc/.vs/unimarc/FileContentIndex/588734e5-2dd3-478a-a657-582bad511001.vsidx
deleted file mode 100644
index 5b2a4b0..0000000
Binary files a/unimarc/.vs/unimarc/FileContentIndex/588734e5-2dd3-478a-a657-582bad511001.vsidx and /dev/null differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/97e578d3-855e-4ecd-98f9-9fc61ddee57b.vsidx b/unimarc/.vs/unimarc/FileContentIndex/97e578d3-855e-4ecd-98f9-9fc61ddee57b.vsidx
new file mode 100644
index 0000000..3a85faf
Binary files /dev/null and b/unimarc/.vs/unimarc/FileContentIndex/97e578d3-855e-4ecd-98f9-9fc61ddee57b.vsidx differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/a7cea060-a0f6-43df-a2da-7901ddfd0d07.vsidx b/unimarc/.vs/unimarc/FileContentIndex/a7cea060-a0f6-43df-a2da-7901ddfd0d07.vsidx
deleted file mode 100644
index 4e6797c..0000000
Binary files a/unimarc/.vs/unimarc/FileContentIndex/a7cea060-a0f6-43df-a2da-7901ddfd0d07.vsidx and /dev/null differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx b/unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx
deleted file mode 100644
index 8506a72..0000000
Binary files a/unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx and /dev/null differ
diff --git a/unimarc/.vs/unimarc/FileContentIndex/e3185dd4-107c-45df-8481-4ea61fde1044.vsidx b/unimarc/.vs/unimarc/FileContentIndex/e3185dd4-107c-45df-8481-4ea61fde1044.vsidx
new file mode 100644
index 0000000..916739a
Binary files /dev/null and b/unimarc/.vs/unimarc/FileContentIndex/e3185dd4-107c-45df-8481-4ea61fde1044.vsidx differ
diff --git a/unimarc/.vs/unimarc/v17/.suo b/unimarc/.vs/unimarc/v17/.suo
index c32f2d1..f79ea34 100644
Binary files a/unimarc/.vs/unimarc/v17/.suo and b/unimarc/.vs/unimarc/v17/.suo differ
diff --git a/unimarc/unimarc/Skill.cs b/unimarc/unimarc/Skill.cs
index ecf6709..2ef4477 100644
--- a/unimarc/unimarc/Skill.cs
+++ b/unimarc/unimarc/Skill.cs
@@ -176,9 +176,12 @@ namespace WindowsFormsApp1
/// KeyDown의 KeyEventArgs "e"
public void DataGrid_to_Delete(object sender, KeyEventArgs e)
{
- int rowIndex = ((DataGridView)sender).CurrentCell.RowIndex;
- int columnIndex = ((DataGridView)sender).CurrentCell.ColumnIndex;
- ((DataGridView)sender).Rows[rowIndex].Cells[columnIndex].Value = "";
+ if (e.KeyCode == Keys.Delete)
+ {
+ int rowIndex = ((DataGridView)sender).CurrentCell.RowIndex;
+ int columnIndex = ((DataGridView)sender).CurrentCell.ColumnIndex;
+ ((DataGridView)sender).Rows[rowIndex].Cells[columnIndex].Value = "";
+ }
}
///
/// RowPostPaint 이벤트 핸들러
@@ -1564,6 +1567,11 @@ namespace WindowsFormsApp1
for (int a = 0; a < array_text.Length; a++)
{
if (a == 0) { total.Add("0"); }
+ else if (a == 1)
+ {
+ int b = Convert.ToInt32(total[total.Count - 1]);
+ total.Add(b.ToString());
+ }
else if (a > 1)
{
int b = Convert.ToInt32(total[total.Count - 1]);
@@ -1647,10 +1655,77 @@ namespace WindowsFormsApp1
break;
}
result += value.ToString();
+ result = result.PadLeft(count, '0');
return result;
}
#endregion
+
+ ///
+ /// 추가하고 싶은 태그를 뷰형태의 마크에 추가하는 함수.
+ ///
+ /// 추가할 태그 (태그명\t지시기호\t태그내용)
+ /// 뷰형태의 마크
+ ///
+ public string AddTagInMarc(string Tag, string TypeView)
+ {
+ if (Tag.Length < 3) return "";
+
+ int TargetTagNum = Convert.ToInt32(Tag.Substring(0, 3));
+
+ string[] SplitView = TypeView.Split('\n');
+ List View = new List(SplitView);
+
+ int ViewCount = 0;
+ foreach (string LineMarc in View)
+ {
+ string LineTag = LineMarc.Substring(0, 3);
+ int TagNum = Convert.ToInt32(LineTag);
+
+ if (TargetTagNum == TagNum)
+ {
+ View[ViewCount] = Tag;
+ break;
+ }
+ else if (TargetTagNum < TagNum)
+ {
+ View.Insert(ViewCount, Tag);
+ break;
+ }
+ ViewCount++;
+ }
+ return string.Join("\n", View);
+ }
+
+ ///
+ /// 해당하는 태그 모두 삭제
+ ///
+ ///
+ ///
+ ///
+ public string RemoveTagNumber(string ViewMarc, string RemoveNumber)
+ {
+ if (ViewMarc.Length < 3) return "";
+
+ List SplitMarc = new List(ViewMarc.Split('\n'));
+
+ int idx = -1, count = 0;
+ for (int a = 0; a < SplitMarc.Count; a++)
+ {
+ if (SplitMarc[a].StartsWith(RemoveNumber))
+ {
+ if (idx < 0)
+ idx = a;
+ count++;
+ }
+ }
+
+ if (idx >= 0)
+ SplitMarc.RemoveRange(idx, count);
+
+ return String.Join("\n", SplitMarc);
+ }
+
///
/// 색상 변경함수(richTextBox에만 적용)
///
@@ -1720,7 +1795,7 @@ namespace WindowsFormsApp1
if (start < 0)
{
- int tag_num = Convert.ToInt16(s_tag[b]);
+ int tag_num = Convert.ToInt32(s_tag[b]);
if (tag_num < 10)
result[b] = tmp;
else
@@ -1752,6 +1827,57 @@ namespace WindowsFormsApp1
}
return result;
}
+
+ ///
+ /// 뷰 마크 데이터에서 태그를 검색하되, 조건에 적용된 마크가 있을 경우에 리턴이 가능.
+ ///
+ /// 뷰마크 데이터
+ /// 추출할 태그 (ex. 245a)
+ /// 조건 태그 (ex. 245b)
+ ///
+ public string TakeTag_ConditionContent(string ViewMarc, string SearchTag, string Condition)
+ {
+ string[] ary = ViewMarc.Split('▲');
+
+ string SearchTagNum = SearchTag.Substring(0, 3);
+ string SearchTagAlpha = "▼" + SearchTag.Substring(3);
+
+ string ConditionTagNum = Condition.Substring(0, 3);
+ bool isCondition = false;
+ string ConditionTagAlpha = "▼" + Condition.Substring(3);
+
+ foreach (string item in ary)
+ {
+ string[] TagArray = item.Split('\t');
+ if (item.StartsWith(ConditionTagNum))
+ {
+ foreach (string Condi in TagArray)
+ {
+ if (Condi.Contains(ConditionTagAlpha))
+ isCondition = true;
+ }
+ }
+ }
+
+ if (isCondition)
+ return "";
+
+ string result = "";
+ foreach (string item in ary)
+ {
+ string[] TagArray = item.Split('\t');
+ if (item.StartsWith(SearchTagNum))
+ {
+ foreach (string SearchItem in TagArray)
+ {
+ if (SearchItem.Contains(ConditionTagAlpha))
+ result = GetMiddelString(SearchItem, SearchTagAlpha, "▼").Replace("▲", "");
+ }
+ }
+ }
+ return result;
+ }
+
public string TakeTag_FilterJisi(string marc, string search, string searchJisi)
{
string[] ary = marc.Split('');
@@ -1883,907 +2009,6 @@ namespace WindowsFormsApp1
return result;
}
- public string ApplyMark(string ViewMarc)
- {
- List SplitMarc = new List(ViewMarc.Split('\n'));
-
- for (int a = 0; a < SplitMarc.Count; a++)
- {
- if (SplitMarc[a].Length < 2) continue;
- string ContentTag = SplitMarc[a].Substring(0, 3);
-
- SplitMarc[a] = GudoSub(ContentTag, SplitMarc[a]);
- SplitMarc[a] = JiSiSUB(ContentTag, SplitMarc[a]);
- }
- return String.Join("\n", SplitMarc);
- }
-
- #region 구두점 서브
-
- ///
- /// 구두점 입력하는 종합함수
- ///
- /// 태그넘버
- /// 태그내용
- /// 구두점 적용된 태그내용
- public string GudoSub(string ContentTag, string Content)
- {
- switch (ContentTag)
- {
- case "020": Content = Gudo020(Content); break;
- case "110": Content = Gudo110(Content); break;
- case "245": Content = Gudo245(Content); break;
- case "246": Content = Gudo246(Content); break;
- case "260": Content = Gudo260(Content); break;
- case "300": Content = Gudo300(Content); break;
- case "440": Content = Gudo440(Content); break;
- case "490": Content = Gudo490(Content); break;
- case "830": Content = Gudo830(Content); break;
- }
- return Content;
- }
-
- ///
- /// 020구두점 적용
- ///
- /// 020태그 내용
- /// 020태그 구두점 적용된 내용
- private string Gudo020(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $c 앞에 $g가 있을 경우 $c 앞에 ":"
- if (SplitContent[a].StartsWith("c"))
- if (SplitContent[a - 1].StartsWith("g"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 110구두점 적용
- ///
- /// 110태그 내용
- /// 110태그 구두점 적용된 내용
- private string Gudo110(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $a 뒤에 $b가 있는 경우 $b앞에 "."
- if (SplitContent[a].StartsWith("b"))
- if (SplitContent[a - 1].StartsWith("a"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
-
- // $b 뒤에 $b가 있는 경우 $b앞에 "."
- if (SplitContent[a].StartsWith("b"))
- if (SplitContent[a - 1].StartsWith("b"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 245구두점 적용
- ///
- /// 245태그 내용
- /// 245태그 구두점 적용된 내용
- private string Gudo245(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // 두번째 $a 앞에 ":"
- if (SplitContent[a - 1].StartsWith("a"))
- if (SplitContent[a].StartsWith("a"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $b 앞에 ":"적용
- if (SplitContent[a].StartsWith("b"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $x 앞에 "=" 적용
- if (SplitContent[a].StartsWith("x"))
- if (!SplitContent[a - 1].EndsWith("="))
- SplitContent[a - 1] += "=";
-
- // $d 앞에 "/" 적용
- if (SplitContent[a].StartsWith("d"))
- if (!SplitContent[a - 1].EndsWith("/"))
- SplitContent[a - 1] += "/";
-
- // $n 앞에 "." 적용
- if (SplitContent[a].StartsWith("n"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
-
- // $e 앞에 "," 적용
- if (SplitContent[a].StartsWith("e"))
- if (!SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
-
- // $p 앞에 $n이 나온 경우 "," 적용, $p앞에 $n이 없는 경우 "." 적용
- if (SplitContent[a].StartsWith("p"))
- {
- if (SplitContent[a - 1].StartsWith("n"))
- {
- if (!SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
- }
- else
- {
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
- }
- }
-
- // TODO : $e 논의 필요 (역할어가 필요함)
- if (SplitContent[a].StartsWith("e"))
- {
- }
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 246구두점 적용
- ///
- /// 246태그 내용
- /// 246태그 구두점 적용된 내용
- private string Gudo246(string Content)
- {
- string[] SplitContent = Content.Split('▼');
- char[] Gudo = { ';', ':', '.', ',', '/' };
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $a 앞에 $i가 나온경우 $a 앞에 ":"적용
- if (SplitContent[a].StartsWith("a"))
- if (SplitContent[a - 1].StartsWith("i"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $b 앞에는 ":"적용
- if (SplitContent[a].StartsWith("b"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $n 앞에는 "." 적용
- if (SplitContent[a].StartsWith("n"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
-
- // $p 앞에 $n이 나온 경우 "," 적용, $p앞에 $n이 없는 경우 "."적용
- if (SplitContent[a].StartsWith("p"))
- {
- if (SplitContent[a - 1].StartsWith("n"))
- {
- if (!SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
- }
- else
- {
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
- }
- }
-
- // $g 앞에는 ""
- if (SplitContent[a].StartsWith("g"))
- {
- SplitContent[a - 1].TrimEnd(Gudo);
- SplitContent[a - 1].TrimEnd(' ');
- }
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 260구두점 적용
- ///
- /// 260태그 내용
- /// 260태그 구두점 적용된 내용
- private string Gudo260(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // 두번째 $a 앞에 ";"
- if (SplitContent[a].StartsWith("a"))
- if (!SplitContent[a - 1].EndsWith(";"))
- SplitContent[a - 1] += ";";
-
- // $b 앞에는 ":" 적용
- if (SplitContent[a].StartsWith("b"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $c 앞에는 "," 적용
- if (SplitContent[a].StartsWith("c"))
- if (!SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 300구두점 적용
- ///
- /// 300태그 내용
- /// 300태그 구두점 적용된 내용
- private string Gudo300(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $b 앞에는 ":" 적용
- if (SplitContent[a].StartsWith("b"))
- if (!SplitContent[a - 1].EndsWith(":"))
- SplitContent[a - 1] += ":";
-
- // $c 앞에는 ";" 적용
- if (SplitContent[a].StartsWith("c"))
- if (!SplitContent[a - 1].EndsWith(";"))
- SplitContent[a - 1] += ";";
-
- // $e 앞에는 "+" 적용
- if (SplitContent[a].StartsWith("e"))
- if (!SplitContent[a - 1].EndsWith("+"))
- SplitContent[a - 1] += "+";
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 440구두점 적용
- ///
- /// 440태그 내용
- /// 440태그 구두점 적용된 내용
- private string Gudo440(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $n 앞에는 "." 적용
- if (SplitContent[a].StartsWith("n"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
-
- // $p 앞에 $n이 나온 경우 "," 적용, $p앞에 $n이 없는 경우 "."적용
- if (SplitContent[a].StartsWith("p"))
- {
- if (SplitContent[a - 1].StartsWith("n"))
- {
- if (SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
- }
- else
- {
- if (SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
- }
- }
-
- // $v 앞에는 ";" 적용
- if (SplitContent[a].StartsWith("v"))
- if (!SplitContent[a - 1].EndsWith(";"))
- SplitContent[a - 1] += ";";
-
- // $x 앞에는 "=" 적용
- if (SplitContent[a].StartsWith("x"))
- if (!SplitContent[a - 1].EndsWith("="))
- SplitContent[a - 1] += "=";
- }
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 490구두점 적용(TODO: 논의후 함수개발)
- ///
- /// 490태그 내용
- /// 490태그 구두점 적용된 내용
- private string Gudo490(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- return string.Join("▼", SplitContent);
- }
-
- ///
- /// 830구두점 적용
- ///
- /// 830태그 내용
- /// 830태그 구두점 적용된 내용
- private string Gudo830(string Content)
- {
- string[] SplitContent = Content.Split('▼');
-
- for (int a = 0; a < SplitContent.Length; a++)
- {
- if (a <= 1) continue;
-
- // $n 앞에는 "." 적용
- if (SplitContent[a].StartsWith("n"))
- if (!SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
-
- // $p 앞에 $n이 나온 경우 "," 적용, $p앞에 $n이 없는 경우 "."적용
- if (SplitContent[a].StartsWith("p"))
- {
- if (SplitContent[a - 1].StartsWith("n"))
- {
- if (SplitContent[a - 1].EndsWith(","))
- SplitContent[a - 1] += ",";
- }
- else
- {
- if (SplitContent[a - 1].EndsWith("."))
- SplitContent[a - 1] += ".";
- }
- }
-
- // $v 앞에는 ";" 적용
- if (SplitContent[a].StartsWith("v"))
- if (!SplitContent[a - 1].EndsWith(";"))
- SplitContent[a - 1] += ";";
- }
-
- return string.Join("▼", SplitContent);
- }
- #endregion
-
- #region 지시기호 서브
-
- ///
- /// 지시기호 입력하는 종합함수
- ///
- /// 태그넘버
- /// 태그내용
- /// 지시기호 적용된 태그내용
- private string JiSiSUB(string ContentTag, string Content)
- {
- switch (ContentTag)
- {
- case "020": Content = JiSi020(Content); break;
- case "041": Content = JiSi041(Content); break;
- case "049": Content = JiSi049(Content); break;
- case "082": Content = JiSi082(Content); break;
- case "100": Content = JiSi100(Content); break;
- case "110": Content = JiSi110(Content); break;
- case "245": Content = JiSi245(Content); break;
- case "250": Content = JiSi250(Content); break;
- case "260": Content = JiSi260(Content); break;
- case "300": Content = JiSi300(Content); break;
- case "440": Content = JiSi440(Content); break;
- case "490": Content = JiSi490(Content); break;
- case "500": Content = JiSi500(Content); break;
- case "504": Content = JiSi504(Content); break;
- case "521": Content = JiSi521(Content); break;
- case "525": Content = JiSi525(Content); break;
- case "536": Content = JiSi536(Content); break;
- case "546": Content = JiSi546(Content); break;
- case "586": Content = JiSi586(Content); break;
- case "650": Content = JiSi650(Content); break;
- case "653": Content = JiSi653(Content); break;
- case "700": Content = JiSi700(Content); break;
- case "710": Content = JiSi710(Content); break;
- case "740": Content = JiSi740(Content); break;
- case "830": Content = JiSi830(Content); break;
- case "900": Content = JiSi900(Content); break;
- case "910": Content = JiSi910(Content); break;
- case "940": Content = JiSi940(Content); break;
- case "950": Content = JiSi950(Content); break;
- }
- return Content;
- }
-
- ///
- /// 020 지시기호 설정
- ///
- /// 020태그내용
- /// 020 지시기호 적용된 내용
- private string JiSi020(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- if (SplitContent[2].Contains("("))
- SplitContent[1] = "1 ";
- else
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 100 지시기호 설정
- ///
- /// 100태그내용
- /// 100 지시기호 적용된 내용
- private string JiSi100(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "1 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 110 지시기호 설정
- ///
- /// 110태그내용
- /// 110 지시기호 적용된 내용
- private string JiSi110(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 041 지시기호 설정
- ///
- /// 041 태그내용
- /// 041 지시기호 적용된 내용
- private string JiSi041(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "1 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 049 지시기호 설정
- ///
- /// 049 태그내용
- /// 049 지시기호 적용된 내용
- private string JiSi049(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "0 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 082 지시기호 설정
- ///
- /// 082 태그내용
- /// 082 지시기호 적용된 내용
- private string JiSi082(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "0 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 245 지시기호 설정
- ///
- /// 245 태그내용
- /// 245 지시기호 적용된 내용
- private string JiSi245(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- if (SplitContent[2].Contains("("))
- SplitContent[1] = "00";
- else
- SplitContent[1] = "20";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 250 지시기호 설정
- ///
- /// 250 태그내용
- /// 250 지시기호 적용된 내용
- private string JiSi250(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 260 지시기호 설정
- ///
- /// 260 태그내용
- /// 260 지시기호 적용된 내용
- private string JiSi260(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 300 지시기호 설정
- ///
- /// 300 태그내용
- /// 300 지시기호 적용된 내용
- private string JiSi300(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 440 지시기호 설정
- ///
- /// 440 태그내용
- /// 440 지시기호 적용된 내용
- private string JiSi440(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- if (SplitContent[2].Contains("("))
- SplitContent[1] = "10";
- else
- SplitContent[1] = "00";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 500 지시기호 설정
- ///
- /// 500 태그내용
- /// 500 지시기호 적용된 내용
- private string JiSi500(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 490 지시기호 설정
- ///
- /// 490 태그내용
- /// 490 지시기호 적용된 내용
- private string JiSi490(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "1 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 504 지시기호 설정
- ///
- /// 504 태그내용
- /// 504 지시기호 적용된 내용
- private string JiSi504(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 521 지시기호 설정
- ///
- /// 521 태그내용
- /// 521 지시기호 적용된 내용
- private string JiSi521(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 525 지시기호 설정
- ///
- /// 525 태그내용
- /// 525 지시기호 적용된 내용
- private string JiSi525(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 536 지시기호 설정
- ///
- /// 536 태그내용
- /// 536 지시기호 적용된 내용
- private string JiSi536(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 546 지시기호 설정
- ///
- /// 546 태그내용
- /// 546 지시기호 적용된 내용
- private string JiSi546(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 586 지시기호 설정
- ///
- /// 586 태그내용
- /// 586 지시기호 적용된 내용
- private string JiSi586(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 650 지시기호 설정
- ///
- /// 650 태그내용
- /// 650 지시기호 적용된 내용
- private string JiSi650(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " 8";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 653 지시기호 설정
- ///
- /// 653 태그내용
- /// 653 지시기호 적용된 내용
- private string JiSi653(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 700 지시기호 설정
- ///
- /// 700 태그내용
- /// 700 지시기호 적용된 내용
- private string JiSi700(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "1 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 710 지시기호 설정
- ///
- /// 710 태그내용
- /// 710 지시기호 적용된 내용
- private string JiSi710(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 740 지시기호 설정
- ///
- /// 740 태그내용
- /// 740 지시기호 적용된 내용
- private string JiSi740(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "02";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 830 지시기호 설정
- ///
- /// 830 태그내용
- /// 830 지시기호 적용된 내용
- private string JiSi830(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " 0";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 900 지시기호 설정
- ///
- /// 900 태그내용
- /// 900 지시기호 적용된 내용
- private string JiSi900(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "10";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 910 지시기호 설정
- ///
- /// 910 태그내용
- /// 910 지시기호 적용된 내용
- private string JiSi910(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = " 0";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 940 지시기호 설정
- ///
- /// 940 태그내용
- /// 940 지시기호 적용된 내용
- private string JiSi940(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "0 ";
-
- return string.Join("\t", SplitContent);
- }
-
- ///
- /// 950 지시기호 설정
- ///
- /// 950 태그내용
- /// 950 지시기호 적용된 내용
- private string JiSi950(string Content)
- {
- string[] SplitContent = Content.Split('\t');
-
- if (SplitContent.Length < 2) return "";
-
- SplitContent[1] = "0 ";
-
- return string.Join("\t", SplitContent);
- }
- #endregion
-
///
/// 텍스트박스 숫자만 입력받는 함수. KeyPress함수에 적용
///
diff --git a/unimarc/unimarc/bin/Debug/UniMarc.exe b/unimarc/unimarc/bin/Debug/UniMarc.exe
index fb65919..8185f38 100644
Binary files a/unimarc/unimarc/bin/Debug/UniMarc.exe and b/unimarc/unimarc/bin/Debug/UniMarc.exe differ
diff --git a/unimarc/unimarc/bin/Debug/UniMarc.pdb b/unimarc/unimarc/bin/Debug/UniMarc.pdb
index 7ab0008..55d9a0d 100644
Binary files a/unimarc/unimarc/bin/Debug/UniMarc.pdb and b/unimarc/unimarc/bin/Debug/UniMarc.pdb differ
diff --git a/unimarc/unimarc/bin/Debug/ko/UniMarc.resources.dll b/unimarc/unimarc/bin/Debug/ko/UniMarc.resources.dll
index c2d5713..1d5c20b 100644
Binary files a/unimarc/unimarc/bin/Debug/ko/UniMarc.resources.dll and b/unimarc/unimarc/bin/Debug/ko/UniMarc.resources.dll differ
diff --git a/unimarc/unimarc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/unimarc/unimarc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index fde6072..d9faa7b 100644
Binary files a/unimarc/unimarc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/unimarc/unimarc/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache b/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache
index 1c6083d..c4ca988 100644
Binary files a/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache and b/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache differ
diff --git a/unimarc/unimarc/obj/Debug/UniMarc.exe b/unimarc/unimarc/obj/Debug/UniMarc.exe
index fb65919..8185f38 100644
Binary files a/unimarc/unimarc/obj/Debug/UniMarc.exe and b/unimarc/unimarc/obj/Debug/UniMarc.exe differ
diff --git a/unimarc/unimarc/obj/Debug/UniMarc.pdb b/unimarc/unimarc/obj/Debug/UniMarc.pdb
index 7ab0008..55d9a0d 100644
Binary files a/unimarc/unimarc/obj/Debug/UniMarc.pdb and b/unimarc/unimarc/obj/Debug/UniMarc.pdb differ
diff --git a/unimarc/unimarc/obj/Debug/ko/UniMarc.resources.dll b/unimarc/unimarc/obj/Debug/ko/UniMarc.resources.dll
index c2d5713..1d5c20b 100644
Binary files a/unimarc/unimarc/obj/Debug/ko/UniMarc.resources.dll and b/unimarc/unimarc/obj/Debug/ko/UniMarc.resources.dll differ
diff --git a/unimarc/unimarc/납품관리/Commodity_Search.cs b/unimarc/unimarc/납품관리/Commodity_Search.cs
index 32e7cbe..e305497 100644
--- a/unimarc/unimarc/납품관리/Commodity_Search.cs
+++ b/unimarc/unimarc/납품관리/Commodity_Search.cs
@@ -186,6 +186,7 @@ namespace WindowsFormsApp1.Delivery
dc.lbl_ID.Text = dataGridView1.Rows[idx].Cells["DLS_ID"].Value.ToString();
dc.lbl_PW.Text = dataGridView1.Rows[idx].Cells["DLS_PW"].Value.ToString();
dc.lbl_Area.Text = dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString();
+ dc.SetArea(dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString(), true);
}
if (sl != null) {
sl.tb_SearchClient.Text = value;
@@ -193,6 +194,7 @@ namespace WindowsFormsApp1.Delivery
sl.lbl_ID.Text = dataGridView1.Rows[idx].Cells["DLS_ID"].Value.ToString();
sl.lbl_PW.Text = dataGridView1.Rows[idx].Cells["DLS_PW"].Value.ToString();
sl.lbl_Area.Text = dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString();
+ sl.SetArea(dataGridView1.Rows[idx].Cells["DLS_Area"].Value.ToString(), true);
}
}
}
diff --git a/unimarc/unimarc/마크/DLS_Copy.Designer.cs b/unimarc/unimarc/마크/DLS_Copy.Designer.cs
index cdbd249..a9500cd 100644
--- a/unimarc/unimarc/마크/DLS_Copy.Designer.cs
+++ b/unimarc/unimarc/마크/DLS_Copy.Designer.cs
@@ -98,9 +98,9 @@
//
this.panel8.Controls.Add(this.dataGridView1);
this.panel8.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel8.Location = new System.Drawing.Point(0, 105);
+ this.panel8.Location = new System.Drawing.Point(0, 103);
this.panel8.Name = "panel8";
- this.panel8.Size = new System.Drawing.Size(362, 627);
+ this.panel8.Size = new System.Drawing.Size(362, 629);
this.panel8.TabIndex = 5;
//
// dataGridView1
@@ -117,7 +117,7 @@
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 31;
this.dataGridView1.RowTemplate.Height = 23;
- this.dataGridView1.Size = new System.Drawing.Size(362, 627);
+ this.dataGridView1.Size = new System.Drawing.Size(362, 629);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
@@ -146,7 +146,7 @@
this.panel5.Controls.Add(this.chk_spChar);
this.panel5.Controls.Add(this.btn_ApplyFilter);
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel5.Location = new System.Drawing.Point(0, 70);
+ this.panel5.Location = new System.Drawing.Point(0, 68);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(362, 35);
this.panel5.TabIndex = 4;
@@ -189,7 +189,7 @@
this.panel3.Controls.Add(this.btn_Search);
this.panel3.Controls.Add(this.rBtn_BookName);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel3.Location = new System.Drawing.Point(0, 35);
+ this.panel3.Location = new System.Drawing.Point(0, 33);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(362, 35);
this.panel3.TabIndex = 4;
@@ -261,7 +261,7 @@
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size(362, 35);
+ this.panel2.Size = new System.Drawing.Size(362, 33);
this.panel2.TabIndex = 3;
//
// btn_Connect
diff --git a/unimarc/unimarc/마크/DLS_Copy.cs b/unimarc/unimarc/마크/DLS_Copy.cs
index 57c6aee..3daf7c4 100644
--- a/unimarc/unimarc/마크/DLS_Copy.cs
+++ b/unimarc/unimarc/마크/DLS_Copy.cs
@@ -69,40 +69,13 @@ namespace WindowsFormsApp1.Mac
return;
}
- string dlsArea = lbl_Area.Text;
- string code = SetArea(dlsArea);
- string url = "";
+ string url = webBrowser1.Url.AbsoluteUri;
- webBrowser1.Navigate("https://reading.jnei.go.kr");
-
- Delay(4000);
-
- HtmlElementCollection combo = webBrowser1.Document.GetElementsByTagName("option");
- foreach (HtmlElement Select in combo)
- {
- if (Select.Id == code)
- url = Select.GetAttribute("value");
- }
- url = url.Replace("http", "https");
-
- //webBrowser1.Navigate(url + "/r/newReading/member/loginForm.jsp");
webBrowser1.Document.GetElementById("headerLoginBtn").InvokeMember("click");
- bool isWebComplite = false;
-
- while (!isWebComplite)
- {
- Delay(1000);
- if (tb_URL.Text.Contains("/r/newReading/member/loginForm.jsp"))
- {
- isWebComplite = true;
- break;
- }
- }
-
+
Delay(5000);
-
- if (isWebComplite)
- DLS_Login(url);
+
+ DLS_Login(url);
}
#region Connect_SUB
@@ -112,24 +85,13 @@ namespace WindowsFormsApp1.Mac
MessageBox.Show("ID 혹은 PW가 없습니다.");
return;
}
- string ID = lbl_ID.Text;
- string PW = lbl_PW.Text;
+ string ID = lbl_ID.Text, PW = lbl_PW.Text;
+ url = webBrowser1.Document.GetElementById(SetArea(lbl_Area.Text)).GetAttribute("value");
- HtmlElementCollection input = webBrowser1.Document.GetElementsByTagName("input");
- foreach (HtmlElement login in input)
- {
- if (login.Id == "s_id")
- login.SetAttribute("value", ID);
- if (login.Id == "s_pwd")
- login.SetAttribute("value", PW);
- }
+ webBrowser1.Document.GetElementById("s_id").SetAttribute("value", ID);
+ webBrowser1.Document.GetElementById("s_pwd").SetAttribute("value", PW);
- HtmlElementCollection button = webBrowser1.Document.GetElementsByTagName("button");
- foreach (HtmlElement SearchButton in button)
- {
- if (SearchButton.Id == "s_login")
- SearchButton.InvokeMember("click");
- }
+ webBrowser1.Document.GetElementById("s_login").InvokeMember("click");
Delay(4000);
webBrowser1.Navigate(url + "/r/dls_new/bookInfo/collectionFormMA.jsp");
@@ -269,7 +231,7 @@ namespace WindowsFormsApp1.Mac
/// DLS지역 코드 변환
///
/// 코드
- string SetArea(string dlsArea)
+ public string SetArea(string dlsArea, bool move = false)
{
string[] Area = {
"서울", "부산", "대구", "인천", "광주",
@@ -294,6 +256,9 @@ namespace WindowsFormsApp1.Mac
idx++;
}
+ if (move)
+ webBrowser1.Navigate(webBrowser1.Document.GetElementById(Code[idx]).GetAttribute("value"));
+
return Code[idx];
}
diff --git a/unimarc/unimarc/마크/DLS_Lookup.cs b/unimarc/unimarc/마크/DLS_Lookup.cs
index 745a186..616e6d4 100644
--- a/unimarc/unimarc/마크/DLS_Lookup.cs
+++ b/unimarc/unimarc/마크/DLS_Lookup.cs
@@ -93,40 +93,13 @@ namespace WindowsFormsApp1.DLS
return;
}
- string dlsArea = lbl_Area.Text;
- string code = SetArea(dlsArea);
- string url = "";
+ string url = webBrowser1.Url.AbsoluteUri;
- webBrowser1.Navigate("https://reading.jnei.go.kr");
-
- Delay(4000);
-
- HtmlElementCollection combo = webBrowser1.Document.GetElementsByTagName("option");
- foreach (HtmlElement Select in combo)
- {
- if (Select.Id == code)
- url = Select.GetAttribute("value");
- }
- url = url.Replace("http", "https");
-
- //webBrowser1.Navigate(url + "/r/newReading/member/loginForm.jsp");
webBrowser1.Document.GetElementById("headerLoginBtn").InvokeMember("click");
- bool isWebComplite = false;
-
- while (!isWebComplite)
- {
- Delay(1000);
- if (tb_URL.Text.Contains("/r/newReading/member/loginForm.jsp"))
- {
- isWebComplite = true;
- break;
- }
- }
Delay(5000);
- if (isWebComplite)
- DLS_Login(url);
+ DLS_Login(url);
}
#region Connect_SUB
@@ -137,24 +110,13 @@ namespace WindowsFormsApp1.DLS
MessageBox.Show("ID 혹은 PW가 없습니다.");
return;
}
- string ID = lbl_ID.Text;
- string PW = lbl_PW.Text;
+ string ID = lbl_ID.Text, PW = lbl_PW.Text;
+ url = webBrowser1.Document.GetElementById(SetArea(lbl_Area.Text)).GetAttribute("value");
- HtmlElementCollection input = webBrowser1.Document.GetElementsByTagName("input");
- foreach (HtmlElement login in input)
- {
- if (login.Id == "s_id")
- login.SetAttribute("value", ID);
- if (login.Id == "s_pwd")
- login.SetAttribute("value", PW);
- }
+ webBrowser1.Document.GetElementById("s_id").SetAttribute("value", ID);
+ webBrowser1.Document.GetElementById("s_pwd").SetAttribute("value", PW);
- HtmlElementCollection button = webBrowser1.Document.GetElementsByTagName("button");
- foreach (HtmlElement SearchButton in button)
- {
- if (SearchButton.Id == "s_login")
- SearchButton.InvokeMember("click");
- }
+ webBrowser1.Document.GetElementById("s_login").InvokeMember("click");
Delay(4000);
webBrowser1.Navigate(url + "/r/dls_new/bookInfo/collectionFormMA.jsp");
@@ -165,7 +127,7 @@ namespace WindowsFormsApp1.DLS
/// DLS지역 코드 변환
///
/// 코드
- string SetArea(string dlsArea)
+ public string SetArea(string dlsArea, bool move = false)
{
string[] Area = {
"서울", "부산", "대구", "인천", "광주",
@@ -185,12 +147,14 @@ namespace WindowsFormsApp1.DLS
foreach (string code in Area)
{
if (code == dlsArea)
- {
break;
- }
+
idx++;
}
+ if (move)
+ webBrowser1.Navigate(webBrowser1.Document.GetElementById(Code[idx]).GetAttribute("value"));
+
return Code[idx];
}
diff --git a/unimarc/unimarc/마크/Marc.cs b/unimarc/unimarc/마크/Marc.cs
index 59914df..bd4ecbc 100644
--- a/unimarc/unimarc/마크/Marc.cs
+++ b/unimarc/unimarc/마크/Marc.cs
@@ -3326,7 +3326,9 @@ namespace ExcelTest
{
Skill_Grid sg = new Skill_Grid();
sg.Excel_to_DataGridView(sender, e);
- sg.DataGrid_to_Delete(sender, e);
+
+ if (e.KeyCode == Keys.Delete)
+ sg.DataGrid_to_Delete(sender, e);
}
private void btn_FilterReturn_Click(object sender, EventArgs e)
diff --git a/unimarc/unimarc/마크/Marc_Macro_Sub.cs b/unimarc/unimarc/마크/Marc_Macro_Sub.cs
index 85203c0..96c1e5f 100644
--- a/unimarc/unimarc/마크/Marc_Macro_Sub.cs
+++ b/unimarc/unimarc/마크/Marc_Macro_Sub.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
+using System.Windows.Forms;
using WindowsFormsApp1;
namespace UniMarc.마크
@@ -77,15 +78,18 @@ namespace UniMarc.마크
{ "48", "245", "245가 괄호 시작일 경우 [20], 괄호 시작이 아니며 100이나 110태그 사용시 [10], 해당 없을시 [00]" },
- /////////
+ { "49", "525", "525a를 500a로 변환 후 삭제" },
+ { "50", "440", "440a를 830a로 복사" },
+ { "51", "440", "440x를 490a로 복사" },
+ { "52", "049", "049v를 090c로 복사" },
+ { "53", "020", "020c를 950b로 복사" },
- // { "49", "245", "245b -> 740a로 복사" },
- // { "50", "440", "440a -> 830a로 복사" },
- // { "51", "440", "440x -> 490a로 복사" },
+ { "54", "100", "태그삭제" },
+ { "55", "110", "태그삭제" },
+
+ /////////
// { "52", "440", "440n p x -> 490v [p-n-v 순서]로 변환" },
// { "53", "440", "440n p x -> 830 n p v로 변환" },
- //
- // { "54", "525", "525a를 500a로 부출 후 삭제" },
};
@@ -113,21 +117,58 @@ namespace UniMarc.마크
if (SplitMarc[a].Length < 2) continue;
string ContentTag = SplitMarc[a].Substring(0, 3);
- TargetMarc = ViewMarc;
- SplitMarc[a] = Macro_Index(idx, ContentTag, SplitMarc[a]);
+ TargetMarc = string.Join("\n", SplitMarc);
+ string MacroData = Macro_Index(idx, ContentTag, SplitMarc[a]);
+ SplitMarc[a] = MacroData;
+ }
+
+ List result = new List();
+ foreach (string Macro in SplitMarc)
+ {
+ if (Macro == "")
+ continue;
+ result.Add(Macro);
+ }
+
+ foreach (string i in idx)
+ {
+ ViewMarc = ChangeTagByIndex(i, ViewMarc);
}
// 반출용 마크로 변환
-
+ return st.made_Ori_marc(String.Join("\n", result));
+ }
- return st.made_Ori_marc(String.Join("\n", SplitMarc));
+ private string ChangeTagByIndex(string idx, string ViewMarc)
+ {
+ // 525a를 500a로 부출 후 삭제
+ if (idx == "49")
+ ViewMarc = TagToOtherTag("525", "a", "500", "a", ViewMarc, " ", true);
+ // 440a를 830a로 복사
+ if (idx == "50")
+ ViewMarc = TagToOtherTag("440", "a", "830", "a", ViewMarc);
+ // 440x를 490a로 복사
+ if (idx == "51")
+ ViewMarc = TagToOtherTag("440", "a", "490", "a", ViewMarc);
+ // 049v를 090c로 복사
+ if (idx == "52")
+ ViewMarc = TagToOtherTag("049", "v", "090", "c", ViewMarc);
+ // 020c를 950b로 복사
+ if (idx == "53")
+ ViewMarc = TagToOtherTag("020", "c", "950", "b", ViewMarc);
+
+
+ return ViewMarc;
}
private string Macro_Index(string[] idx, string ContentTag, string Content)
{
- string Target = Content;
+ string[] SplitContent = Content.Split('\t');
+ string Jisi = SplitContent[1];
+ string Target = SplitContent[2];
foreach (string i in idx)
{
+ Jisi = ChangeJisi(i, ContentTag, Jisi);
switch (ContentTag)
{
case "020": Target = Index_020(i, Target.Split('▼')); break;
@@ -145,6 +186,7 @@ namespace UniMarc.마크
case "500": Target = Index_500(i, Target.Split('▼')); break;
case "505": Target = Index_505(i, Target.Split('▼')); break;
case "520": Target = Index_520(i, Target.Split('▼')); break;
+ case "525": Target = Index_525(i, Target.Split('▼')); break;
case "536": Target = Index_536(i, Target.Split('▼')); break;
case "546": Target = Index_546(i, Target.Split('▼')); break;
case "650": Target = Index_650(i, Target.Split('▼')); break;
@@ -158,9 +200,36 @@ namespace UniMarc.마크
case "950": Target = Index_950(i, Target.Split('▼')); break;
}
}
- return Target;
+ if (Target == "" || !Target.Contains("▲"))
+ return "";
+
+ return string.Format("{0}\t{1}\t{2}", ContentTag, Jisi, Target);
}
+
+ string ChangeJisi(string idx, string TagNum, string Jisi)
+ {
+ if (idx == "34" && TagNum == "049") return "0 ";
+ if (idx == "35" && TagNum == "100") return "1 ";
+ if (idx == "36" && TagNum == "100") return " ";
+ if (idx == "37" && TagNum == "490") return "10";
+ if (idx == "38" && TagNum == "500") return " ";
+ if (idx == "39" && TagNum == "505") return "00";
+ if (idx == "40" && TagNum == "700") return "1 ";
+ if (idx == "41" && TagNum == "710") return " ";
+ if (idx == "42" && TagNum == "740") return "02";
+ if (idx == "43" && TagNum == "830") return " 0";
+ if (idx == "44" && TagNum == "900") return "10";
+ if (idx == "45" && TagNum == "910") return " 0";
+ if (idx == "46" && TagNum == "940") return "0 ";
+ if (idx == "47" && TagNum == "950") return "0 ";
+ return Jisi;
+ }
+
+
+ #region IDX TAG NUM
+
+
///
/// 020 매크로
///
@@ -168,6 +237,7 @@ namespace UniMarc.마크
/// 020태그 매크로 적용된 내용
private string Index_020(string idx, string[] SplitContent)
{
+
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
@@ -189,11 +259,10 @@ namespace UniMarc.마크
/// 매크로 적용된 내용
private string Index_049(string idx, string[] SplitContent)
{
+
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "34") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
@@ -213,21 +282,18 @@ namespace UniMarc.마크
if (a <= -1) continue;
}
-
return string.Join("▼", SplitContent);
}
private string Index_100(string idx, string[] SplitContent)
{
+ if (idx == "54")
+ return "";
isAuthorTag = true;
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "35") SplitContent[a] = "1 ";
- if (a == 0 && idx == "36") SplitContent[a] = " ";
}
-
return string.Join("▼", SplitContent);
}
@@ -238,6 +304,8 @@ namespace UniMarc.마크
/// 110태그 매크로 적용된 내용
private string Index_110(string idx, string[] SplitContent)
{
+ if (idx == "55")
+ return "";
isAuthorTag = true;
for (int a = 0; a < SplitContent.Length; a++)
{
@@ -297,11 +365,11 @@ namespace UniMarc.마크
if (SplitContent[a].StartsWith("a") && idx == "48")
{
if (SplitContent[a].Contains("("))
- SplitContent[0] = "20";
+ SplitContent[1] = "20";
else if (isAuthorTag)
- SplitContent[0] = "10";
+ SplitContent[1] = "10";
else
- SplitContent[0] = "00";
+ SplitContent[1] = "00";
}
// 두번째 $a 앞에 ":"
@@ -465,13 +533,6 @@ namespace UniMarc.마크
private string Index_440(string idx, string[] SplitContent)
{
- // 440a -> 830a로 복사
- if (idx == "50")
- return TagToOtherTag("440", "a", "830", "a", TargetMarc);
-
- // 440x -> 490a로 복사
- if (idx == "51")
- return TagToOtherTag("440", "a", "490", "a", TargetMarc);
for (int a = 0; a < SplitContent.Length; a++)
{
@@ -517,8 +578,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "37") SplitContent[a] = "10";
}
return string.Join("▼", SplitContent);
}
@@ -529,8 +588,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "38") SplitContent[a] = " ";
}
return string.Join("▼", SplitContent);
}
@@ -541,8 +598,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "39") SplitContent[a] = "00";
}
return string.Join("▼", SplitContent);
}
@@ -558,6 +613,17 @@ namespace UniMarc.마크
return string.Join("▼", SplitContent);
}
+
+ private string Index_525(string idx, string[] SplitContent)
+ {
+
+ for (int a = 0; a < SplitContent.Length; a++)
+ {
+ if (a <= 1) continue;
+ }
+
+ return string.Join("▼", SplitContent);
+ }
private string Index_536(string idx, string[] SplitContent)
{
if (idx == "31") return "";
@@ -597,8 +663,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "40") SplitContent[a] = "1 ";
}
return string.Join("▼", SplitContent);
}
@@ -609,8 +673,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "41") SplitContent[a] = " ";
}
return string.Join("▼", SplitContent);
}
@@ -621,8 +683,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "42") SplitContent[a] = "02";
}
return string.Join("▼", SplitContent);
}
@@ -633,8 +693,6 @@ namespace UniMarc.마크
{
if (a <= 1) continue;
- if (a == 0 && idx == "43") SplitContent[a] = " 0";
-
// $n 앞에는 "." 적용
if (SplitContent[a].StartsWith("n") && idx == "25")
if (!SplitContent[a - 1].EndsWith("."))
@@ -670,8 +728,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "44") SplitContent[a] = "10";
}
return string.Join("▼", SplitContent);
}
@@ -682,8 +738,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "45") SplitContent[a] = " 0";
}
return string.Join("▼", SplitContent);
}
@@ -694,8 +748,6 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "46") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
@@ -706,11 +758,10 @@ namespace UniMarc.마크
for (int a = 0; a < SplitContent.Length; a++)
{
if (a <= -1) continue;
-
- if (a == 0 && idx == "47") SplitContent[a] = "0 ";
}
return string.Join("▼", SplitContent);
}
+ #endregion
///
diff --git a/unimarc/unimarc/마크/Marc_Plan.Designer.cs b/unimarc/unimarc/마크/Marc_Plan.Designer.cs
index 21770a5..ed441ba 100644
--- a/unimarc/unimarc/마크/Marc_Plan.Designer.cs
+++ b/unimarc/unimarc/마크/Marc_Plan.Designer.cs
@@ -28,16 +28,17 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Marc_Plan));
this.panel1 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
+ this.btn_ApplyMacro = new System.Windows.Forms.Button();
this.btn_Save = new System.Windows.Forms.Button();
this.btn_Excel = new System.Windows.Forms.Button();
this.cb_EncodingType = new System.Windows.Forms.ComboBox();
@@ -80,6 +81,8 @@
this.marc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.search_tag = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.WorkCopy = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.WorkFix = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.panel2 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
@@ -127,8 +130,6 @@
this.panel7 = new System.Windows.Forms.Panel();
this.printDocument1 = new System.Drawing.Printing.PrintDocument();
this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();
- this.WorkCopy = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.WorkFix = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1.SuspendLayout();
this.panel4.SuspendLayout();
this.panel3.SuspendLayout();
@@ -147,12 +148,13 @@
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(1462, 35);
+ this.panel1.Size = new System.Drawing.Size(1661, 35);
this.panel1.TabIndex = 0;
//
// panel4
//
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panel4.Controls.Add(this.btn_ApplyMacro);
this.panel4.Controls.Add(this.btn_Save);
this.panel4.Controls.Add(this.btn_Excel);
this.panel4.Controls.Add(this.cb_EncodingType);
@@ -162,6 +164,16 @@
this.panel4.Size = new System.Drawing.Size(457, 29);
this.panel4.TabIndex = 9;
//
+ // btn_ApplyMacro
+ //
+ this.btn_ApplyMacro.Location = new System.Drawing.Point(95, 2);
+ this.btn_ApplyMacro.Name = "btn_ApplyMacro";
+ this.btn_ApplyMacro.Size = new System.Drawing.Size(86, 23);
+ this.btn_ApplyMacro.TabIndex = 11;
+ this.btn_ApplyMacro.Text = "매크로 적용";
+ this.btn_ApplyMacro.UseVisualStyleBackColor = true;
+ this.btn_ApplyMacro.Click += new System.EventHandler(this.btn_ApplyMacro_Click);
+ //
// btn_Save
//
this.btn_Save.Location = new System.Drawing.Point(3, 2);
@@ -174,7 +186,7 @@
//
// btn_Excel
//
- this.btn_Excel.Location = new System.Drawing.Point(338, 2);
+ this.btn_Excel.Location = new System.Drawing.Point(377, 2);
this.btn_Excel.Name = "btn_Excel";
this.btn_Excel.Size = new System.Drawing.Size(75, 23);
this.btn_Excel.TabIndex = 8;
@@ -186,14 +198,14 @@
//
this.cb_EncodingType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_EncodingType.FormattingEnabled = true;
- this.cb_EncodingType.Location = new System.Drawing.Point(130, 3);
+ this.cb_EncodingType.Location = new System.Drawing.Point(212, 3);
this.cb_EncodingType.Name = "cb_EncodingType";
this.cb_EncodingType.Size = new System.Drawing.Size(81, 20);
this.cb_EncodingType.TabIndex = 9;
//
// btn_Output
//
- this.btn_Output.Location = new System.Drawing.Point(217, 2);
+ this.btn_Output.Location = new System.Drawing.Point(299, 2);
this.btn_Output.Name = "btn_Output";
this.btn_Output.Size = new System.Drawing.Size(75, 23);
this.btn_Output.TabIndex = 9;
@@ -357,14 +369,14 @@
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.AppWorkspace;
- dataGridViewCellStyle8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
- dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
+ dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.AppWorkspace;
+ dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
+ dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeight = 25;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -397,11 +409,12 @@
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23;
- this.dataGridView1.Size = new System.Drawing.Size(1462, 549);
+ this.dataGridView1.Size = new System.Drawing.Size(1661, 549);
this.dataGridView1.TabIndex = 1;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
+ this.dataGridView1.SortCompare += new System.Windows.Forms.DataGridViewSortCompareEventHandler(this.dataGridView1_SortCompare);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// idx
@@ -421,8 +434,8 @@
//
// reg_num
//
- dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.reg_num.DefaultCellStyle = dataGridViewCellStyle9;
+ dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.reg_num.DefaultCellStyle = dataGridViewCellStyle2;
this.reg_num.FillWeight = 130.9363F;
this.reg_num.HeaderText = "등록번호";
this.reg_num.Name = "reg_num";
@@ -430,8 +443,8 @@
//
// class_code
//
- dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.class_code.DefaultCellStyle = dataGridViewCellStyle10;
+ dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.class_code.DefaultCellStyle = dataGridViewCellStyle3;
this.class_code.FillWeight = 76.41504F;
this.class_code.HeaderText = "분류";
this.class_code.Name = "class_code";
@@ -439,8 +452,8 @@
//
// author_code
//
- dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.author_code.DefaultCellStyle = dataGridViewCellStyle11;
+ dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.author_code.DefaultCellStyle = dataGridViewCellStyle4;
this.author_code.FillWeight = 77.02635F;
this.author_code.HeaderText = "저자기호";
this.author_code.Name = "author_code";
@@ -448,8 +461,8 @@
//
// volume
//
- dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.volume.DefaultCellStyle = dataGridViewCellStyle12;
+ dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.volume.DefaultCellStyle = dataGridViewCellStyle5;
this.volume.FillWeight = 38.80909F;
this.volume.HeaderText = "V";
this.volume.Name = "volume";
@@ -458,8 +471,8 @@
//
// copy
//
- dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.copy.DefaultCellStyle = dataGridViewCellStyle13;
+ dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.copy.DefaultCellStyle = dataGridViewCellStyle6;
this.copy.FillWeight = 40.14827F;
this.copy.HeaderText = "C";
this.copy.Name = "copy";
@@ -468,8 +481,8 @@
//
// prefix
//
- dataGridViewCellStyle14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.prefix.DefaultCellStyle = dataGridViewCellStyle14;
+ dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+ this.prefix.DefaultCellStyle = dataGridViewCellStyle7;
this.prefix.FillWeight = 41.51828F;
this.prefix.HeaderText = "F";
this.prefix.Name = "prefix";
@@ -558,7 +571,6 @@
//
this.marc.HeaderText = "마크";
this.marc.Name = "marc";
- this.marc.Visible = false;
//
// search_tag
//
@@ -579,13 +591,23 @@
this.colCheck.TrueValue = "T";
this.colCheck.Width = 27;
//
+ // WorkCopy
+ //
+ this.WorkCopy.HeaderText = "복본 작업용 열";
+ this.WorkCopy.Name = "WorkCopy";
+ //
+ // WorkFix
+ //
+ this.WorkFix.HeaderText = "별치 작업용 열";
+ this.WorkFix.Name = "WorkFix";
+ //
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
- this.checkBox1.Location = new System.Drawing.Point(1420, 6);
+ this.checkBox1.Location = new System.Drawing.Point(1520, 6);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(15, 14);
this.checkBox1.TabIndex = 2;
@@ -614,7 +636,7 @@
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(0, 35);
this.panel5.Name = "panel5";
- this.panel5.Size = new System.Drawing.Size(1462, 35);
+ this.panel5.Size = new System.Drawing.Size(1661, 35);
this.panel5.TabIndex = 9;
//
// chkBox_AllowDrop
@@ -673,7 +695,7 @@
this.panel6.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel6.Location = new System.Drawing.Point(0, 619);
this.panel6.Name = "panel6";
- this.panel6.Size = new System.Drawing.Size(1462, 59);
+ this.panel6.Size = new System.Drawing.Size(1661, 59);
this.panel6.TabIndex = 10;
//
// chk_Alignment
@@ -1060,7 +1082,7 @@
this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel7.Location = new System.Drawing.Point(0, 70);
this.panel7.Name = "panel7";
- this.panel7.Size = new System.Drawing.Size(1462, 549);
+ this.panel7.Size = new System.Drawing.Size(1661, 549);
this.panel7.TabIndex = 11;
//
// printDocument1
@@ -1078,21 +1100,11 @@
this.printPreviewDialog1.Name = "printPreviewDialog1";
this.printPreviewDialog1.Visible = false;
//
- // WorkCopy
- //
- this.WorkCopy.HeaderText = "복본 작업용 열";
- this.WorkCopy.Name = "WorkCopy";
- //
- // WorkFix
- //
- this.WorkFix.HeaderText = "별치 작업용 열";
- this.WorkFix.Name = "WorkFix";
- //
// Marc_Plan
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1462, 678);
+ this.ClientSize = new System.Drawing.Size(1661, 678);
this.Controls.Add(this.panel7);
this.Controls.Add(this.panel6);
this.Controls.Add(this.panel5);
@@ -1129,28 +1141,6 @@
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btn_ChangeTag;
- private System.Windows.Forms.DataGridViewTextBoxColumn idx;
- private System.Windows.Forms.DataGridViewTextBoxColumn num;
- private System.Windows.Forms.DataGridViewTextBoxColumn reg_num;
- private System.Windows.Forms.DataGridViewTextBoxColumn class_code;
- private System.Windows.Forms.DataGridViewTextBoxColumn author_code;
- private System.Windows.Forms.DataGridViewTextBoxColumn volume;
- private System.Windows.Forms.DataGridViewTextBoxColumn copy;
- private System.Windows.Forms.DataGridViewTextBoxColumn prefix;
- private System.Windows.Forms.DataGridViewTextBoxColumn gu;
- private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
- private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
- private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name1;
- private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num1;
- private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name2;
- private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num2;
- private System.Windows.Forms.DataGridViewTextBoxColumn author;
- private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
- private System.Windows.Forms.DataGridViewTextBoxColumn price;
- private System.Windows.Forms.DataGridViewTextBoxColumn midx;
- private System.Windows.Forms.DataGridViewTextBoxColumn marc;
- private System.Windows.Forms.DataGridViewTextBoxColumn search_tag;
- private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.ComboBox cb_authorType;
private System.Windows.Forms.ComboBox cb_divType;
@@ -1210,6 +1200,29 @@
private System.Windows.Forms.CheckBox chk_Alignment;
private System.Windows.Forms.TextBox tb_NumSize;
private System.Windows.Forms.Label label24;
+ private System.Windows.Forms.Button btn_ApplyMacro;
+ private System.Windows.Forms.DataGridViewTextBoxColumn idx;
+ private System.Windows.Forms.DataGridViewTextBoxColumn num;
+ private System.Windows.Forms.DataGridViewTextBoxColumn reg_num;
+ private System.Windows.Forms.DataGridViewTextBoxColumn class_code;
+ private System.Windows.Forms.DataGridViewTextBoxColumn author_code;
+ private System.Windows.Forms.DataGridViewTextBoxColumn volume;
+ private System.Windows.Forms.DataGridViewTextBoxColumn copy;
+ private System.Windows.Forms.DataGridViewTextBoxColumn prefix;
+ private System.Windows.Forms.DataGridViewTextBoxColumn gu;
+ private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
+ private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
+ private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn s_book_name2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn s_book_num2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn author;
+ private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
+ private System.Windows.Forms.DataGridViewTextBoxColumn price;
+ private System.Windows.Forms.DataGridViewTextBoxColumn midx;
+ private System.Windows.Forms.DataGridViewTextBoxColumn marc;
+ private System.Windows.Forms.DataGridViewTextBoxColumn search_tag;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn WorkCopy;
private System.Windows.Forms.DataGridViewTextBoxColumn WorkFix;
}
diff --git a/unimarc/unimarc/마크/Marc_Plan.cs b/unimarc/unimarc/마크/Marc_Plan.cs
index 2d9ca2b..6a58c77 100644
--- a/unimarc/unimarc/마크/Marc_Plan.cs
+++ b/unimarc/unimarc/마크/Marc_Plan.cs
@@ -1,4 +1,5 @@
-using System;
+using ExcelTest;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -65,6 +66,7 @@ namespace WindowsFormsApp1.Mac
}
#region SelectList_Sub
+
public void mk_Grid(string ListName, string date, string[] Grid)
{
btn_Select_List.Text = ListName;
@@ -74,7 +76,10 @@ namespace WindowsFormsApp1.Mac
string Table = "Specs_Marc";
String_Text st = new String_Text();
+
+ // L V C F A B
string[] GetTag = { "049v", "049c", "049f" };
+ string[] GetTag2 = { "090a", "090b" };
// idx
// 연번 등록번호 분류기호 저자기호 V(049v,볼륨)
// C(049c,복본) F(049f,별치) 구분(이용자) ISBN 도서명
@@ -116,10 +121,29 @@ namespace WindowsFormsApp1.Mac
if (a % 16 == 13) Grid[17] = ary[a]; // price
if (a % 16 == 14) Grid[18] = ary[a]; // midx
if (a % 16 == 15) { Grid[19] = ary[a]; // marc
+
string[] vcf = st.Take_Tag(ary[a], GetTag);
Grid[5] = vcf[0];
Grid[6] = vcf[1];
Grid[7] = vcf[2];
+
+ string[] ab = st.Take_Tag(ary[a], GetTag2);
+ if (ab[0] != "")
+ Grid[19] = Grid[19].Replace(ab[0], Grid[3]);
+ if (ab[1] != "")
+ Grid[19] = Grid[19].Replace(ab[1], Grid[4]);
+
+ vcf = new string[] { "", "", "" };
+ vcf[0] = string.Format("▼a{0}", Grid[3]);
+ vcf[1] = string.Format("▼b{0}", Grid[4]);
+ if (Grid[5] != "")
+ vcf[2] = string.Format("▼c{0}", Grid[5]);
+ string AddTag = string.Format("090\t \t{0}{1}{2}▲", vcf[0], vcf[1], vcf[2]);
+ string TypeView = ConvertMarcType(Grid[19]);
+ Grid[19] = st.made_Ori_marc(AddTagInMarc(AddTag, TypeView));
+
+
+
dataGridView1.Rows.Add(Grid);
}
}
@@ -472,7 +496,63 @@ namespace WindowsFormsApp1.Mac
private void btn_Output_Click(object sender, EventArgs e)
{
String_Text st = new String_Text();
- Set_Macro sm = new Set_Macro();
+ string Marc_data = string.Empty;
+
+ string FileEncodingType = "";
+
+ switch (cb_EncodingType.SelectedIndex)
+ {
+ case 0: FileEncodingType = "ANSI"; break;
+ case 1: FileEncodingType = "UTF-8"; break;
+ case 2: FileEncodingType = "UniCode"; break;
+ default: break;
+ }
+
+ for (int a = 0; a < dataGridView1.Rows.Count; a++)
+ {
+ if (dataGridView1.Rows[a].Cells["marc"].Value.ToString() == "" &&
+ dataGridView1.Rows[a].Cells["marc"].Value == null)
+ continue;
+
+ if (dataGridView1.Rows[a].Cells["colCheck"].Value.ToString() != "T")
+ continue;
+
+ string marc = dataGridView1.Rows[a].Cells["Marc"].Value.ToString().Replace("₩", "\\");
+ marc = st.ConvertMarcType(marc);
+ marc = st.made_Ori_marc(marc, FileEncodingType);
+
+ Marc_data += marc;
+ }
+
+ string FileName;
+ SaveFileDialog saveFileDialog = new SaveFileDialog();
+ saveFileDialog.Title = "저장 경로를 지정하세요.";
+ saveFileDialog.OverwritePrompt = true;
+ saveFileDialog.Filter = "마크 파일 (*.mrc)|*.mrc|모든 파일 (*.*)|*.*";
+
+ if (saveFileDialog.ShowDialog() == DialogResult.OK)
+ {
+ if (FileEncodingType == "ANSI") {
+ FileName = saveFileDialog.FileName;
+ File.WriteAllText(FileName, Marc_data, Encoding.Default);
+ }
+ else if (FileEncodingType == "UTF-8") {
+ FileName = saveFileDialog.FileName;
+ File.WriteAllText(FileName, Marc_data, Encoding.UTF8);
+ }
+ else if (FileEncodingType == "UniCode") {
+ FileName = saveFileDialog.FileName;
+ File.WriteAllText(FileName, Marc_data, Encoding.Unicode);
+ }
+ }
+ MessageBox.Show("반출되었습니다!");
+
+ }
+
+ private void btn_ApplyMacro_Click(object sender, EventArgs e)
+ {
+ Set_Macro sm = new Set_Macro(this, dataGridView1);
+ String_Text st = new String_Text();
string FileEncodingType = "";
@@ -501,7 +581,7 @@ namespace WindowsFormsApp1.Mac
}
sm.ViewMarcArray = MarcArray;
- sm.FileType = FileEncodingType;
+ // sm.FileType = FileEncodingType;
sm.Show();
}
@@ -554,6 +634,9 @@ namespace WindowsFormsApp1.Mac
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
+ String_Text st = new String_Text();
+
+
int row = e.RowIndex;
int col = dataGridView1.CurrentCell.ColumnIndex;
@@ -567,8 +650,9 @@ namespace WindowsFormsApp1.Mac
}
string Marc = dataGridView1.Rows[row].Cells["marc"].Value.ToString();
+ string TypeView = ConvertMarcType(Marc);
+ string AddTag;
- string AddTag = "";
if (col == 2 || col == 5 || col == 6 || col == 7)
{
string L = dataGridView1.Rows[row].Cells[2].Value.ToString();
@@ -589,12 +673,14 @@ namespace WindowsFormsApp1.Mac
F = string.Format("▼f{0}", F);
AddTag = string.Format("049\t \t{0}{1}{2}{3}▲", L, V, C, F);
+
+ TypeView = AddTagInMarc(AddTag, TypeView);
}
if (col == 3 || col == 4 || col == 5)
{
string A = dataGridView1.Rows[row].Cells[3].Value.ToString();
string B = dataGridView1.Rows[row].Cells[4].Value.ToString();
- string C = dataGridView1.Rows[row].Cells[5].Value.ToString();
+ string V = dataGridView1.Rows[row].Cells[5].Value.ToString();
if (A != "")
A = string.Format("▼a{0}", A);
@@ -602,17 +688,14 @@ namespace WindowsFormsApp1.Mac
if (B != "")
B = string.Format("▼b{0}", B);
- if (C != "")
- C = string.Format("▼c{0}", C);
+ if (V != "")
+ V = string.Format("▼c{0}", V);
- AddTag = string.Format("090\t \t{0}{1}{2}▲", A, B, C);
+ AddTag = string.Format("090\t \t{0}{1}{2}▲", A, B, V);
+
+ TypeView = AddTagInMarc(AddTag, TypeView);
}
- string TypeView = ConvertMarcType(Marc);
-
- string AddMarc = AddTagInMarc(AddTag, TypeView);
-
- String_Text st = new String_Text();
- dataGridView1.Rows[row].Cells["marc"].Value = st.made_Ori_marc(AddMarc);
+ dataGridView1.Rows[row].Cells["marc"].Value = st.made_Ori_marc(TypeView);
}
}
@@ -664,6 +747,12 @@ namespace WindowsFormsApp1.Mac
return result;
}
+ ///
+ /// 추가하고 싶은 태그를 뷰형태의 마크에 추가하는 함수.
+ ///
+ /// 추가할 태그 (태그명\t지시기호\t태그내용)
+ /// 뷰형태의 마크
+ ///
string AddTagInMarc(string Tag, string TypeView)
{
if (Tag.Length < 3) return "";
@@ -820,6 +909,9 @@ namespace WindowsFormsApp1.Mac
List result = new List();
for (int a = 0; a < dataGridView1.Rows.Count; a++)
{
+ if (dataGridView1.Rows[a].Cells["colCheck"].Value.ToString() != "T")
+ continue;
+
string classSymbol = dataGridView1.Rows[a].Cells["class_code"].Value.ToString();
string authorSymbol = dataGridView1.Rows[a].Cells["author_code"].Value.ToString();
string count = dataGridView1.Rows[a].Cells["copy"].Value.ToString();
@@ -895,5 +987,15 @@ namespace WindowsFormsApp1.Mac
{
tb_NumSize.Enabled = chk_Num.Checked;
}
+
+ private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
+ {
+ if (e.Column.Name.Equals("num"))
+ {
+ int a = int.Parse(e.CellValue1.ToString()), b = int.Parse(e.CellValue2.ToString());
+ e.SortResult = a.CompareTo(b);
+ e.Handled = true;
+ }
+ }
}
}
diff --git a/unimarc/unimarc/마크/Marc_mkList.cs b/unimarc/unimarc/마크/Marc_mkList.cs
index cbb9f92..f33c660 100644
--- a/unimarc/unimarc/마크/Marc_mkList.cs
+++ b/unimarc/unimarc/마크/Marc_mkList.cs
@@ -154,6 +154,7 @@ namespace UniMarc.마크
// ISBN, book_name, s_book_name1, s_book_num1, author, book_comp, pubdate, price, tag008, class_symbol
string[] Search = { "020a", "245a", "440a", "440v", "245d", "260b", "260c", "950b", "008", "056a" };
+
insert_marc_data[14] = marc.List_Book.Rows[row[a]].Cells["db_marc"].Value.ToString();
insert_marc_data[15] = marc.List_Book.Rows[row[a]].Cells["url"].Value.ToString();
insert_marc_data[16] = marc.List_Book.Rows[row[a]].Cells["count"].Value.ToString();
@@ -177,11 +178,26 @@ namespace UniMarc.마크
//UPDATE: [22.09.20 추가] 245d에 [외]가 있는 경우 저자가 아닌 출판사로 저자기호 생성
if (Author_res[3].IndexOf("[외]") > -1) Author[0] = Marc[5];
+ string tmp_ViewMarc = st.ConvertMarcType(insert_marc_data[14]);
+
+ // 마크에서 추출한 데이터 DB에 적용하기 위한 반복문
for (int b = 0; b < Marc.Length; b++)
{
insert_marc_data[b + 3] = Marc[b];
+
+ // 분류기호 설정값적용대로 가져오기.
+ if (b == 9) {
+ string class_symbol = st.TakeTag_ConditionContent(tmp_ViewMarc, "056a", "056" + cb_divNum.Text);
+ if (class_symbol != "")
+ insert_marc_data[b + 3] = class_symbol;
+ }
}
+ // 마크 분류기호 설정값대로 적용
+ tmp_ViewMarc = st.RemoveTagNumber(tmp_ViewMarc, "056");
+ tmp_ViewMarc = st.AddTagInMarc(string.Format("056\t \t▼a{0}▼2{1}▲", insert_marc_data[12], cb_divNum.Text), tmp_ViewMarc);
+ insert_marc_data[14] = st.made_Ori_marc(tmp_ViewMarc);
+
if (Author[0].Length < 1) {
MessageBox.Show(row[a] + "번째의 저자를 확인해주세요. \n (100a, 110a, 111a 중 1개 필수)");
return;
diff --git a/unimarc/unimarc/마크/Set_Macro.Designer.cs b/unimarc/unimarc/마크/Set_Macro.Designer.cs
index 6fbd9d2..8c716be 100644
--- a/unimarc/unimarc/마크/Set_Macro.Designer.cs
+++ b/unimarc/unimarc/마크/Set_Macro.Designer.cs
@@ -28,11 +28,11 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.panel1 = new System.Windows.Forms.Panel();
this.cb_EncodingType = new System.Windows.Forms.ComboBox();
- this.btn_MakeFile = new System.Windows.Forms.Button();
+ this.btn_ApplyMacro = new System.Windows.Forms.Button();
this.cb_SearchList = new System.Windows.Forms.ComboBox();
this.btn_ListRemove = new System.Windows.Forms.Button();
this.btn_ListSave = new System.Windows.Forms.Button();
@@ -40,11 +40,11 @@
this.btn_Close = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.MacroGrid = new System.Windows.Forms.DataGridView();
- this.panel3 = new System.Windows.Forms.Panel();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TagNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Macro = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Check = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.panel3 = new System.Windows.Forms.Panel();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.MacroGrid)).BeginInit();
this.panel3.SuspendLayout();
@@ -54,7 +54,7 @@
//
this.panel1.BackColor = System.Drawing.SystemColors.AppWorkspace;
this.panel1.Controls.Add(this.cb_EncodingType);
- this.panel1.Controls.Add(this.btn_MakeFile);
+ this.panel1.Controls.Add(this.btn_ApplyMacro);
this.panel1.Controls.Add(this.cb_SearchList);
this.panel1.Controls.Add(this.btn_ListRemove);
this.panel1.Controls.Add(this.btn_ListSave);
@@ -80,15 +80,15 @@
this.cb_EncodingType.Size = new System.Drawing.Size(81, 20);
this.cb_EncodingType.TabIndex = 10;
//
- // btn_MakeFile
+ // btn_ApplyMacro
//
- this.btn_MakeFile.Location = new System.Drawing.Point(668, 6);
- this.btn_MakeFile.Name = "btn_MakeFile";
- this.btn_MakeFile.Size = new System.Drawing.Size(75, 23);
- this.btn_MakeFile.TabIndex = 5;
- this.btn_MakeFile.Text = "마크 반출";
- this.btn_MakeFile.UseVisualStyleBackColor = true;
- this.btn_MakeFile.Click += new System.EventHandler(this.btn_MakeFile_Click);
+ this.btn_ApplyMacro.Location = new System.Drawing.Point(668, 6);
+ this.btn_ApplyMacro.Name = "btn_ApplyMacro";
+ this.btn_ApplyMacro.Size = new System.Drawing.Size(78, 23);
+ this.btn_ApplyMacro.TabIndex = 5;
+ this.btn_ApplyMacro.Text = "매크로 적용";
+ this.btn_ApplyMacro.UseVisualStyleBackColor = true;
+ this.btn_ApplyMacro.Click += new System.EventHandler(this.btn_ApplyMacro_Click);
//
// cb_SearchList
//
@@ -153,14 +153,14 @@
//
this.MacroGrid.AllowUserToAddRows = false;
this.MacroGrid.AllowUserToDeleteRows = false;
- dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
- dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.MacroGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
+ dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.MacroGrid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.MacroGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.MacroGrid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx,
@@ -176,15 +176,6 @@
this.MacroGrid.TabIndex = 0;
this.MacroGrid.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.MacroGrid_CellClick);
//
- // panel3
- //
- this.panel3.Controls.Add(this.MacroGrid);
- this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.panel3.Location = new System.Drawing.Point(0, 35);
- this.panel3.Name = "panel3";
- this.panel3.Size = new System.Drawing.Size(900, 572);
- this.panel3.TabIndex = 3;
- //
// idx
//
this.idx.HeaderText = "idx";
@@ -195,8 +186,8 @@
//
// TagNum
//
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- this.TagNum.DefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ this.TagNum.DefaultCellStyle = dataGridViewCellStyle4;
this.TagNum.HeaderText = "태그번호";
this.TagNum.Name = "TagNum";
this.TagNum.ReadOnly = true;
@@ -217,6 +208,15 @@
this.Check.TrueValue = "T";
this.Check.Width = 40;
//
+ // panel3
+ //
+ this.panel3.Controls.Add(this.MacroGrid);
+ this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel3.Location = new System.Drawing.Point(0, 35);
+ this.panel3.Name = "panel3";
+ this.panel3.Size = new System.Drawing.Size(900, 572);
+ this.panel3.TabIndex = 3;
+ //
// Set_Macro
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -247,7 +247,7 @@
private System.Windows.Forms.Button btn_ListRemove;
private System.Windows.Forms.DataGridViewCheckBoxColumn Save_Check;
private System.Windows.Forms.ComboBox cb_SearchList;
- private System.Windows.Forms.Button btn_MakeFile;
+ private System.Windows.Forms.Button btn_ApplyMacro;
private System.Windows.Forms.ComboBox cb_EncodingType;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn TagNum;
diff --git a/unimarc/unimarc/마크/Set_Macro.cs b/unimarc/unimarc/마크/Set_Macro.cs
index e4e940c..4315516 100644
--- a/unimarc/unimarc/마크/Set_Macro.cs
+++ b/unimarc/unimarc/마크/Set_Macro.cs
@@ -16,8 +16,10 @@ namespace WindowsFormsApp1.Mac
public partial class Set_Macro : Form
{
Main main;
+ Marc_Plan mp;
Helper_DB db = new Helper_DB();
Macro_Gudu gudu = new Macro_Gudu();
+ DataGridView TargetGrid;
string compidx = UniMarc.Properties.Settings.Default.compidx;
public string[] ViewMarcArray { get; set; }
public string FileType { get; set; }
@@ -28,6 +30,13 @@ namespace WindowsFormsApp1.Mac
main = _main;
}
+ public Set_Macro(Marc_Plan _mp, DataGridView mpGrid)
+ {
+ InitializeComponent();
+ mp = _mp;
+ TargetGrid = mpGrid;
+ }
+
public Set_Macro()
{
InitializeComponent();
@@ -87,8 +96,32 @@ namespace WindowsFormsApp1.Mac
}
}
- private void btn_MakeFile_Click(object sender, EventArgs e)
+ private void btn_ApplyMacro_Click(object sender, EventArgs e)
{
+ Macro_Gudu macro = new Macro_Gudu();
+ List idxArray = new List();
+
+ for (int a = 0; a < MacroGrid.Rows.Count; a++)
+ {
+ if (MacroGrid.Rows[a].Cells["Check"].Value.ToString().Contains("T"))
+ idxArray.Add(MacroGrid.Rows[a].Cells["idx"].Value.ToString());
+ }
+
+ int count = 0;
+ for (int a = 0; a < TargetGrid.Rows.Count; a++)
+ {
+ if (TargetGrid.Rows[a].Cells["marc"].Value.ToString() == "" &&
+ TargetGrid.Rows[a].Cells["marc"].Value == null)
+ continue;
+
+ if (TargetGrid.Rows[a].Cells["colCheck"].Value.ToString() != "T")
+ continue;
+
+ TargetGrid.Rows[a].Cells["marc"].Value = macro.MacroMarc(ViewMarcArray[count], idxArray);
+ count++;
+ }
+ MessageBox.Show("적용되었습니다!");
+ /*
Macro_Gudu macro = new Macro_Gudu(FileType);
string Marc_data = "";
List idxArray = new List();
@@ -132,6 +165,7 @@ namespace WindowsFormsApp1.Mac
}
MessageBox.Show("반출되었습니다!");
+ */
}
private void btn_AddList_Click(object sender, EventArgs e)
@@ -143,15 +177,22 @@ namespace WindowsFormsApp1.Mac
{
string user = UniMarc.Properties.Settings.Default.User;
string compidx = UniMarc.Properties.Settings.Default.compidx;
+ string MacroIndex = "";
+ for (int a = 0; a < MacroGrid.Rows.Count; a++)
+ {
+ if (MacroGrid.Rows[a].Cells["Check"].Value.ToString() == "T")
+ MacroIndex += MacroGrid.Rows[a].Cells["idx"].Value.ToString() + "^";
+ }
+ MacroIndex.TrimEnd('^');
string Table = "Comp_SaveMacro";
- if (db.DB_Send_CMD_Search(string.Format("SELECT * FROM {0} WHERE \"compidx\" = {1} AND \"{2}\" = \"{3}\"", Table, compidx, "listname", value)).Length > 2)
+ if (db.DB_Send_CMD_Search(string.Format("SELECT * FROM {0} WHERE `compidx` = \"{1}\" AND `{2}` = \"{3}\"", Table, compidx, "listname", value)).Length > 2)
{
MessageBox.Show("중복된 목록명이 있습니다!");
return;
}
- string[] Insert_Tbl = { "compidx", "listname", "user" };
- string[] Insert_Col = { compidx, value, user };
+ string[] Insert_Tbl = { "compidx", "listname", "user", "Macroidx" };
+ string[] Insert_Col = { compidx, value, user, MacroIndex };
string cmd = db.DB_INSERT(Table, Insert_Tbl, Insert_Col);
db.DB_Send_CMD_reVoid(cmd);
@@ -166,13 +207,14 @@ namespace WindowsFormsApp1.Mac
string listname = cb_SearchList.Text;
for (int a = 0; a < MacroGrid.Rows.Count; a++)
{
- MacroIndex += MacroGrid.Rows[a].Cells["idx"].Value.ToString() + "^";
+ if (MacroGrid.Rows[a].Cells["Check"].Value.ToString() == "T")
+ MacroIndex += MacroGrid.Rows[a].Cells["idx"].Value.ToString() + "^";
}
MacroIndex.TrimEnd('^');
string Table = "Comp_SaveMacro";
string[] Search_T = { "compidx", "listname" };
- string[] Search_C = { compidx, listname };
+ string[] Search_C = { compidx , listname };
if (db.DB_Send_CMD_Search(db.More_DB_Search(Table, Search_T, Search_C)).Length < 2)
{