diff --git a/unimarc/.vs/unimarc/FileContentIndex/18e4f71a-8b4a-4f8f-a0d5-f1117ee58e69.vsidx b/unimarc/.vs/unimarc/FileContentIndex/18e4f71a-8b4a-4f8f-a0d5-f1117ee58e69.vsidx deleted file mode 100644 index 469de44..0000000 Binary files a/unimarc/.vs/unimarc/FileContentIndex/18e4f71a-8b4a-4f8f-a0d5-f1117ee58e69.vsidx and /dev/null differ diff --git a/unimarc/.vs/unimarc/FileContentIndex/23a9657d-ef8d-4c67-890c-bf23fc529ef4.vsidx b/unimarc/.vs/unimarc/FileContentIndex/23a9657d-ef8d-4c67-890c-bf23fc529ef4.vsidx deleted file mode 100644 index 279e4a0..0000000 Binary files a/unimarc/.vs/unimarc/FileContentIndex/23a9657d-ef8d-4c67-890c-bf23fc529ef4.vsidx and /dev/null 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 new file mode 100644 index 0000000..5b2a4b0 Binary files /dev/null and b/unimarc/.vs/unimarc/FileContentIndex/588734e5-2dd3-478a-a657-582bad511001.vsidx differ diff --git a/unimarc/.vs/unimarc/FileContentIndex/9486b2eb-3f19-4a0d-a1a7-8592882c0895.vsidx b/unimarc/.vs/unimarc/FileContentIndex/9486b2eb-3f19-4a0d-a1a7-8592882c0895.vsidx new file mode 100644 index 0000000..89486af Binary files /dev/null and b/unimarc/.vs/unimarc/FileContentIndex/9486b2eb-3f19-4a0d-a1a7-8592882c0895.vsidx differ diff --git a/unimarc/.vs/unimarc/FileContentIndex/91acc93b-9c3c-4509-97ab-69c4e83ee5fe.vsidx b/unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx similarity index 70% rename from unimarc/.vs/unimarc/FileContentIndex/91acc93b-9c3c-4509-97ab-69c4e83ee5fe.vsidx rename to unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx index ade0ab3..8506a72 100644 Binary files a/unimarc/.vs/unimarc/FileContentIndex/91acc93b-9c3c-4509-97ab-69c4e83ee5fe.vsidx and b/unimarc/.vs/unimarc/FileContentIndex/bf6ef1e1-1f8e-42ac-9f4b-90a4b3f3282b.vsidx differ diff --git a/unimarc/.vs/unimarc/FileContentIndex/3e69dca5-3d97-41eb-825f-9f9fb9f65f60.vsidx b/unimarc/.vs/unimarc/FileContentIndex/d6574f49-a2e3-4823-80e4-a3bcfdd7b101.vsidx similarity index 100% rename from unimarc/.vs/unimarc/FileContentIndex/3e69dca5-3d97-41eb-825f-9f9fb9f65f60.vsidx rename to unimarc/.vs/unimarc/FileContentIndex/d6574f49-a2e3-4823-80e4-a3bcfdd7b101.vsidx diff --git a/unimarc/.vs/unimarc/v17/.suo b/unimarc/.vs/unimarc/v17/.suo index 998577c..7c9cb04 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 e8c9513..ecf6709 100644 --- a/unimarc/unimarc/Skill.cs +++ b/unimarc/unimarc/Skill.cs @@ -1578,15 +1578,18 @@ namespace WindowsFormsApp1 string[] str_num = num.ToArray(); for (int a = 0; a < str_num.Length; a++) { - if (count[a].Length == 3) { count[a] = count[a].Insert(0, "0"); } - else if (count[a].Length == 2) { count[a] = count[a].Insert(0, "00"); } - else if (count[a].Length == 1) { count[a] = count[a].Insert(0, "000"); } + count[a] = count[a].PadLeft(4, '0'); + // if (count[a].Length == 3) { count[a] = count[a].Insert(0, "0"); } + // else if (count[a].Length == 2) { count[a] = count[a].Insert(0, "00"); } + // else if (count[a].Length == 1) { count[a] = count[a].Insert(0, "000"); } - if (total[a].Length == 4) { total[a] = total[a].Insert(0, "0"); } - else if (total[a].Length == 3) { total[a] = total[a].Insert(0, "00"); } - else if (total[a].Length == 2) { total[a] = total[a].Insert(0, "000"); } - else if (total[a].Length == 1) { total[a] = total[a].Insert(0, "0000"); } - 디렉토리 += str_num[a] + count[a] + total[a] + "\n"; + total[a] = total[a].PadLeft(5, '0'); + // if (total[a].Length == 4) { total[a] = total[a].Insert(0, "0"); } + // else if (total[a].Length == 3) { total[a] = total[a].Insert(0, "00"); } + // else if (total[a].Length == 2) { total[a] = total[a].Insert(0, "000"); } + // else if (total[a].Length == 1) { total[a] = total[a].Insert(0, "0000"); } + // 디렉토리 += str_num[a] + count[a] + total[a] + "\n"; + 디렉토리 += str_num[a] + count[a] + total[a]; } string[] 리더부 = { "00000","n", "a", "m", " ", @@ -1594,7 +1597,7 @@ namespace WindowsFormsApp1 "k", " ", "4", "5", "0", "0" }; 디렉토리 += ""; - 디렉토리 = 디렉토리.Replace("\n", ""); + // 디렉토리 = 디렉토리.Replace("\n", ""); 가변길이 += ""; 가변길이 = 가변길이.Replace("\n", ""); diff --git a/unimarc/unimarc/bin/Debug/UniMarc.exe b/unimarc/unimarc/bin/Debug/UniMarc.exe index 0f21b79..4c07773 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 7015149..5905068 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 0d22586..b6b9a66 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/Interop.SHDocVw.dll b/unimarc/unimarc/obj/Debug/Interop.SHDocVw.dll index f58fee8..17feb51 100644 Binary files a/unimarc/unimarc/obj/Debug/Interop.SHDocVw.dll and b/unimarc/unimarc/obj/Debug/Interop.SHDocVw.dll differ diff --git a/unimarc/unimarc/obj/Debug/TempPE/Connected Services.BaroService_API.Reference.cs.dll b/unimarc/unimarc/obj/Debug/TempPE/Connected Services.BaroService_API.Reference.cs.dll index 4efbe96..4888b7c 100644 Binary files a/unimarc/unimarc/obj/Debug/TempPE/Connected Services.BaroService_API.Reference.cs.dll and b/unimarc/unimarc/obj/Debug/TempPE/Connected Services.BaroService_API.Reference.cs.dll differ diff --git a/unimarc/unimarc/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/unimarc/unimarc/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll index 13003c4..9e7c3e6 100644 Binary files a/unimarc/unimarc/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/unimarc/unimarc/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache b/unimarc/unimarc/obj/Debug/UniMarc.csproj.GenerateResource.cache index 0f04631..3537805 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.csproj.ResolveComReference.cache b/unimarc/unimarc/obj/Debug/UniMarc.csproj.ResolveComReference.cache index cca39ff..50b86a7 100644 Binary files a/unimarc/unimarc/obj/Debug/UniMarc.csproj.ResolveComReference.cache and b/unimarc/unimarc/obj/Debug/UniMarc.csproj.ResolveComReference.cache differ diff --git a/unimarc/unimarc/obj/Debug/UniMarc.exe b/unimarc/unimarc/obj/Debug/UniMarc.exe index 0f21b79..4c07773 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 7015149..5905068 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 0d22586..b6b9a66 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/마크/AddMarc.cs b/unimarc/unimarc/마크/AddMarc.cs index 2ec4878..b5ee4dd 100644 --- a/unimarc/unimarc/마크/AddMarc.cs +++ b/unimarc/unimarc/마크/AddMarc.cs @@ -545,6 +545,7 @@ namespace UniMarc.마크 { count = a; eight_chk = true; + isEight = true; } else if (eight > 008 && !eight_chk) { diff --git a/unimarc/unimarc/마크/Check_Copy_Sub_List.cs b/unimarc/unimarc/마크/Check_Copy_Sub_List.cs index a14a425..2f4dbba 100644 --- a/unimarc/unimarc/마크/Check_Copy_Sub_List.cs +++ b/unimarc/unimarc/마크/Check_Copy_Sub_List.cs @@ -80,6 +80,7 @@ namespace UniMarc.마크 string[] ary = Qurey.Split('|'); string[] grid = { "", "" }; + for (int a = 0; a < ary.Length; a++) { diff --git a/unimarc/unimarc/마크/Check_copy.Designer.cs b/unimarc/unimarc/마크/Check_copy.Designer.cs index 9f094b2..3a7ab88 100644 --- a/unimarc/unimarc/마크/Check_copy.Designer.cs +++ b/unimarc/unimarc/마크/Check_copy.Designer.cs @@ -41,6 +41,8 @@ this.tb_SearchTarget = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); + this.lbl_PW = new System.Windows.Forms.Label(); + this.lbl_ID = new System.Windows.Forms.Label(); this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.book_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -56,8 +58,6 @@ this.btn_OpenMemo = new System.Windows.Forms.Button(); this.chk_spChar = new System.Windows.Forms.CheckBox(); this.panel5 = new System.Windows.Forms.Panel(); - this.lbl_ID = new System.Windows.Forms.Label(); - this.lbl_PW = new System.Windows.Forms.Label(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.SearchCount)).BeginInit(); this.panel2.SuspendLayout(); @@ -200,6 +200,24 @@ this.panel2.Size = new System.Drawing.Size(635, 34); this.panel2.TabIndex = 0; // + // lbl_PW + // + this.lbl_PW.AutoSize = true; + this.lbl_PW.Location = new System.Drawing.Point(379, 10); + this.lbl_PW.Name = "lbl_PW"; + this.lbl_PW.Size = new System.Drawing.Size(9, 12); + this.lbl_PW.TabIndex = 3; + this.lbl_PW.Text = " "; + // + // lbl_ID + // + this.lbl_ID.AutoSize = true; + this.lbl_ID.Location = new System.Drawing.Point(316, 10); + this.lbl_ID.Name = "lbl_ID"; + this.lbl_ID.Size = new System.Drawing.Size(9, 12); + this.lbl_ID.TabIndex = 3; + this.lbl_ID.Text = " "; + // // dataGridView1 // this.dataGridView1.AllowUserToDeleteRows = false; @@ -368,24 +386,6 @@ this.panel5.Size = new System.Drawing.Size(673, 738); this.panel5.TabIndex = 4; // - // lbl_ID - // - this.lbl_ID.AutoSize = true; - this.lbl_ID.Location = new System.Drawing.Point(316, 10); - this.lbl_ID.Name = "lbl_ID"; - this.lbl_ID.Size = new System.Drawing.Size(9, 12); - this.lbl_ID.TabIndex = 3; - this.lbl_ID.Text = " "; - // - // lbl_PW - // - this.lbl_PW.AutoSize = true; - this.lbl_PW.Location = new System.Drawing.Point(379, 10); - this.lbl_PW.Name = "lbl_PW"; - this.lbl_PW.Size = new System.Drawing.Size(9, 12); - this.lbl_PW.TabIndex = 3; - this.lbl_PW.Text = " "; - // // Check_copy // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -395,6 +395,7 @@ this.Controls.Add(this.panel3); this.Name = "Check_copy"; this.Text = "복본조사"; + this.Load += new System.EventHandler(this.Check_copy_Load); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.SearchCount)).EndInit(); diff --git a/unimarc/unimarc/마크/Check_copy.cs b/unimarc/unimarc/마크/Check_copy.cs index d03df8f..e5c2d3c 100644 --- a/unimarc/unimarc/마크/Check_copy.cs +++ b/unimarc/unimarc/마크/Check_copy.cs @@ -175,6 +175,9 @@ namespace WindowsFormsApp1.Mac string BookCount = ""; string text = dataGridView1.Rows[RowCount].Cells["book_name"].Value.ToString(); + if (text == "----- 빈칸으로 놔주세요 -----") + return; + // 광주 시립 (무등, 사직, 산수) if (URL.IndexOf("citylib.gwangju.kr/main/bookSearch") > -1) { @@ -308,6 +311,15 @@ namespace WindowsFormsApp1.Mac BookCount = 전북교육청입력(text); } + // 익산통합도서관 + else if (URL.IndexOf("lib.iksan.go.kr") > -1) + { + if (URL.IndexOf("search_txt_add") > -1) + BookCount = 익산통합도서관결과(); + + 익산통합도서관입력(text); + } + int tmp = RowCount - 1; if (tmp < 0) tmp = 0; @@ -1032,6 +1044,72 @@ namespace WindowsFormsApp1.Mac } #endregion + #region 익산시 통합도서관 + + bool isIksanClick = false; + void 익산통합도서관입력(string text) + { + + foreach (HtmlElement input in webBrowser1.Document.GetElementsByTagName("input")) + { + if (!isIksanClick) + { + if (input.Id == null) + continue; + if (input.Id.IndexOf("all_lib_simple") > -1) + { + input.InvokeMember("click"); + // input.InvokeMember("submit"); + } + if (input.Id.IndexOf(Code) > -1) + { + input.InvokeMember("click"); + // input.InvokeMember("submit"); + isIksanClick = true; + break; + } + btn_Close.Text = isIksanClick.ToString(); + } + } + + foreach (HtmlElement input in webBrowser1.Document.GetElementsByTagName("input")) + { + if (input.Id !=null && input.Id == "search_txt") + { + input.SetAttribute("value", text); + break; + } + } + + //webBrowser1.Document.GetElementById("search_txt").SetAttribute("value", text); + + webBrowser1.Document.GetElementById("submit_simple").InvokeMember("click"); + } + + + + string 익산통합도서관결과() + { + string result = ""; + + foreach (HtmlElement strong in webBrowser1.Document.GetElementsByTagName("strong")) + { + if (strong.GetAttribute("className").IndexOf("word") > -1) + { + string innerText = strong.InnerText; + if (Regex.IsMatch(innerText, @"^[0-9]+$")) + { + result = strong.InnerText; + break; + } + } + } + + return result; + } + + #endregion + #endregion public string CopyCount(string Text) @@ -1298,5 +1376,11 @@ namespace WindowsFormsApp1.Mac { this.Close(); } + + private void Check_copy_Load(object sender, EventArgs e) + { + string[] Grid = { "빈칸", "----- 빈칸으로 놔주세요 -----", "" }; + dataGridView1.Rows.Add(Grid); + } } } diff --git a/unimarc/unimarc/마크/DLS_Copy.cs b/unimarc/unimarc/마크/DLS_Copy.cs index d754748..57c6aee 100644 --- a/unimarc/unimarc/마크/DLS_Copy.cs +++ b/unimarc/unimarc/마크/DLS_Copy.cs @@ -147,9 +147,7 @@ namespace WindowsFormsApp1.Mac MessageBox.Show("도서명이 입력되지않았습니다!"); return; } - - bool isISBN = rBtn_ISBN.Checked; - if (!SearchCopy(isISBN)) + if (!SearchCopy(rBtn_ISBN.Checked)) return; MessageBox.Show("완료되었습니다."); diff --git a/unimarc/unimarc/마크/Marc.cs b/unimarc/unimarc/마크/Marc.cs index bdd4deb..59914df 100644 --- a/unimarc/unimarc/마크/Marc.cs +++ b/unimarc/unimarc/마크/Marc.cs @@ -3326,6 +3326,7 @@ namespace ExcelTest { Skill_Grid sg = new Skill_Grid(); sg.Excel_to_DataGridView(sender, e); + sg.DataGrid_to_Delete(sender, e); } private void btn_FilterReturn_Click(object sender, EventArgs e) diff --git a/unimarc/unimarc/마크/MarcCopySelect.Designer.cs b/unimarc/unimarc/마크/MarcCopySelect.Designer.cs index 75b2103..242de79 100644 --- a/unimarc/unimarc/마크/MarcCopySelect.Designer.cs +++ b/unimarc/unimarc/마크/MarcCopySelect.Designer.cs @@ -29,16 +29,8 @@ namespace UniMarc.마크 /// private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.compidx = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.isbn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.user = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.date = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.grade = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tag008 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.marc = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.panel1 = new System.Windows.Forms.Panel(); this.btn_ShowDeleteMarc = new System.Windows.Forms.Button(); this.btn_Close = new System.Windows.Forms.Button(); @@ -46,6 +38,17 @@ namespace UniMarc.마크 this.panel2 = new System.Windows.Forms.Panel(); this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.panel3 = new System.Windows.Forms.Panel(); + this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.compidx = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.isbn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Title = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Author = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Comp = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.user = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.date = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.grade = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tag008 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.marc = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); @@ -57,19 +60,22 @@ namespace UniMarc.마크 this.dataGridView1.AllowUserToAddRows = false; this.dataGridView1.AllowUserToDeleteRows = false; this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; - 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.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.idx, this.compidx, this.isbn, + this.Title, + this.Author, + this.Comp, this.user, this.date, this.grade, @@ -80,12 +86,84 @@ namespace UniMarc.마크 this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.ReadOnly = true; this.dataGridView1.RowTemplate.Height = 23; - this.dataGridView1.Size = new System.Drawing.Size(809, 106); + this.dataGridView1.Size = new System.Drawing.Size(1109, 106); this.dataGridView1.TabIndex = 0; this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick); this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick); this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown); // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.btn_ShowDeleteMarc); + this.panel1.Controls.Add(this.btn_Close); + this.panel1.Controls.Add(this.btn_Delete); + 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(1109, 33); + this.panel1.TabIndex = 1; + // + // btn_ShowDeleteMarc + // + this.btn_ShowDeleteMarc.Location = new System.Drawing.Point(844, 4); + this.btn_ShowDeleteMarc.Name = "btn_ShowDeleteMarc"; + this.btn_ShowDeleteMarc.Size = new System.Drawing.Size(93, 23); + this.btn_ShowDeleteMarc.TabIndex = 1; + this.btn_ShowDeleteMarc.Text = "삭제 마크 확인"; + this.btn_ShowDeleteMarc.UseVisualStyleBackColor = true; + this.btn_ShowDeleteMarc.Click += new System.EventHandler(this.btn_ShowDeleteMarc_Click); + // + // btn_Close + // + this.btn_Close.Location = new System.Drawing.Point(1021, 4); + this.btn_Close.Name = "btn_Close"; + this.btn_Close.Size = new System.Drawing.Size(75, 23); + this.btn_Close.TabIndex = 0; + this.btn_Close.Text = "닫 기"; + this.btn_Close.UseVisualStyleBackColor = true; + this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click); + // + // btn_Delete + // + this.btn_Delete.Location = new System.Drawing.Point(943, 4); + this.btn_Delete.Name = "btn_Delete"; + this.btn_Delete.Size = new System.Drawing.Size(75, 23); + this.btn_Delete.TabIndex = 0; + this.btn_Delete.Text = "마크 삭제"; + this.btn_Delete.UseVisualStyleBackColor = true; + this.btn_Delete.Click += new System.EventHandler(this.btn_Delete_Click); + // + // panel2 + // + this.panel2.Controls.Add(this.dataGridView1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Top; + this.panel2.Location = new System.Drawing.Point(0, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(1109, 106); + this.panel2.TabIndex = 2; + // + // richTextBox1 + // + this.richTextBox1.BackColor = System.Drawing.Color.LightGray; + this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.richTextBox1.Font = new System.Drawing.Font("굴림체", 11.25F); + this.richTextBox1.Location = new System.Drawing.Point(0, 0); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.Size = new System.Drawing.Size(1109, 540); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = ""; + // + // panel3 + // + this.panel3.Controls.Add(this.richTextBox1); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(0, 139); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(1109, 540); + this.panel3.TabIndex = 3; + // // idx // this.idx.HeaderText = "idx"; @@ -108,6 +186,24 @@ namespace UniMarc.마크 this.isbn.Name = "isbn"; this.isbn.ReadOnly = true; // + // Title + // + this.Title.HeaderText = "서명"; + this.Title.Name = "Title"; + this.Title.ReadOnly = true; + // + // Author + // + this.Author.HeaderText = "저자"; + this.Author.Name = "Author"; + this.Author.ReadOnly = true; + // + // Comp + // + this.Comp.HeaderText = "출판사"; + this.Comp.Name = "Comp"; + this.Comp.ReadOnly = true; + // // user // this.user.HeaderText = "수정자"; @@ -143,83 +239,11 @@ namespace UniMarc.마크 this.marc.ReadOnly = true; this.marc.Width = 200; // - // panel1 - // - this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panel1.Controls.Add(this.btn_ShowDeleteMarc); - this.panel1.Controls.Add(this.btn_Close); - this.panel1.Controls.Add(this.btn_Delete); - 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(809, 33); - this.panel1.TabIndex = 1; - // - // btn_ShowDeleteMarc - // - this.btn_ShowDeleteMarc.Location = new System.Drawing.Point(462, 4); - this.btn_ShowDeleteMarc.Name = "btn_ShowDeleteMarc"; - this.btn_ShowDeleteMarc.Size = new System.Drawing.Size(93, 23); - this.btn_ShowDeleteMarc.TabIndex = 1; - this.btn_ShowDeleteMarc.Text = "삭제 마크 확인"; - this.btn_ShowDeleteMarc.UseVisualStyleBackColor = true; - this.btn_ShowDeleteMarc.Click += new System.EventHandler(this.btn_ShowDeleteMarc_Click); - // - // btn_Close - // - this.btn_Close.Location = new System.Drawing.Point(639, 4); - this.btn_Close.Name = "btn_Close"; - this.btn_Close.Size = new System.Drawing.Size(75, 23); - this.btn_Close.TabIndex = 0; - this.btn_Close.Text = "닫 기"; - this.btn_Close.UseVisualStyleBackColor = true; - this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click); - // - // btn_Delete - // - this.btn_Delete.Location = new System.Drawing.Point(561, 4); - this.btn_Delete.Name = "btn_Delete"; - this.btn_Delete.Size = new System.Drawing.Size(75, 23); - this.btn_Delete.TabIndex = 0; - this.btn_Delete.Text = "마크 삭제"; - this.btn_Delete.UseVisualStyleBackColor = true; - this.btn_Delete.Click += new System.EventHandler(this.btn_Delete_Click); - // - // panel2 - // - this.panel2.Controls.Add(this.dataGridView1); - this.panel2.Dock = System.Windows.Forms.DockStyle.Top; - this.panel2.Location = new System.Drawing.Point(0, 33); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(809, 106); - this.panel2.TabIndex = 2; - // - // richTextBox1 - // - this.richTextBox1.BackColor = System.Drawing.Color.LightGray; - this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.richTextBox1.Font = new System.Drawing.Font("굴림체", 11.25F); - this.richTextBox1.Location = new System.Drawing.Point(0, 0); - this.richTextBox1.Name = "richTextBox1"; - this.richTextBox1.Size = new System.Drawing.Size(809, 540); - this.richTextBox1.TabIndex = 0; - this.richTextBox1.Text = ""; - // - // panel3 - // - this.panel3.Controls.Add(this.richTextBox1); - this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel3.Location = new System.Drawing.Point(0, 139); - this.panel3.Name = "panel3"; - this.panel3.Size = new System.Drawing.Size(809, 540); - this.panel3.TabIndex = 3; - // // MarcCopySelect // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(809, 679); + this.ClientSize = new System.Drawing.Size(1109, 679); this.Controls.Add(this.panel3); this.Controls.Add(this.panel2); this.Controls.Add(this.panel1); @@ -246,6 +270,9 @@ namespace UniMarc.마크 private System.Windows.Forms.DataGridViewTextBoxColumn idx; private System.Windows.Forms.DataGridViewTextBoxColumn compidx; private System.Windows.Forms.DataGridViewTextBoxColumn isbn; + private System.Windows.Forms.DataGridViewTextBoxColumn Title; + private System.Windows.Forms.DataGridViewTextBoxColumn Author; + private System.Windows.Forms.DataGridViewTextBoxColumn Comp; private System.Windows.Forms.DataGridViewTextBoxColumn user; private System.Windows.Forms.DataGridViewTextBoxColumn date; private System.Windows.Forms.DataGridViewTextBoxColumn grade; diff --git a/unimarc/unimarc/마크/MarcCopySelect.cs b/unimarc/unimarc/마크/MarcCopySelect.cs index d29468b..8d30fe0 100644 --- a/unimarc/unimarc/마크/MarcCopySelect.cs +++ b/unimarc/unimarc/마크/MarcCopySelect.cs @@ -39,13 +39,15 @@ namespace UniMarc.마크 public void Init(string search_col, string search_Target) { db.DBcon(); - // 0 1 2 3 4 5 - string Area = "`idx`, `compidx`, `ISBN`, `user`, `date`, `grade`, `008tag`, " + - // 6 7 8 9 10 11 + // 0 1 2 3 4 + string Area = "`idx`, `compidx`, `ISBN`, `서명`, `저자`, " + + // 5 6 7 8 9 + "`출판사`, `user`, `date`, `grade`, `008tag`, " + + // 10 11 12 13 14 15 "`marc`, `marc_chk`, `marc1`, `marc_chk1`, `marc2`, `marc_chk2`"; string Table = "Marc"; - string Query = string.Format("SELECT {0} FROM {1} WHERE `{2}` = \"{3}\";", Area, Table, search_col, search_Target); + string Query = string.Format("SELECT {0} FROM {1} WHERE `{2}` like \"%{3}%\";", Area, Table, search_col, search_Target); string Result = db.DB_Send_CMD_Search(Query); string[] GridData = Result.Split('|'); @@ -54,25 +56,31 @@ namespace UniMarc.마크 private void InputGrid(string[] Value) { - string[] Grid = { "", "", "", "", "", "", "", "" }; + string[] Grid = { + "", "", "", "", "", + "", "", "", "", "", + "" }; string[] MarcData = { "", "", "", "", "", "" }; for (int a = 0; a < Value.Length; a++) { - if (a % 13 == 0) Grid[0] = Value[a]; // idx - if (a % 13 == 1) Grid[1] = Value[a]; // compidx - if (a % 13 == 2) Grid[2] = Value[a]; // isbn - if (a % 13 == 3) Grid[3] = Value[a]; // user - if (a % 13 == 4) Grid[4] = Value[a]; // date - if (a % 13 == 5) Grid[5] = ChangeGrade(Value[a]); // grade - if (a % 13 == 6) Grid[6] = Value[a]; // 008tag - if (a % 13 == 7) MarcData[0] = Value[a]; // marc - if (a % 13 == 8) MarcData[1] = Value[a]; // marc_chk - if (a % 13 == 9) MarcData[2] = Value[a]; // marc1 - if (a % 13 == 10) MarcData[3] = Value[a]; // marc_chk1 - if (a % 13 == 11) MarcData[4] = Value[a]; // marc2 - if (a % 13 == 12) { MarcData[5] = Value[a]; // marc_chk2 - Grid[7] = RealMarc(MarcData); + if (a % 16 == 0) Grid[0] = Value[a]; // idx + if (a % 16 == 1) Grid[1] = Value[a]; // compidx + if (a % 16 == 2) Grid[2] = Value[a]; // isbn + if (a % 16 == 3) Grid[3] = Value[a]; // 서명 + if (a % 16 == 4) Grid[4] = Value[a]; // 저자 + if (a % 16 == 5) Grid[5] = Value[a]; // 출판사 + if (a % 16 == 6) Grid[6] = Value[a]; // user + if (a % 16 == 7) Grid[7] = Value[a]; // date + if (a % 16 == 8) Grid[8] = ChangeGrade(Value[a]); // grade + if (a % 16 == 9) Grid[9] = Value[a]; // 008tag + if (a % 16 == 10) MarcData[0] = Value[a]; // marc + if (a % 16 == 11) MarcData[1] = Value[a]; // marc_chk + if (a % 16 == 12) MarcData[2] = Value[a]; // marc1 + if (a % 16 == 13) MarcData[3] = Value[a]; // marc_chk1 + if (a % 16 == 14) MarcData[4] = Value[a]; // marc2 + if (a % 16 == 15) { MarcData[5] = Value[a]; // marc_chk2 + Grid[10] = RealMarc(MarcData); dataGridView1.Rows.Add(Grid); } } diff --git a/unimarc/unimarc/마크/MarcCopySelect.resx b/unimarc/unimarc/마크/MarcCopySelect.resx index 412f95d..a04e178 100644 --- a/unimarc/unimarc/마크/MarcCopySelect.resx +++ b/unimarc/unimarc/마크/MarcCopySelect.resx @@ -126,6 +126,15 @@ True + + True + + + True + + + True + True diff --git a/unimarc/unimarc/마크/Marc_FillBlank.Designer.cs b/unimarc/unimarc/마크/Marc_FillBlank.Designer.cs index 45ee0d9..b6c2895 100644 --- a/unimarc/unimarc/마크/Marc_FillBlank.Designer.cs +++ b/unimarc/unimarc/마크/Marc_FillBlank.Designer.cs @@ -42,10 +42,9 @@ namespace UniMarc this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.panel4 = new System.Windows.Forms.Panel(); this.panel7 = new System.Windows.Forms.Panel(); + this.webBrowser1 = new System.Windows.Forms.WebBrowser(); this.panel5 = new System.Windows.Forms.Panel(); this.dataGridView1 = new System.Windows.Forms.DataGridView(); - this.panel2 = new System.Windows.Forms.Panel(); - this.webBrowser1 = new System.Windows.Forms.WebBrowser(); this.List_idx = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ISBN13 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookName = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -53,6 +52,7 @@ namespace UniMarc this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookMarc = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.panel2 = new System.Windows.Forms.Panel(); this.panel6.SuspendLayout(); this.panel3.SuspendLayout(); this.panel4.SuspendLayout(); @@ -192,6 +192,17 @@ namespace UniMarc this.panel7.Size = new System.Drawing.Size(425, 702); this.panel7.TabIndex = 1; // + // webBrowser1 + // + this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; + this.webBrowser1.Location = new System.Drawing.Point(0, 0); + this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser1.Name = "webBrowser1"; + this.webBrowser1.ScriptErrorsSuppressed = true; + this.webBrowser1.Size = new System.Drawing.Size(425, 702); + this.webBrowser1.TabIndex = 0; + this.webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webBrowser1_DocumentCompleted); + // // panel5 // this.panel5.Controls.Add(this.dataGridView1); @@ -223,28 +234,6 @@ namespace UniMarc this.dataGridView1.TabIndex = 0; this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick); // - // panel2 - // - this.panel2.Controls.Add(this.panel4); - this.panel2.Controls.Add(this.panel3); - this.panel2.Controls.Add(this.panel6); - this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel2.Location = new System.Drawing.Point(0, 0); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(1316, 733); - this.panel2.TabIndex = 311; - // - // webBrowser1 - // - this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; - this.webBrowser1.Location = new System.Drawing.Point(0, 0); - this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); - this.webBrowser1.Name = "webBrowser1"; - this.webBrowser1.ScriptErrorsSuppressed = true; - this.webBrowser1.Size = new System.Drawing.Size(425, 702); - this.webBrowser1.TabIndex = 0; - this.webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webBrowser1_DocumentCompleted); - // // List_idx // this.List_idx.HeaderText = "List_idx"; @@ -293,6 +282,17 @@ namespace UniMarc this.BookMarc.ReadOnly = true; this.BookMarc.Visible = false; // + // panel2 + // + this.panel2.Controls.Add(this.panel4); + this.panel2.Controls.Add(this.panel3); + this.panel2.Controls.Add(this.panel6); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(1316, 733); + this.panel2.TabIndex = 311; + // // Marc_FillBlank // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); diff --git a/unimarc/unimarc/마크/Marc_Macro_Sub.cs b/unimarc/unimarc/마크/Marc_Macro_Sub.cs index e8d65d8..85203c0 100644 --- a/unimarc/unimarc/마크/Marc_Macro_Sub.cs +++ b/unimarc/unimarc/마크/Marc_Macro_Sub.cs @@ -80,7 +80,7 @@ namespace UniMarc.마크 ///////// // { "49", "245", "245b -> 740a로 복사" }, - // { "50", "440", "440a -> 490a, 830a로 각각 복사" }, + // { "50", "440", "440a -> 830a로 복사" }, // { "51", "440", "440x -> 490a로 복사" }, // { "52", "440", "440n p x -> 490v [p-n-v 순서]로 변환" }, // { "53", "440", "440n p x -> 830 n p v로 변환" }, @@ -286,6 +286,10 @@ namespace UniMarc.마크 /// 245태그 매크로 적용된 내용 private string Index_245(string idx, string[] SplitContent) { + // 245b -> 740a로 복사 + if (idx == "49") + return TagToOtherTag("245", "b", "740", "a", TargetMarc); + for (int a = 0; a < SplitContent.Length; a++) { if (a <= 1) continue; @@ -461,6 +465,14 @@ 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++) { if (a <= 1) continue; @@ -699,5 +711,94 @@ namespace UniMarc.마크 } return string.Join("▼", SplitContent); } + + + /// + /// 타겟 태그를 가져와서 적용할 태그에 새로 만들고 필요에 따라 기존 식별기호 데이터를 삭제함 + /// + /// 가져올 태그넘버 + /// 가져올 태그의 식별기호 + /// 적용할 태그넘버 + /// 적용할 태그의 식별기호 + /// 대상 마크(뷰형태) + /// 적용할 지시기호 + /// 가져올 태그의 식별기호 데이터 삭제여부" + string TagToOtherTag(string TargetTagNum, string TargetTagAccount, string ApplyTagNum, string ApplyTagAccount, string ViewMarc, string jisi = " ", bool isDelete = false) + { + List SplitMarc = new List(ViewMarc.Split('\n')); + + string Target = ""; + + // 가져올 태그 정보 추출 + foreach (string TagMarc in SplitMarc) + { + if (TagMarc.Length < 2) + continue; + + if (TagMarc.StartsWith(TargetTagNum)) + { + Target = st.GetMiddelString(TagMarc, "▼" + TargetTagAccount, "▼").Replace("▲", ""); + break; + } + + // 추출된 값이 없을 경우, 처음 들어온 그대로 반환 + if (Target == "") + return ViewMarc; + + // 추출한 태그의 정보를 적용할 태그에 복사 + SplitMarc = MoveTag(ApplyTagNum, jisi, ApplyTagAccount, Target, SplitMarc); + + if (isDelete) + { + for (int a = 0; a < SplitMarc.Count; a++) + { + if (SplitMarc[a].Length < 2) + continue; + + if (SplitMarc[a].StartsWith(TargetTagNum) && SplitMarc[a].Contains(Target)) + { + string RemoveTarget = string.Format("▼{0}{1}", TargetTagAccount, Target); + SplitMarc[a] = SplitMarc[a].Replace(RemoveTarget, ""); + break; + } + } + } + } + + return string.Join("\n", SplitMarc); + } + + /// + /// 가져온 태그의 정보를 적용할 태그에 복사함. + /// + /// 적용할 태그 번호 + /// 적용할 지시기호 + /// 적용할 식별기호 + /// 적용할 내용 + /// 적용할 List형 마크 + /// 적용된 List형 마크 + List MoveTag(string TagNum, string Jisi, string TagAccount, string TagContent, List Marc) + { + int AddIndex = -1; + + for (int a = 0; a < Marc.Count; a++) + { + if (Marc[a].Length < 2) + continue; + + int targetNum = Convert.ToInt32(Marc[a].Substring(0, 3)); + int tagNum = Convert.ToInt32(TagNum); + + if (targetNum > tagNum) + { + AddIndex = a; + break; + } + } + string Item = string.Format("{0}\t{1}\t▼{2}{3}▲", TagNum, Jisi, TagAccount, TagContent); + Marc.Insert(AddIndex, Item); + + return Marc; + } } } diff --git a/unimarc/unimarc/마크/Marc_Plan.Designer.cs b/unimarc/unimarc/마크/Marc_Plan.Designer.cs index 63f10db..d1fc187 100644 --- a/unimarc/unimarc/마크/Marc_Plan.Designer.cs +++ b/unimarc/unimarc/마크/Marc_Plan.Designer.cs @@ -123,6 +123,10 @@ this.panel7 = new System.Windows.Forms.Panel(); this.printDocument1 = new System.Drawing.Printing.PrintDocument(); this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog(); + this.chkBox_AllowDrop = new System.Windows.Forms.CheckBox(); + this.chk_Alignment = new System.Windows.Forms.CheckBox(); + this.label24 = new System.Windows.Forms.Label(); + this.tb_NumSize = new System.Windows.Forms.TextBox(); this.panel1.SuspendLayout(); this.panel4.SuspendLayout(); this.panel3.SuspendLayout(); @@ -604,6 +608,7 @@ // // panel5 // + this.panel5.Controls.Add(this.chkBox_AllowDrop); this.panel5.Controls.Add(this.panel3); this.panel5.Controls.Add(this.panel2); this.panel5.Dock = System.Windows.Forms.DockStyle.Top; @@ -615,6 +620,7 @@ // panel6 // this.panel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); + this.panel6.Controls.Add(this.chk_Alignment); this.panel6.Controls.Add(this.tb_Left); this.panel6.Controls.Add(this.btn_Bring); this.panel6.Controls.Add(this.btn_PrintView); @@ -623,6 +629,8 @@ this.panel6.Controls.Add(this.chk_Num); this.panel6.Controls.Add(this.label23); this.panel6.Controls.Add(this.label22); + this.panel6.Controls.Add(this.tb_NumSize); + this.panel6.Controls.Add(this.label24); this.panel6.Controls.Add(this.tb_TextSize); this.panel6.Controls.Add(this.label20); this.panel6.Controls.Add(this.label21); @@ -668,7 +676,7 @@ // // btn_Bring // - this.btn_Bring.Location = new System.Drawing.Point(1023, 5); + this.btn_Bring.Location = new System.Drawing.Point(1186, 5); this.btn_Bring.Name = "btn_Bring"; this.btn_Bring.Size = new System.Drawing.Size(75, 49); this.btn_Bring.TabIndex = 80; @@ -678,7 +686,7 @@ // // btn_PrintView // - this.btn_PrintView.Location = new System.Drawing.Point(942, 5); + this.btn_PrintView.Location = new System.Drawing.Point(1105, 5); this.btn_PrintView.Name = "btn_PrintView"; this.btn_PrintView.Size = new System.Drawing.Size(75, 49); this.btn_PrintView.TabIndex = 80; @@ -689,7 +697,7 @@ // chk_GuideLine // this.chk_GuideLine.AutoSize = true; - this.chk_GuideLine.Location = new System.Drawing.Point(824, 35); + this.chk_GuideLine.Location = new System.Drawing.Point(987, 37); this.chk_GuideLine.Name = "chk_GuideLine"; this.chk_GuideLine.RightToLeft = System.Windows.Forms.RightToLeft.No; this.chk_GuideLine.Size = new System.Drawing.Size(112, 16); @@ -703,19 +711,20 @@ this.cb_TextFont.FormattingEnabled = true; this.cb_TextFont.Location = new System.Drawing.Point(726, 6); this.cb_TextFont.Name = "cb_TextFont"; - this.cb_TextFont.Size = new System.Drawing.Size(72, 20); + this.cb_TextFont.Size = new System.Drawing.Size(168, 20); this.cb_TextFont.TabIndex = 78; // // chk_Num // this.chk_Num.AutoSize = true; - this.chk_Num.Location = new System.Drawing.Point(824, 8); + this.chk_Num.Location = new System.Drawing.Point(987, 22); this.chk_Num.Name = "chk_Num"; this.chk_Num.RightToLeft = System.Windows.Forms.RightToLeft.No; this.chk_Num.Size = new System.Drawing.Size(112, 16); this.chk_Num.TabIndex = 83; this.chk_Num.Text = "등록번호 안으로"; this.chk_Num.UseVisualStyleBackColor = true; + this.chk_Num.CheckedChanged += new System.EventHandler(this.chk_Num_CheckedChanged); // // label23 // @@ -738,7 +747,7 @@ // // tb_TextSize // - this.tb_TextSize.Location = new System.Drawing.Point(765, 33); + this.tb_TextSize.Location = new System.Drawing.Point(739, 33); this.tb_TextSize.Name = "tb_TextSize"; this.tb_TextSize.Size = new System.Drawing.Size(30, 21); this.tb_TextSize.TabIndex = 79; @@ -749,7 +758,7 @@ // this.label20.AutoSize = true; this.label20.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); - this.label20.Location = new System.Drawing.Point(706, 37); + this.label20.Location = new System.Drawing.Point(680, 37); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(57, 12); this.label20.TabIndex = 60; @@ -1028,6 +1037,47 @@ this.printPreviewDialog1.Name = "printPreviewDialog1"; this.printPreviewDialog1.Visible = false; // + // chkBox_AllowDrop + // + this.chkBox_AllowDrop.AutoSize = true; + this.chkBox_AllowDrop.Location = new System.Drawing.Point(1023, 10); + this.chkBox_AllowDrop.Name = "chkBox_AllowDrop"; + this.chkBox_AllowDrop.Size = new System.Drawing.Size(147, 16); + this.chkBox_AllowDrop.TabIndex = 10; + this.chkBox_AllowDrop.Text = "표 드래그 앤 드롭 OFF"; + this.chkBox_AllowDrop.UseVisualStyleBackColor = true; + this.chkBox_AllowDrop.CheckedChanged += new System.EventHandler(this.chkBox_AllowDrop_CheckedChanged); + // + // chk_Alignment + // + this.chk_Alignment.AutoSize = true; + this.chk_Alignment.Location = new System.Drawing.Point(987, 7); + this.chk_Alignment.Name = "chk_Alignment"; + this.chk_Alignment.Size = new System.Drawing.Size(88, 16); + this.chk_Alignment.TabIndex = 85; + this.chk_Alignment.Text = "가운데 정렬"; + this.chk_Alignment.UseVisualStyleBackColor = true; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label24.Location = new System.Drawing.Point(781, 37); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(83, 12); + this.label24.TabIndex = 60; + this.label24.Text = "등록번호크기"; + // + // tb_NumSize + // + this.tb_NumSize.Enabled = false; + this.tb_NumSize.Location = new System.Drawing.Point(864, 33); + this.tb_NumSize.Name = "tb_NumSize"; + this.tb_NumSize.Size = new System.Drawing.Size(30, 21); + this.tb_NumSize.TabIndex = 79; + this.tb_NumSize.Text = "10"; + this.tb_NumSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // // Marc_Plan // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -1048,6 +1098,7 @@ this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); this.panel5.ResumeLayout(false); + this.panel5.PerformLayout(); this.panel6.ResumeLayout(false); this.panel6.PerformLayout(); this.panel7.ResumeLayout(false); @@ -1145,5 +1196,9 @@ private System.Windows.Forms.TextBox tb_Sero; private System.Windows.Forms.TextBox tb_GaroGap; private System.Windows.Forms.TextBox tb_Garo; + private System.Windows.Forms.CheckBox chkBox_AllowDrop; + private System.Windows.Forms.CheckBox chk_Alignment; + private System.Windows.Forms.TextBox tb_NumSize; + private System.Windows.Forms.Label label24; } } \ No newline at end of file diff --git a/unimarc/unimarc/마크/Marc_Plan.cs b/unimarc/unimarc/마크/Marc_Plan.cs index 24ab235..05d835a 100644 --- a/unimarc/unimarc/마크/Marc_Plan.cs +++ b/unimarc/unimarc/마크/Marc_Plan.cs @@ -73,6 +73,8 @@ namespace WindowsFormsApp1.Mac string Table = "Specs_Marc"; + String_Text st = new String_Text(); + string[] GetTag = { "049v", "049c", "049f" }; // idx // 연번 등록번호 분류기호 저자기호 V(049v,볼륨) // C(049c,복본) F(049f,별치) 구분(이용자) ISBN 도서명 @@ -120,10 +122,10 @@ 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 + dataGridView1.Rows.Add(grid); } } - } public void mk_Panel(string idx, string ListName, string date) { @@ -494,7 +496,29 @@ namespace WindowsFormsApp1.Mac sm.Show(); } - #region Grid 드래그 앤 드랍 함수 (현재 사용 중지) (사용하려면 dataGridView1의 AllowDrop 활성화해야함) + #region Grid 드래그 앤 드랍 함수 (사용하려면 dataGridView1의 AllowDrop 활성화해야함) + + private void chkBox_AllowDrop_CheckedChanged(object sender, EventArgs e) + { + if (chkBox_AllowDrop.Checked) + { + chkBox_AllowDrop.Text = "표 드래그 앤 드롭 ON"; + dataGridView1.AllowDrop = true; + dataGridView1.MouseDown += dataGridView1_MouseDown; + dataGridView1.MouseMove += dataGridView1_MouseMove; + dataGridView1.DragDrop += dataGridView1_DragDrop; + dataGridView1.DragOver += dataGridView1_DragOver; + } + else + { + chkBox_AllowDrop.Text = "표 드래그 앤 드롭 OFF"; + dataGridView1.AllowDrop = false; + dataGridView1.MouseDown -= dataGridView1_MouseDown; + dataGridView1.MouseMove -= dataGridView1_MouseMove; + dataGridView1.DragDrop -= dataGridView1_DragDrop; + dataGridView1.DragOver -= dataGridView1_DragOver; + } + } Skill_Grid sg = new Skill_Grid(); @@ -555,6 +579,7 @@ namespace WindowsFormsApp1.Mac if (F != "") F = string.Format("▼f{0}", F); + AddTag = string.Format("049\t \t{0}{1}{2}{3}▲", L, V, C, F); } if (col == 3 || col == 4 || col == 5) @@ -707,6 +732,7 @@ namespace WindowsFormsApp1.Mac int Sero = Convert.ToInt32(tb_Sero.Text); int Total = Garo * Sero; int FontSize = Convert.ToInt32(tb_TextSize.Text); + int NumSize = Convert.ToInt32(tb_NumSize.Text); float GaroGap = mmToInch(Convert.ToDouble(tb_GaroGap.Text)); float SeroGap = mmToInch(Convert.ToDouble(tb_SeroGap.Text)); @@ -715,10 +741,13 @@ namespace WindowsFormsApp1.Mac Pen ps = new Pen(Color.Red, 2); Font F = new Font(cb_TextFont.Text, FontSize); - Font NumFont = new Font(cb_TextFont.Text, 5); + Font NumFont = new Font(cb_TextFont.Text, NumSize); StringFormat format = new StringFormat(); - //format.Alignment = StringAlignment.Center; + if (chk_Alignment.Checked) + { + format.Alignment = StringAlignment.Center; + } int startCount = Convert.ToInt32(tb_StartPosition.Text); if (isMorePage) @@ -738,6 +767,9 @@ namespace WindowsFormsApp1.Mac if (GridCount >= startCount - 1) { + if (chk_Alignment.Checked) + UxPos += mmToInch(8); + e.Graphics.DrawString(GridData[Cnt], F, Brushes.Black, UxPos + mmToInch(6), yPos + mmToInch(2), format); if (!chk_Num.Checked) @@ -747,8 +779,18 @@ namespace WindowsFormsApp1.Mac Brushes.Black, UxPos + mmToInch(6), yPos + Width + mmToInch(4), format); + else + e.Graphics.DrawString( + dataGridView1.Rows[Cnt].Cells["reg_num"].Value.ToString(), + NumFont, + Brushes.Black, + UxPos + mmToInch(6), + yPos + mmToInch(FontSize * 0.35146 * 6) + mmToInch(2.5), format); Cnt++; + + if (chk_Alignment.Checked) + UxPos -= mmToInch(8); } UxPos += Width + GaroGap; GridCount++; @@ -792,6 +834,11 @@ namespace WindowsFormsApp1.Mac return result; } + float mmToInch(int mm) + { + return mmToInch(Convert.ToDouble(mm)); + } + /// /// 밀리미터를 인치 값으로 변환하여 반환 /// @@ -836,5 +883,9 @@ namespace WindowsFormsApp1.Mac } #endregion + private void chk_Num_CheckedChanged(object sender, EventArgs e) + { + tb_NumSize.Enabled = chk_Num.Checked; + } } } diff --git a/unimarc/unimarc/마크/Marc_mkList.cs b/unimarc/unimarc/마크/Marc_mkList.cs index c0f4dc1..82efcf7 100644 --- a/unimarc/unimarc/마크/Marc_mkList.cs +++ b/unimarc/unimarc/마크/Marc_mkList.cs @@ -167,13 +167,16 @@ namespace UniMarc.마크 string[] Author = { "", Marc[1] }; // 저자, 도서명 // 100, 110, 111태그중 한개라도 있으면 저자로 인식. - string[] Author_Search = { "100a", "110a", "111a" }; + string[] Author_Search = { "100a", "110a", "111a", "245d" }; string[] Author_res = st.Take_Tag(insert_marc_data[14], Author_Search); if (Author_res[0].Length > 1) Author[0] = Author_res[0]; if (Author_res[1].Length > 1) Author[0] = Author_res[1]; if (Author_res[2].Length > 1) Author[0] = Author_res[2]; + // 245d에 [외]가 있는 경우 저자가 아닌 출판사로 저자기호 생성 + if (Author_res[3].IndexOf("[외]") > -1) Author[0] = Marc[5]; + for (int b = 0; b < Marc.Length; b++) { diff --git a/unimarc/unimarc/마크/Set_Macro.Designer.cs b/unimarc/unimarc/마크/Set_Macro.Designer.cs index 96eb776..6fbd9d2 100644 --- a/unimarc/unimarc/마크/Set_Macro.Designer.cs +++ b/unimarc/unimarc/마크/Set_Macro.Designer.cs @@ -29,7 +29,9 @@ private void InitializeComponent() { System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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.cb_SearchList = new System.Windows.Forms.ComboBox(); this.btn_ListRemove = new System.Windows.Forms.Button(); @@ -43,7 +45,6 @@ this.TagNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Macro = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Check = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.cb_EncodingType = new System.Windows.Forms.ComboBox(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.MacroGrid)).BeginInit(); this.panel3.SuspendLayout(); @@ -66,6 +67,19 @@ this.panel1.Size = new System.Drawing.Size(900, 35); this.panel1.TabIndex = 1; // + // cb_EncodingType + // + this.cb_EncodingType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cb_EncodingType.FormattingEnabled = true; + this.cb_EncodingType.Items.AddRange(new object[] { + "ANSI", + "UTF-8", + "UniCode"}); + this.cb_EncodingType.Location = new System.Drawing.Point(581, 7); + this.cb_EncodingType.Name = "cb_EncodingType"; + this.cb_EncodingType.Size = new System.Drawing.Size(81, 20); + this.cb_EncodingType.TabIndex = 10; + // // btn_MakeFile // this.btn_MakeFile.Location = new System.Drawing.Point(668, 6); @@ -181,6 +195,8 @@ // // TagNum // + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.TagNum.DefaultCellStyle = dataGridViewCellStyle2; this.TagNum.HeaderText = "태그번호"; this.TagNum.Name = "TagNum"; this.TagNum.ReadOnly = true; @@ -201,19 +217,6 @@ this.Check.TrueValue = "T"; this.Check.Width = 40; // - // cb_EncodingType - // - this.cb_EncodingType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cb_EncodingType.FormattingEnabled = true; - this.cb_EncodingType.Items.AddRange(new object[] { - "ANSI", - "UTF-8", - "UniCode"}); - this.cb_EncodingType.Location = new System.Drawing.Point(581, 7); - this.cb_EncodingType.Name = "cb_EncodingType"; - this.cb_EncodingType.Size = new System.Drawing.Size(81, 20); - this.cb_EncodingType.TabIndex = 10; - // // Set_Macro // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -245,10 +248,10 @@ 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.ComboBox cb_EncodingType; private System.Windows.Forms.DataGridViewTextBoxColumn idx; private System.Windows.Forms.DataGridViewTextBoxColumn TagNum; private System.Windows.Forms.DataGridViewTextBoxColumn Macro; private System.Windows.Forms.DataGridViewCheckBoxColumn Check; - private System.Windows.Forms.ComboBox cb_EncodingType; } } \ No newline at end of file diff --git a/unimarc/unimarc/마크/Set_Macro.cs b/unimarc/unimarc/마크/Set_Macro.cs index de4029d..e4e940c 100644 --- a/unimarc/unimarc/마크/Set_Macro.cs +++ b/unimarc/unimarc/마크/Set_Macro.cs @@ -81,7 +81,7 @@ namespace WindowsFormsApp1.Mac { if (MacroGrid.Rows[a].Cells["idx"].Value.ToString() == l) { - MacroGrid.Rows[a].Cells["Check"].Value = true; + MacroGrid.Rows[a].Cells["Check"].Value = "T"; } } } @@ -95,7 +95,7 @@ namespace WindowsFormsApp1.Mac for (int a = 0; a < MacroGrid.Rows.Count; a++) { - if (MacroGrid.Rows[a].Cells["Check"].Value.ToString() == "T") + if (MacroGrid.Rows[a].Cells["Check"].Value.ToString().Contains("T")) { idxArray.Add(MacroGrid.Rows[a].Cells["idx"].Value.ToString()); } @@ -220,10 +220,10 @@ namespace WindowsFormsApp1.Mac return; if (e.ColumnIndex == 3) - if (MacroGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "T") - MacroGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = false; + if (MacroGrid.Rows[e.RowIndex].Cells["Check"].Value.ToString().Contains("T")) + MacroGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "F"; else - MacroGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = true; + MacroGrid.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "T"; } } }