feat: DLS 복본조사 개선 및 개발자용 DB 편집 기능 추가
- 전남교육청 도서관 검색 기능 추가 (JunnamEduSearcher) - 개발자용 데이터베이스 편집 도구 추가 (디버그 모드에서만 표시) - UI 개선: 브라우저 표시 옵션, 검색 결과 표시 개선 - Helper_DB에 CreateConnection 메서드 추가 - URL 처리 개선 (따옴표 자동 추가) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
		| @@ -68,6 +68,34 @@ namespace WindowsFormsApp1 | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public MySql.Data.MySqlClient.MySqlConnection CreateConnection() | ||||
|         { | ||||
|             PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(ServerData[0], port, ServerData[1], ServerData[2]); | ||||
|             connectionInfo.Timeout = TimeSpan.FromSeconds(30); | ||||
|             using (var client = new SshClient(connectionInfo)) | ||||
|             { | ||||
|                 if (conn != null) | ||||
|                 { | ||||
|                     conn.Close(); | ||||
|                     conn.Dispose(); | ||||
|                 } | ||||
|                 client.Connect(); | ||||
|                 if (client.IsConnected) | ||||
|                 { | ||||
|                     string strConnection = string.Format( | ||||
|                         "Server={0};" + | ||||
|                         "Port={1};" + | ||||
|                         "Database=unimarc;" + | ||||
|                         "uid={2};" + | ||||
|                         "pwd={3};", ServerData[0], DBData[0], DBData[1], DBData[2]); | ||||
|                     return new MySqlConnection(strConnection); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             return null; | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 국중DB를 사용하고 싶을 때 미리 저장된 DB의 기본 접속정보를 이용하여 DB에 접근한다. | ||||
|         /// </summary> | ||||
|   | ||||
							
								
								
									
										110
									
								
								unimarc/unimarc/Main.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										110
									
								
								unimarc/unimarc/Main.Designer.cs
									
									
									
										generated
									
									
									
								
							| @@ -71,6 +71,7 @@ | ||||
|             this.소장자료검색 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.마크정리 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.복본조사1 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.복본조사2 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.iSBN조회 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.dVDCDLPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.목록 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
| @@ -133,7 +134,7 @@ | ||||
|             this.IPText = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.lblStatus = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); | ||||
|             this.복본조사2 = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.btDevDb = new System.Windows.Forms.ToolStripMenuItem(); | ||||
|             this.menuStrip1.SuspendLayout(); | ||||
|             this.panel1.SuspendLayout(); | ||||
|             this.toolStrip1.SuspendLayout(); | ||||
| @@ -172,28 +173,28 @@ | ||||
|             // 사업체정보 | ||||
|             //  | ||||
|             this.사업체정보.Name = "사업체정보"; | ||||
|             this.사업체정보.Size = new System.Drawing.Size(180, 22); | ||||
|             this.사업체정보.Size = new System.Drawing.Size(175, 22); | ||||
|             this.사업체정보.Text = "사업체 정보"; | ||||
|             this.사업체정보.Click += new System.EventHandler(this.사용자정보ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 사용자관리 | ||||
|             //  | ||||
|             this.사용자관리.Name = "사용자관리"; | ||||
|             this.사용자관리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.사용자관리.Size = new System.Drawing.Size(175, 22); | ||||
|             this.사용자관리.Text = "사용자 관리"; | ||||
|             this.사용자관리.Click += new System.EventHandler(this.사용자관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 납품거래처관리 | ||||
|             //  | ||||
|             this.납품거래처관리.Name = "납품거래처관리"; | ||||
|             this.납품거래처관리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.납품거래처관리.Size = new System.Drawing.Size(175, 22); | ||||
|             this.납품거래처관리.Text = "납품 / 거래처 관리"; | ||||
|             this.납품거래처관리.Click += new System.EventHandler(this.납품거래처관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 주문처관리 | ||||
|             //  | ||||
|             this.주문처관리.Name = "주문처관리"; | ||||
|             this.주문처관리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.주문처관리.Size = new System.Drawing.Size(175, 22); | ||||
|             this.주문처관리.Text = "주문처 관리"; | ||||
|             this.주문처관리.Click += new System.EventHandler(this.주문처관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -201,14 +202,14 @@ | ||||
|             //  | ||||
|             this.비밀번호변경.Enabled = false; | ||||
|             this.비밀번호변경.Name = "비밀번호변경"; | ||||
|             this.비밀번호변경.Size = new System.Drawing.Size(180, 22); | ||||
|             this.비밀번호변경.Size = new System.Drawing.Size(175, 22); | ||||
|             this.비밀번호변경.Text = "비밀번호 변경"; | ||||
|             this.비밀번호변경.Click += new System.EventHandler(this.비밀번호변경ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 도서정보관리 | ||||
|             //  | ||||
|             this.도서정보관리.Name = "도서정보관리"; | ||||
|             this.도서정보관리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.도서정보관리.Size = new System.Drawing.Size(175, 22); | ||||
|             this.도서정보관리.Text = "도서정보 관리"; | ||||
|             this.도서정보관리.Click += new System.EventHandler(this.도서정보관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -216,7 +217,7 @@ | ||||
|             //  | ||||
|             this.사용대장.Enabled = false; | ||||
|             this.사용대장.Name = "사용대장"; | ||||
|             this.사용대장.Size = new System.Drawing.Size(180, 22); | ||||
|             this.사용대장.Size = new System.Drawing.Size(175, 22); | ||||
|             this.사용대장.Text = "사용대장"; | ||||
|             this.사용대장.Click += new System.EventHandler(this.사용대장ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -237,49 +238,49 @@ | ||||
|             // 목록등록 | ||||
|             //  | ||||
|             this.목록등록.Name = "목록등록"; | ||||
|             this.목록등록.Size = new System.Drawing.Size(180, 22); | ||||
|             this.목록등록.Size = new System.Drawing.Size(166, 22); | ||||
|             this.목록등록.Text = "물품등록"; | ||||
|             this.목록등록.Click += new System.EventHandler(this.물품등록ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 목록조회 | ||||
|             //  | ||||
|             this.목록조회.Name = "목록조회"; | ||||
|             this.목록조회.Size = new System.Drawing.Size(180, 22); | ||||
|             this.목록조회.Size = new System.Drawing.Size(166, 22); | ||||
|             this.목록조회.Text = "목록조회"; | ||||
|             this.목록조회.Click += new System.EventHandler(this.목록등록편의ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 목록집계 | ||||
|             //  | ||||
|             this.목록집계.Name = "목록집계"; | ||||
|             this.목록집계.Size = new System.Drawing.Size(180, 22); | ||||
|             this.목록집계.Size = new System.Drawing.Size(166, 22); | ||||
|             this.목록집계.Text = "목록집계"; | ||||
|             this.목록집계.Click += new System.EventHandler(this.목록집계ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 주문입력 | ||||
|             //  | ||||
|             this.주문입력.Name = "주문입력"; | ||||
|             this.주문입력.Size = new System.Drawing.Size(180, 22); | ||||
|             this.주문입력.Size = new System.Drawing.Size(166, 22); | ||||
|             this.주문입력.Text = "주문입력"; | ||||
|             this.주문입력.Click += new System.EventHandler(this.주문입력ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 입고작업 | ||||
|             //  | ||||
|             this.입고작업.Name = "입고작업"; | ||||
|             this.입고작업.Size = new System.Drawing.Size(180, 22); | ||||
|             this.입고작업.Size = new System.Drawing.Size(166, 22); | ||||
|             this.입고작업.Text = "입고작업"; | ||||
|             this.입고작업.Click += new System.EventHandler(this.매입ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 재고입력및조회 | ||||
|             //  | ||||
|             this.재고입력및조회.Name = "재고입력및조회"; | ||||
|             this.재고입력및조회.Size = new System.Drawing.Size(180, 22); | ||||
|             this.재고입력및조회.Size = new System.Drawing.Size(166, 22); | ||||
|             this.재고입력및조회.Text = "재고입력 및 조회"; | ||||
|             this.재고입력및조회.Click += new System.EventHandler(this.재고입력및조회ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 반품처리 | ||||
|             //  | ||||
|             this.반품처리.Name = "반품처리"; | ||||
|             this.반품처리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.반품처리.Size = new System.Drawing.Size(166, 22); | ||||
|             this.반품처리.Text = "반품처리"; | ||||
|             this.반품처리.Click += new System.EventHandler(this.반품처리ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -298,14 +299,14 @@ | ||||
|             // 송금내역조회 | ||||
|             //  | ||||
|             this.송금내역조회.Name = "송금내역조회"; | ||||
|             this.송금내역조회.Size = new System.Drawing.Size(180, 22); | ||||
|             this.송금내역조회.Size = new System.Drawing.Size(154, 22); | ||||
|             this.송금내역조회.Text = "송금 내역 조회"; | ||||
|             this.송금내역조회.Click += new System.EventHandler(this.송금내역조회ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 송금등록 | ||||
|             //  | ||||
|             this.송금등록.Name = "송금등록"; | ||||
|             this.송금등록.Size = new System.Drawing.Size(180, 22); | ||||
|             this.송금등록.Size = new System.Drawing.Size(154, 22); | ||||
|             this.송금등록.Text = "송금 등록"; | ||||
|             this.송금등록.Click += new System.EventHandler(this.송금등록ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -316,7 +317,7 @@ | ||||
|             this.매입장부, | ||||
|             this.매입미결제ToolStripMenuItem}); | ||||
|             this.매입.Name = "매입"; | ||||
|             this.매입.Size = new System.Drawing.Size(180, 22); | ||||
|             this.매입.Size = new System.Drawing.Size(154, 22); | ||||
|             this.매입.Text = "매입"; | ||||
|             //  | ||||
|             // 매입집계 | ||||
| @@ -349,7 +350,7 @@ | ||||
|             this.매출조회, | ||||
|             this.매출집계}); | ||||
|             this.매출.Name = "매출"; | ||||
|             this.매출.Size = new System.Drawing.Size(180, 22); | ||||
|             this.매출.Size = new System.Drawing.Size(154, 22); | ||||
|             this.매출.Text = "매출"; | ||||
|             //  | ||||
|             // 매출입력 | ||||
| @@ -383,7 +384,7 @@ | ||||
|             // 파트타임관리 | ||||
|             //  | ||||
|             this.파트타임관리.Name = "파트타임관리"; | ||||
|             this.파트타임관리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.파트타임관리.Size = new System.Drawing.Size(154, 22); | ||||
|             this.파트타임관리.Text = "파트타임 관리"; | ||||
|             this.파트타임관리.Click += new System.EventHandler(this.파트타임관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -409,13 +410,13 @@ | ||||
|             this.불용어, | ||||
|             this.작업지시서}); | ||||
|             this.마크설정.Name = "마크설정"; | ||||
|             this.마크설정.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크설정.Size = new System.Drawing.Size(156, 22); | ||||
|             this.마크설정.Text = "설정"; | ||||
|             //  | ||||
|             // 단축키설정 | ||||
|             //  | ||||
|             this.단축키설정.Name = "단축키설정"; | ||||
|             this.단축키설정.Size = new System.Drawing.Size(180, 22); | ||||
|             this.단축키설정.Size = new System.Drawing.Size(138, 22); | ||||
|             this.단축키설정.Text = "단축키"; | ||||
|             this.단축키설정.Visible = false; | ||||
|             this.단축키설정.Click += new System.EventHandler(this.단축키설정ToolStripMenuItem_Click); | ||||
| @@ -423,14 +424,14 @@ | ||||
|             // 매크로문구 | ||||
|             //  | ||||
|             this.매크로문구.Name = "매크로문구"; | ||||
|             this.매크로문구.Size = new System.Drawing.Size(180, 22); | ||||
|             this.매크로문구.Size = new System.Drawing.Size(138, 22); | ||||
|             this.매크로문구.Text = "매크로 문구"; | ||||
|             this.매크로문구.Click += new System.EventHandler(this.매크로문구설정ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 불용어 | ||||
|             //  | ||||
|             this.불용어.Name = "불용어"; | ||||
|             this.불용어.Size = new System.Drawing.Size(180, 22); | ||||
|             this.불용어.Size = new System.Drawing.Size(138, 22); | ||||
|             this.불용어.Text = "불용어"; | ||||
|             this.불용어.Visible = false; | ||||
|             this.불용어.Click += new System.EventHandler(this.불용어ToolStripMenuItem_Click); | ||||
| @@ -438,7 +439,7 @@ | ||||
|             // 작업지시서 | ||||
|             //  | ||||
|             this.작업지시서.Name = "작업지시서"; | ||||
|             this.작업지시서.Size = new System.Drawing.Size(180, 22); | ||||
|             this.작업지시서.Size = new System.Drawing.Size(138, 22); | ||||
|             this.작업지시서.Text = "작업지시서"; | ||||
|             this.작업지시서.Visible = false; | ||||
|             this.작업지시서.Click += new System.EventHandler(this.작업지시서ToolStripMenuItem_Click); | ||||
| @@ -454,48 +455,55 @@ | ||||
|             this.복본조사2, | ||||
|             this.iSBN조회}); | ||||
|             this.마크작업.Name = "마크작업"; | ||||
|             this.마크작업.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크작업.Size = new System.Drawing.Size(156, 22); | ||||
|             this.마크작업.Text = "마크 작업"; | ||||
|             //  | ||||
|             // 마크작성 | ||||
|             //  | ||||
|             this.마크작성.Name = "마크작성"; | ||||
|             this.마크작성.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크작성.Size = new System.Drawing.Size(154, 22); | ||||
|             this.마크작성.Text = "마크 작성"; | ||||
|             this.마크작성.Click += new System.EventHandler(this.마크작성ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 마크목록 | ||||
|             //  | ||||
|             this.마크목록.Name = "마크목록"; | ||||
|             this.마크목록.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크목록.Size = new System.Drawing.Size(154, 22); | ||||
|             this.마크목록.Text = "마크 목록"; | ||||
|             this.마크목록.Click += new System.EventHandler(this.마크목록ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 소장자료검색 | ||||
|             //  | ||||
|             this.소장자료검색.Name = "소장자료검색"; | ||||
|             this.소장자료검색.Size = new System.Drawing.Size(180, 22); | ||||
|             this.소장자료검색.Size = new System.Drawing.Size(154, 22); | ||||
|             this.소장자료검색.Text = "소장자료검색"; | ||||
|             this.소장자료검색.Click += new System.EventHandler(this.소장자료검색ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 마크정리 | ||||
|             //  | ||||
|             this.마크정리.Name = "마크정리"; | ||||
|             this.마크정리.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크정리.Size = new System.Drawing.Size(154, 22); | ||||
|             this.마크정리.Text = "마크 정리"; | ||||
|             this.마크정리.Click += new System.EventHandler(this.마크정리ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 복본조사1 | ||||
|             //  | ||||
|             this.복본조사1.Name = "복본조사1"; | ||||
|             this.복본조사1.Size = new System.Drawing.Size(180, 22); | ||||
|             this.복본조사1.Size = new System.Drawing.Size(154, 22); | ||||
|             this.복본조사1.Text = "복본조사"; | ||||
|             this.복본조사1.Click += new System.EventHandler(this.복본조사ToolStripMenuItem1_Click); | ||||
|             //  | ||||
|             // 복본조사2 | ||||
|             //  | ||||
|             this.복본조사2.Name = "복본조사2"; | ||||
|             this.복본조사2.Size = new System.Drawing.Size(154, 22); | ||||
|             this.복본조사2.Text = "복본조사(New)"; | ||||
|             this.복본조사2.Click += new System.EventHandler(this.복본조사2_Click); | ||||
|             //  | ||||
|             // iSBN조회 | ||||
|             //  | ||||
|             this.iSBN조회.Name = "iSBN조회"; | ||||
|             this.iSBN조회.Size = new System.Drawing.Size(180, 22); | ||||
|             this.iSBN조회.Size = new System.Drawing.Size(154, 22); | ||||
|             this.iSBN조회.Text = "ISBN 조회"; | ||||
|             this.iSBN조회.Click += new System.EventHandler(this.iSBN조회ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -505,7 +513,7 @@ | ||||
|             this.목록, | ||||
|             this.편목}); | ||||
|             this.dVDCDLPToolStripMenuItem.Name = "dVDCDLPToolStripMenuItem"; | ||||
|             this.dVDCDLPToolStripMenuItem.Size = new System.Drawing.Size(180, 22); | ||||
|             this.dVDCDLPToolStripMenuItem.Size = new System.Drawing.Size(156, 22); | ||||
|             this.dVDCDLPToolStripMenuItem.Text = "DVD / CD / LP"; | ||||
|             //  | ||||
|             // 목록 | ||||
| @@ -529,7 +537,7 @@ | ||||
|             this.마크반입, | ||||
|             this.마크반출}); | ||||
|             this.반입및반출.Name = "반입및반출"; | ||||
|             this.반입및반출.Size = new System.Drawing.Size(180, 22); | ||||
|             this.반입및반출.Size = new System.Drawing.Size(156, 22); | ||||
|             this.반입및반출.Text = "반입 및 반출"; | ||||
|             //  | ||||
|             // 마크반입 | ||||
| @@ -554,7 +562,7 @@ | ||||
|             this.검수, | ||||
|             this.저자기호}); | ||||
|             this.부가기능.Name = "부가기능"; | ||||
|             this.부가기능.Size = new System.Drawing.Size(180, 22); | ||||
|             this.부가기능.Size = new System.Drawing.Size(156, 22); | ||||
|             this.부가기능.Text = "부가기능"; | ||||
|             //  | ||||
|             // 마크수집 | ||||
| @@ -595,7 +603,7 @@ | ||||
|             this.DLS조회, | ||||
|             this.dLS복본조사}); | ||||
|             this.DLS.Name = "DLS"; | ||||
|             this.DLS.Size = new System.Drawing.Size(180, 22); | ||||
|             this.DLS.Size = new System.Drawing.Size(156, 22); | ||||
|             this.DLS.Text = "DLS"; | ||||
|             //  | ||||
|             // DLS조회 | ||||
| @@ -619,7 +627,7 @@ | ||||
|             this.마크통계, | ||||
|             this.장비관리}); | ||||
|             this.마크기타.Name = "마크기타"; | ||||
|             this.마크기타.Size = new System.Drawing.Size(180, 22); | ||||
|             this.마크기타.Size = new System.Drawing.Size(156, 22); | ||||
|             this.마크기타.Text = "기타"; | ||||
|             //  | ||||
|             // 서류작성 | ||||
| @@ -754,7 +762,8 @@ | ||||
|             this.매출내역ToolStripMenuItem, | ||||
|             this.이용자거래처조회ToolStripMenuItem, | ||||
|             this.마크설정ToolStripMenuItem, | ||||
|             this.일괄처리관리ToolStripMenuItem}); | ||||
|             this.일괄처리관리ToolStripMenuItem, | ||||
|             this.btDevDb}); | ||||
|             this.마스터ToolStripMenuItem.Name = "마스터ToolStripMenuItem"; | ||||
|             this.마스터ToolStripMenuItem.Size = new System.Drawing.Size(55, 20); | ||||
|             this.마스터ToolStripMenuItem.Text = "마스터"; | ||||
| @@ -764,7 +773,7 @@ | ||||
|             this.이용자관리ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.신규사업자등록ToolStripMenuItem}); | ||||
|             this.이용자관리ToolStripMenuItem.Name = "이용자관리ToolStripMenuItem"; | ||||
|             this.이용자관리ToolStripMenuItem.Size = new System.Drawing.Size(178, 22); | ||||
|             this.이용자관리ToolStripMenuItem.Size = new System.Drawing.Size(202, 22); | ||||
|             this.이용자관리ToolStripMenuItem.Text = "이용자 관리"; | ||||
|             //  | ||||
|             // 신규사업자등록ToolStripMenuItem | ||||
| @@ -777,35 +786,35 @@ | ||||
|             // 공지발송ToolStripMenuItem1 | ||||
|             //  | ||||
|             this.공지발송ToolStripMenuItem1.Name = "공지발송ToolStripMenuItem1"; | ||||
|             this.공지발송ToolStripMenuItem1.Size = new System.Drawing.Size(178, 22); | ||||
|             this.공지발송ToolStripMenuItem1.Size = new System.Drawing.Size(202, 22); | ||||
|             this.공지발송ToolStripMenuItem1.Text = "공지 발송"; | ||||
|             this.공지발송ToolStripMenuItem1.Click += new System.EventHandler(this.공지발송ToolStripMenuItem1_Click); | ||||
|             //  | ||||
|             // 매출내역ToolStripMenuItem | ||||
|             //  | ||||
|             this.매출내역ToolStripMenuItem.Name = "매출내역ToolStripMenuItem"; | ||||
|             this.매출내역ToolStripMenuItem.Size = new System.Drawing.Size(178, 22); | ||||
|             this.매출내역ToolStripMenuItem.Size = new System.Drawing.Size(202, 22); | ||||
|             this.매출내역ToolStripMenuItem.Text = "매출내역"; | ||||
|             this.매출내역ToolStripMenuItem.Click += new System.EventHandler(this.매출내역ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 이용자거래처조회ToolStripMenuItem | ||||
|             //  | ||||
|             this.이용자거래처조회ToolStripMenuItem.Name = "이용자거래처조회ToolStripMenuItem"; | ||||
|             this.이용자거래처조회ToolStripMenuItem.Size = new System.Drawing.Size(178, 22); | ||||
|             this.이용자거래처조회ToolStripMenuItem.Size = new System.Drawing.Size(202, 22); | ||||
|             this.이용자거래처조회ToolStripMenuItem.Text = "이용자 거래처 조회"; | ||||
|             this.이용자거래처조회ToolStripMenuItem.Click += new System.EventHandler(this.이용자거래처조회ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 마크설정ToolStripMenuItem | ||||
|             //  | ||||
|             this.마크설정ToolStripMenuItem.Name = "마크설정ToolStripMenuItem"; | ||||
|             this.마크설정ToolStripMenuItem.Size = new System.Drawing.Size(178, 22); | ||||
|             this.마크설정ToolStripMenuItem.Size = new System.Drawing.Size(202, 22); | ||||
|             this.마크설정ToolStripMenuItem.Text = "마크설정"; | ||||
|             this.마크설정ToolStripMenuItem.Click += new System.EventHandler(this.마크설정ToolStripMenuItem_Click); | ||||
|             //  | ||||
|             // 일괄처리관리ToolStripMenuItem | ||||
|             //  | ||||
|             this.일괄처리관리ToolStripMenuItem.Name = "일괄처리관리ToolStripMenuItem"; | ||||
|             this.일괄처리관리ToolStripMenuItem.Size = new System.Drawing.Size(178, 22); | ||||
|             this.일괄처리관리ToolStripMenuItem.Size = new System.Drawing.Size(202, 22); | ||||
|             this.일괄처리관리ToolStripMenuItem.Text = "일괄처리 관리"; | ||||
|             this.일괄처리관리ToolStripMenuItem.Click += new System.EventHandler(this.일괄처리관리ToolStripMenuItem_Click); | ||||
|             //  | ||||
| @@ -1067,12 +1076,14 @@ | ||||
|             this.lblStatus.Size = new System.Drawing.Size(27, 22); | ||||
|             this.lblStatus.Text = "WD"; | ||||
|             //  | ||||
|             // 복본조사2 | ||||
|             // btDevDb | ||||
|             //  | ||||
|             this.복본조사2.Name = "복본조사2"; | ||||
|             this.복본조사2.Size = new System.Drawing.Size(180, 22); | ||||
|             this.복본조사2.Text = "복본조사(New)"; | ||||
|             this.복본조사2.Click += new System.EventHandler(this.복본조사2_Click); | ||||
|             this.btDevDb.ForeColor = System.Drawing.Color.Blue; | ||||
|             this.btDevDb.Name = "btDevDb"; | ||||
|             this.btDevDb.Size = new System.Drawing.Size(202, 22); | ||||
|             this.btDevDb.Text = "데이터베이스편집(개발)"; | ||||
|             this.btDevDb.Visible = false; | ||||
|             this.btDevDb.Click += new System.EventHandler(this.btDevDb_Click); | ||||
|             //  | ||||
|             // Main | ||||
|             //  | ||||
| @@ -1207,5 +1218,6 @@ | ||||
|         public System.Windows.Forms.ToolStripLabel IPText; | ||||
|         private System.Windows.Forms.ToolStripLabel lblStatus; | ||||
|         private System.Windows.Forms.ToolStripMenuItem 복본조사2; | ||||
|         private System.Windows.Forms.ToolStripMenuItem btDevDb; | ||||
|     } | ||||
| } | ||||
| @@ -26,6 +26,7 @@ using UniMarc.회계; | ||||
| using UniMarc.마크; | ||||
| using UniMarc.Properties; | ||||
| using UniMarc; | ||||
| using UniMarc.개발자용; | ||||
|  | ||||
|  | ||||
| namespace WindowsFormsApp1 | ||||
| @@ -42,6 +43,7 @@ namespace WindowsFormsApp1 | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             PUB.Init(); | ||||
|             this.btDevDb.Visible = System.Diagnostics.Debugger.IsAttached; | ||||
|         } | ||||
|  | ||||
|         public string User_Name { get; internal set; } | ||||
| @@ -1544,5 +1546,11 @@ namespace WindowsFormsApp1 | ||||
|             Mac_check_Copy.FormClosed += (o, ea) => Mac_check_Copy = null; | ||||
|             Mac_check_Copy.Show(); | ||||
|         } | ||||
|  | ||||
|         private void btDevDb_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var f = new fDevDB(); | ||||
|             f.Show(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										414
									
								
								unimarc/unimarc/SearchModel/JunnamEduSearcher.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										414
									
								
								unimarc/unimarc/SearchModel/JunnamEduSearcher.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,414 @@ | ||||
| using System; | ||||
| using System.Threading.Tasks; | ||||
| using OpenQA.Selenium; | ||||
| using OpenQA.Selenium.Chrome; | ||||
| using OpenQA.Selenium.Support.UI; | ||||
| using System.Text.RegularExpressions; | ||||
| using WebDriverManager; | ||||
| using WebDriverManager.DriverConfigs.Impl; | ||||
| using System.IO; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Threading; | ||||
| using UniMarc.마크; | ||||
| using OpenQA.Selenium.Chromium; | ||||
| using UniMarc.SearchModel; | ||||
| using System.Runtime.CompilerServices; | ||||
|  | ||||
| namespace BokBonCheck | ||||
| { | ||||
|  | ||||
|  | ||||
|     public class JunnamEduSearcher_Mokpo : JunnamEduSearcher | ||||
|     { | ||||
|         public JunnamEduSearcher_Mokpo(int no) : base(no) | ||||
|         { | ||||
|             SiteName = "전남교육청(목포)"; // 문화관 검색기 | ||||
|         } | ||||
|  | ||||
|         protected override bool SelectLibrary(WebDriverWait wait) | ||||
|         { | ||||
|             IWebElement searchBox = null; | ||||
|             try | ||||
|             { | ||||
|                 var selector = "#clickAll"; | ||||
|                 searchBox = wait.Until(d => d.FindElement(By.CssSelector(selector))); | ||||
|                 if (searchBox == null) return false; | ||||
|                 if (searchBox.Selected == true) | ||||
|                 { | ||||
|                     SafeClick(searchBox); | ||||
|                 } | ||||
|  | ||||
|                 selector = "#libMA"; | ||||
|                 searchBox = wait.Until(d => d.FindElement(By.CssSelector(selector))); | ||||
|                 if (searchBox == null) return false; | ||||
|                 if (searchBox.Selected == false) | ||||
|                 { | ||||
|                     SafeClick(searchBox); | ||||
|                 } | ||||
|  | ||||
|                 return true; | ||||
|             } | ||||
|             catch | ||||
|             { | ||||
|                 return false; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|    | ||||
|     public class JunnamEduSearcher : ILibrarySearcher | ||||
|     { | ||||
|         public string SiteName { get; protected set; } = "전남교육청(전체)"; | ||||
|         public string SiteUrl => "https://lib.namgu.gwangju.kr/main/bookSearch"; | ||||
|  | ||||
|         public int No { get; set; } | ||||
|  | ||||
|         private ChromiumDriver _driver; | ||||
|  | ||||
|         public JunnamEduSearcher(int no) | ||||
|         { | ||||
|             this.No = no; | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         public void StopDriver() | ||||
|         { | ||||
|             if (_driver != null) | ||||
|             { | ||||
|                 _driver.Quit(); | ||||
|                 _driver.Dispose(); | ||||
|                 _driver = null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public async Task StartDriver(bool showdriver = false) | ||||
|         { | ||||
|             if (_driver == null) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     if (SeleniumHelper.IsReady == false) await SeleniumHelper.Download(); | ||||
|                     _driver = await SeleniumHelper.CreateDriver(); | ||||
|                     Console.WriteLine("NamguLibrarySearcher Driver 초기화 완료"); | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     Console.WriteLine($"NamguLibrarySearcher Driver 초기화 실패: {ex.Message}"); | ||||
|                     throw new InvalidOperationException($"NamguLibrarySearcher Driver 초기화에 실패했습니다: {ex.Message}", ex); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         virtual protected bool SelectLibrary(WebDriverWait wait) | ||||
|         { | ||||
|             IWebElement searchBox = null; | ||||
|             try | ||||
|             { | ||||
|                 var selector = "#clickAll"; | ||||
|                 searchBox = wait.Until(d => d.FindElement(By.CssSelector(selector))); | ||||
|                 if (searchBox == null) return false; | ||||
|                 if (searchBox.Selected == false) | ||||
|                 { | ||||
|                     SafeClick(searchBox); | ||||
|                 } | ||||
|                 return true; | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 Console.WriteLine(ex.Message); | ||||
|                 return false; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         protected void SafeClick(IWebElement searchBox) | ||||
|         { | ||||
|             // 안정적인 클릭을 위한 여러 방법 시도 | ||||
|             try | ||||
|             { | ||||
|                 // 1. JavaScript로 클릭 시도 | ||||
|                 var driver = ((IWrapsDriver)searchBox).WrappedDriver; | ||||
|                 ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", searchBox); | ||||
|             } | ||||
|             catch | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     // 2. 요소가 보이도록 스크롤 후 클릭 | ||||
|                     var driver = ((IWrapsDriver)searchBox).WrappedDriver; | ||||
|                     ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", searchBox); | ||||
|                     Thread.Sleep(500); | ||||
|                     searchBox.Click(); | ||||
|                 } | ||||
|                 catch | ||||
|                 { | ||||
|                     try | ||||
|                     { | ||||
|                         // 3. Actions 클래스 사용 | ||||
|                         var driver = ((IWrapsDriver)searchBox).WrappedDriver; | ||||
|                         var actions = new OpenQA.Selenium.Interactions.Actions(driver); | ||||
|                         actions.MoveToElement(searchBox).Click().Perform(); | ||||
|                     } | ||||
|                     catch | ||||
|                     { | ||||
|                         // 4. 마지막 방법: JavaScript로 직접 체크 해제 | ||||
|                         var driver = ((IWrapsDriver)searchBox).WrappedDriver; | ||||
|                         ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].checked = false;", searchBox); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public async Task<BookSearchResult> SearchAsync(string searchTerm) | ||||
|         { | ||||
|             var result = new BookSearchResult | ||||
|             { | ||||
|                 SiteName = SiteName, | ||||
|                 SearchTerm = searchTerm, | ||||
|                 SearchTime = DateTime.Now | ||||
|             }; | ||||
|  | ||||
|             try | ||||
|             { | ||||
|                 // 드라이버가 없으면 자동으로 시작 | ||||
|                 if (_driver == null) | ||||
|                 { | ||||
|                     await StartDriver(); | ||||
|                 } | ||||
|  | ||||
|                 _driver.Navigate().GoToUrl(SiteUrl); | ||||
|  | ||||
|                 // 페이지 로딩 대기 | ||||
|                 var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(15)); | ||||
|  | ||||
|                 // 모든 감지 방법이 끝나면 크롬창 최소화 | ||||
|                 // whale 브라우저가 최소화되어 우선해제 | ||||
|                 //IntPtr chromeWindow = FindWindow("Chrome_WidgetWin_1", null); | ||||
|                 //if (chromeWindow != IntPtr.Zero) | ||||
|                 //{ | ||||
|                 //    ShowWindow(chromeWindow, SW_MINIMIZE); | ||||
|                 //} | ||||
|  | ||||
|                 //대상도서관 선택 | ||||
|                 if (SelectLibrary(wait) == false) | ||||
|                 { | ||||
|                     result.ErrorMessage = "도서관선택실패"; | ||||
|                     result.BookCount = -1; | ||||
|                     result.IsSuccess = false; | ||||
|                     return result; | ||||
|                 } | ||||
|  | ||||
|                 // 검색창 찾기 (남구통합도서관 사이트의 특정 선택자 사용) | ||||
|                 IWebElement searchBox = null; | ||||
|                 try | ||||
|                 { | ||||
|                     // 여러 가능한 선택자 시도 | ||||
|                     var selectors = new[] | ||||
|                     { | ||||
|                         "input[name='query']", | ||||
|                         "input[id='query']", | ||||
|                         "input[type='text']", | ||||
|                     }; | ||||
|  | ||||
|                     foreach (var selector in selectors) | ||||
|                     { | ||||
|                         try | ||||
|                         { | ||||
|                             searchBox = wait.Until(d => d.FindElement(By.CssSelector(selector))); | ||||
|                             break; | ||||
|                         } | ||||
|                         catch | ||||
|                         { | ||||
|                             continue; | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                     if (searchBox == null) | ||||
|                     { | ||||
|                         throw new Exception("검색창을 찾을 수 없습니다."); | ||||
|                     } | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     throw new Exception($"검색창 찾기 실패: {ex.Message}"); | ||||
|                 } | ||||
|  | ||||
|                 // 검색어 입력 | ||||
|                 searchBox.Clear(); | ||||
|                 searchBox.SendKeys(searchTerm); | ||||
|  | ||||
|                 // 검색 버튼 클릭 | ||||
|                 IWebElement searchButton = null; | ||||
|                 try | ||||
|                 { | ||||
|                     var buttonSelectors = new[] | ||||
|                     { | ||||
|                         "button[type='submit']", | ||||
|                         "input[type='submit']", | ||||
|                         ".search-btn", | ||||
|                         ".btn-search", | ||||
|                         "button:contains('검색')", | ||||
|                         "input[value*='검색']", | ||||
|                         "button[class*='search']", | ||||
|                         "input[class*='search']" | ||||
|                     }; | ||||
|  | ||||
|                     foreach (var selector in buttonSelectors) | ||||
|                     { | ||||
|                         try | ||||
|                         { | ||||
|                             searchButton = _driver.FindElement(By.CssSelector(selector)); | ||||
|                             break; | ||||
|                         } | ||||
|                         catch | ||||
|                         { | ||||
|                             continue; | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|                     if (searchButton == null) | ||||
|                     { | ||||
|                         // Enter 키로 검색 시도 | ||||
|                         searchBox.SendKeys(Keys.Enter); | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         searchButton.Click(); | ||||
|                     } | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     // Enter 키로 검색 시도 | ||||
|                     searchBox.SendKeys(Keys.Enter); | ||||
|                 } | ||||
|  | ||||
|                 // 페이지 변경을 감지하는 메서드 | ||||
|                 await WaitForPageChange(new WebDriverWait(_driver, TimeSpan.FromSeconds(15))); | ||||
|  | ||||
|                 // 검색 결과 수 추출 | ||||
|                 var resultCount = ExtractBookCount(_driver, searchTerm, out string ermsg); | ||||
|                 if (resultCount == -1) | ||||
|                 { | ||||
|                     result.BookCount = 0; | ||||
|                     result.IsSuccess = false; | ||||
|                     result.ErrorMessage = ermsg; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     result.BookCount = resultCount; | ||||
|                     result.IsSuccess = true; | ||||
|                     result.ErrorMessage = ermsg; | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 result.IsSuccess = false; | ||||
|                 result.ErrorMessage = ex.Message; | ||||
|                 result.BookCount = 0; | ||||
|             } | ||||
|  | ||||
|             return result; | ||||
|         } | ||||
|  | ||||
|         private int ExtractBookCount(IWebDriver driver, string searchTerm, out string errmessage) | ||||
|         { | ||||
|             errmessage = string.Empty; | ||||
|             try | ||||
|             { | ||||
|                 // div.search-result 내부의 span에서 '전체 N' 텍스트 추출 | ||||
|                 var resultDiv = driver.FindElement(By.CssSelector("div.search-result")); | ||||
|  | ||||
|                 var bodytext = resultDiv.Text; | ||||
|                 if (bodytext.Contains("검색결과가 없습니다")) | ||||
|                 { | ||||
|                     errmessage = "검색결과없음"; | ||||
|                     return 0; | ||||
|                 } | ||||
|  | ||||
|                 var searchkey = resultDiv.FindElement(By.XPath("//*[@id=\"sub\"]/section[3]/div/div/div/div/div[2]/div[1]/p/b")); | ||||
|                 var searchtitle = searchkey.Text; | ||||
|  | ||||
|                 if (searchTerm.Contains(searchtitle) == false) | ||||
|                 { | ||||
|                     errmessage = $"검색어불일치({searchtitle}/{searchTerm})"; | ||||
|                     return -1; | ||||
|                 } | ||||
|                 var span = resultDiv.FindElement(By.XPath(".//span[contains(text(),'전체')]")); | ||||
|                 string text = span.Text; // 예: "전체 5 " | ||||
|                 var match = System.Text.RegularExpressions.Regex.Match(text, @"전체\s*(\d+)"); | ||||
|                 if (match.Success) | ||||
|                 { | ||||
|                     if (int.TryParse(match.Groups[1].Value, out int vqty) == false) | ||||
|                     { | ||||
|                         errmessage = $"수량값오류({match.Groups[1].Value})"; | ||||
|                         return -1; | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         searchTerm = string.Empty; | ||||
|                         return vqty; | ||||
|                     } | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     errmessage = "수량항목없음"; | ||||
|                     return -1; | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 errmessage = ex.Message; | ||||
|                 return -1; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         // 페이지 변경을 감지하는 메서드 | ||||
|         public async Task WaitForPageChange(WebDriverWait wait) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 await Task.Delay(500); | ||||
|  | ||||
|                 // 방법 4: 페이지 로딩 상태 확인 | ||||
|                 wait.Until(d => | ||||
|                 { | ||||
|                     var readyState = ((IJavaScriptExecutor)d).ExecuteScript("return document.readyState"); | ||||
|                     return readyState.Equals("complete"); | ||||
|                 }); | ||||
|  | ||||
|                 // 방법 5: 특정 텍스트가 페이지에 나타날 때까지 대기 | ||||
|                 wait.Until(d => | ||||
|                 { | ||||
|                     try | ||||
|                     { | ||||
|                         var byclassname = By.ClassName("search-result"); | ||||
|                         var elm = d.FindElement(byclassname); | ||||
|                         if (elm == null) | ||||
|                         { | ||||
|                             return false; | ||||
|                         } | ||||
|                         var pageText = elm.Text; | ||||
|                         if (pageText.Contains("검색결과가 없습니다")) return true; | ||||
|                         return pageText.Contains("에 대하여") && pageText.Contains("검색되었습니다"); | ||||
|                     } | ||||
|                     catch | ||||
|                     { | ||||
|                         return false; | ||||
|                     } | ||||
|                 }); | ||||
|  | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 // 모든 감지 방법이 실패하면 최소한의 대기 시간 적용 | ||||
|                 await Task.Delay(2000); | ||||
|                 throw new Exception($"페이지 변경 감지 실패: {ex.Message}"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -232,8 +232,15 @@ | ||||
|     </Compile> | ||||
|     <Compile Include="SearchModel\ILibrarySearcher.cs" /> | ||||
|     <Compile Include="SearchModel\KwangjuCityLibrarySearcher.cs" /> | ||||
|     <Compile Include="SearchModel\JunnamEduSearcher.cs" /> | ||||
|     <Compile Include="SearchModel\NamguLibrarySearcher.cs" /> | ||||
|     <Compile Include="SearchModel\SeleniumHelper.cs" /> | ||||
|     <Compile Include="개발자용\fDevDB.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="개발자용\fDevDB.Designer.cs"> | ||||
|       <DependentUpon>fDevDB.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="마스터\From_User_manage_List.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
| @@ -958,6 +965,9 @@ | ||||
|     <Compile Include="작업일지\Work_Log.Designer.cs"> | ||||
|       <DependentUpon>Work_Log.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <EmbeddedResource Include="개발자용\fDevDB.resx"> | ||||
|       <DependentUpon>fDevDB.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Include="마스터\From_User_manage_List.resx"> | ||||
|       <DependentUpon>From_User_manage_List.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|   | ||||
							
								
								
									
										251
									
								
								unimarc/unimarc/개발자용/fDevDB.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								unimarc/unimarc/개발자용/fDevDB.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,251 @@ | ||||
| namespace UniMarc.개발자용 | ||||
| { | ||||
|     partial class fDevDB | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Required designer variable. | ||||
|         /// </summary> | ||||
|         private System.ComponentModel.IContainer components = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Clean up any resources being used. | ||||
|         /// </summary> | ||||
|         /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> | ||||
|         protected override void Dispose(bool disposing) | ||||
|         { | ||||
|             if (disposing && (components != null)) | ||||
|             { | ||||
|                 components.Dispose(); | ||||
|             } | ||||
|             base.Dispose(disposing); | ||||
|         } | ||||
|  | ||||
|         #region Windows Form Designer generated code | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Required method for Designer support - do not modify | ||||
|         /// the contents of this method with the code editor. | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             this.components = new System.ComponentModel.Container(); | ||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fDevDB)); | ||||
|             this.cmbTables = new System.Windows.Forms.ComboBox(); | ||||
|             this.btQuery = new System.Windows.Forms.Button(); | ||||
|             this.dv1 = new System.Windows.Forms.DataGridView(); | ||||
|             this.bs1 = new System.Windows.Forms.BindingSource(this.components); | ||||
|             this.bn1 = new System.Windows.Forms.BindingNavigator(this.components); | ||||
|             this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator(); | ||||
|             this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox(); | ||||
|             this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator(); | ||||
|             this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); | ||||
|             this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); | ||||
|             this.btsave = new System.Windows.Forms.ToolStripButton(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bn1)).BeginInit(); | ||||
|             this.bn1.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // cmbTables | ||||
|             //  | ||||
|             this.cmbTables.FormattingEnabled = true; | ||||
|             this.cmbTables.Items.AddRange(new object[] { | ||||
|             "lib_CopyCheck"}); | ||||
|             this.cmbTables.Location = new System.Drawing.Point(67, 12); | ||||
|             this.cmbTables.Name = "cmbTables"; | ||||
|             this.cmbTables.Size = new System.Drawing.Size(240, 20); | ||||
|             this.cmbTables.TabIndex = 0; | ||||
|             //  | ||||
|             // btQuery | ||||
|             //  | ||||
|             this.btQuery.Location = new System.Drawing.Point(317, 11); | ||||
|             this.btQuery.Name = "btQuery"; | ||||
|             this.btQuery.Size = new System.Drawing.Size(87, 20); | ||||
|             this.btQuery.TabIndex = 1; | ||||
|             this.btQuery.Text = "button1"; | ||||
|             this.btQuery.UseVisualStyleBackColor = true; | ||||
|             this.btQuery.Click += new System.EventHandler(this.button1_Click); | ||||
|             //  | ||||
|             // dataGridView1 | ||||
|             //  | ||||
|             this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dv1.Location = new System.Drawing.Point(40, 48); | ||||
|             this.dv1.Name = "dataGridView1"; | ||||
|             this.dv1.RowTemplate.Height = 23; | ||||
|             this.dv1.Size = new System.Drawing.Size(585, 300); | ||||
|             this.dv1.TabIndex = 2; | ||||
|             //  | ||||
|             // bn1 | ||||
|             //  | ||||
|             this.bn1.AddNewItem = this.bindingNavigatorAddNewItem; | ||||
|             this.bn1.CountItem = this.bindingNavigatorCountItem; | ||||
|             this.bn1.DeleteItem = this.bindingNavigatorDeleteItem; | ||||
|             this.bn1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.bn1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.bindingNavigatorMoveFirstItem, | ||||
|             this.bindingNavigatorMovePreviousItem, | ||||
|             this.bindingNavigatorSeparator, | ||||
|             this.bindingNavigatorPositionItem, | ||||
|             this.bindingNavigatorCountItem, | ||||
|             this.bindingNavigatorSeparator1, | ||||
|             this.bindingNavigatorMoveNextItem, | ||||
|             this.bindingNavigatorMoveLastItem, | ||||
|             this.bindingNavigatorSeparator2, | ||||
|             this.bindingNavigatorAddNewItem, | ||||
|             this.bindingNavigatorDeleteItem, | ||||
|             this.btsave}); | ||||
|             this.bn1.Location = new System.Drawing.Point(0, 425); | ||||
|             this.bn1.MoveFirstItem = this.bindingNavigatorMoveFirstItem; | ||||
|             this.bn1.MoveLastItem = this.bindingNavigatorMoveLastItem; | ||||
|             this.bn1.MoveNextItem = this.bindingNavigatorMoveNextItem; | ||||
|             this.bn1.MovePreviousItem = this.bindingNavigatorMovePreviousItem; | ||||
|             this.bn1.Name = "bn1"; | ||||
|             this.bn1.PositionItem = this.bindingNavigatorPositionItem; | ||||
|             this.bn1.Size = new System.Drawing.Size(800, 25); | ||||
|             this.bn1.TabIndex = 3; | ||||
|             this.bn1.Text = "bindingNavigator1"; | ||||
|             //  | ||||
|             // bindingNavigatorMoveFirstItem | ||||
|             //  | ||||
|             this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image"))); | ||||
|             this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem"; | ||||
|             this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동"; | ||||
|             //  | ||||
|             // bindingNavigatorMovePreviousItem | ||||
|             //  | ||||
|             this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image"))); | ||||
|             this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem"; | ||||
|             this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동"; | ||||
|             //  | ||||
|             // bindingNavigatorSeparator | ||||
|             //  | ||||
|             this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator"; | ||||
|             this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25); | ||||
|             //  | ||||
|             // bindingNavigatorPositionItem | ||||
|             //  | ||||
|             this.bindingNavigatorPositionItem.AccessibleName = "위치"; | ||||
|             this.bindingNavigatorPositionItem.AutoSize = false; | ||||
|             this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem"; | ||||
|             this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23); | ||||
|             this.bindingNavigatorPositionItem.Text = "0"; | ||||
|             this.bindingNavigatorPositionItem.ToolTipText = "현재 위치"; | ||||
|             //  | ||||
|             // bindingNavigatorCountItem | ||||
|             //  | ||||
|             this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; | ||||
|             this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22); | ||||
|             this.bindingNavigatorCountItem.Text = "/{0}"; | ||||
|             this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수"; | ||||
|             //  | ||||
|             // bindingNavigatorSeparator1 | ||||
|             //  | ||||
|             this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator"; | ||||
|             this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25); | ||||
|             //  | ||||
|             // bindingNavigatorMoveNextItem | ||||
|             //  | ||||
|             this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image"))); | ||||
|             this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem"; | ||||
|             this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorMoveNextItem.Text = "다음으로 이동"; | ||||
|             //  | ||||
|             // bindingNavigatorMoveLastItem | ||||
|             //  | ||||
|             this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image"))); | ||||
|             this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem"; | ||||
|             this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동"; | ||||
|             //  | ||||
|             // bindingNavigatorSeparator2 | ||||
|             //  | ||||
|             this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator"; | ||||
|             this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25); | ||||
|             //  | ||||
|             // bindingNavigatorAddNewItem | ||||
|             //  | ||||
|             this.bindingNavigatorAddNewItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image"))); | ||||
|             this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem"; | ||||
|             this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorAddNewItem.Text = "새로 추가"; | ||||
|             //  | ||||
|             // bindingNavigatorDeleteItem | ||||
|             //  | ||||
|             this.bindingNavigatorDeleteItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; | ||||
|             this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image"))); | ||||
|             this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem"; | ||||
|             this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true; | ||||
|             this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(23, 22); | ||||
|             this.bindingNavigatorDeleteItem.Text = "삭제"; | ||||
|             //  | ||||
|             // btsave | ||||
|             //  | ||||
|             this.btsave.Image = ((System.Drawing.Image)(resources.GetObject("btsave.Image"))); | ||||
|             this.btsave.ImageTransparentColor = System.Drawing.Color.Magenta; | ||||
|             this.btsave.Name = "btsave"; | ||||
|             this.btsave.Size = new System.Drawing.Size(50, 22); | ||||
|             this.btsave.Text = "save"; | ||||
|             this.btsave.Click += new System.EventHandler(this.btsave_Click); | ||||
|             //  | ||||
|             // fDevDB | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(800, 450); | ||||
|             this.Controls.Add(this.bn1); | ||||
|             this.Controls.Add(this.dv1); | ||||
|             this.Controls.Add(this.btQuery); | ||||
|             this.Controls.Add(this.cmbTables); | ||||
|             this.Name = "fDevDB"; | ||||
|             this.Text = "fDevDB"; | ||||
|             this.Load += new System.EventHandler(this.fDevDB_Load); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bn1)).EndInit(); | ||||
|             this.bn1.ResumeLayout(false); | ||||
|             this.bn1.PerformLayout(); | ||||
|             this.ResumeLayout(false); | ||||
|             this.PerformLayout(); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|         private System.Windows.Forms.ComboBox cmbTables; | ||||
|         private System.Windows.Forms.Button btQuery; | ||||
|         private System.Windows.Forms.DataGridView dv1; | ||||
|         private System.Windows.Forms.BindingSource bs1; | ||||
|         private System.Windows.Forms.BindingNavigator bn1; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem; | ||||
|         private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem; | ||||
|         private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator; | ||||
|         private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem; | ||||
|         private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem; | ||||
|         private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem; | ||||
|         private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2; | ||||
|         private System.Windows.Forms.ToolStripButton btsave; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										56
									
								
								unimarc/unimarc/개발자용/fDevDB.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								unimarc/unimarc/개발자용/fDevDB.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| using AR; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows.Forms; | ||||
| using WindowsFormsApp1; | ||||
|  | ||||
| namespace UniMarc.개발자용 | ||||
| { | ||||
|     public partial class fDevDB : Form | ||||
|     { | ||||
|         DataTable dt = new DataTable(); | ||||
|         Helper_DB db = new Helper_DB(); | ||||
|         public fDevDB() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|  | ||||
|         private void fDevDB_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             if (this.cmbTables.Items.Count > 0) | ||||
|                 this.cmbTables.SelectedIndex = 0; | ||||
|         } | ||||
|  | ||||
|         private void btsave_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             //save | ||||
|             var sql = $"select * from {cmbTables.Text}"; | ||||
|             var cn = db.CreateConnection(); | ||||
|             var da = new MySql.Data.MySqlClient.MySqlDataAdapter(sql, cn); | ||||
|             var cnt = da.Update(dt); | ||||
|             UTIL.MsgI($"P{cnt}"); | ||||
|             cn.Dispose(); | ||||
|         } | ||||
|  | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             //query | ||||
|             var sql = $"select * from {cmbTables.Text}"; | ||||
|             var cn = db.CreateConnection(); | ||||
|             var da = new MySql.Data.MySqlClient.MySqlDataAdapter(sql, cn); | ||||
|  | ||||
|             da.Fill(dt); | ||||
|             this.bs1.DataSource = dt; | ||||
|             this.bn1.BindingSource = this.bs1; | ||||
|             this.dv1.DataSource = this.bs1; | ||||
|  | ||||
|             cn.Dispose(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										206
									
								
								unimarc/unimarc/개발자용/fDevDB.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								unimarc/unimarc/개발자용/fDevDB.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,206 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>156, 17</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFXSURBVDhPzc9LSwJhFAZgd5FkaAlFRCEhVCRm9TssIiqw | ||||
|         7CKWXZCQJA1Lw0JIo1Ckm1SL2rSoTYvaBEUQBhEF4YyXaex3fN/3hrNo4SxkNtELZ3U4D+9Rqf5tCmdV | ||||
|         yJ5U4zOlxvuBBuX7ismk1CDfGyDFENIJrXLgbV/zCzzE9MqB57gOpLgOIq7iNtJQGfg4rMFrshbpuA5P | ||||
|         u3W4j+pBxBVQwYPrUDMuAy248Btw6m3DkccoB18SWpBiEERcAxH9IMIyiOAGLcyB5h2gOTsYPwrGDyG+ | ||||
|         2CEHHnfqpbr0ywsiLIEWFkDzTtDcJFjWBsYPg3GDYBkrtmdMcuAu0oibcBOupLqtOPcZQLNjYPwIku52 | ||||
|         7M13IuoyIeI0IzxlkQPlOfYYpbqMG0DM1VX5oDylPxnXD8ZZseUwKweisybp39IE7T3Kgc3pboQmLAiM | ||||
|         98Jv61MO/Fl+ACQj2J5cFZvRAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFrSURBVDhPtZBNKMNhHMf/V+WtlIsLSjkgk5iQTIbkJTKN | ||||
|         yLwlBw6LhFx2cCDlQg64SA4kJeVEstO8zWtrSn9pWmkX/OPyfMQQnrWm+Fy/3++n5/kpyl+A6xi6q8Gx | ||||
|         w88sJFiZR3SWIyxG2FoPKuHmCpZmvndYW4BeE6LViGgvhbmJgJLXFwpLMdh65JwTh19Sm4kw54K14VtJ | ||||
|         DHUgTNkwOSKPv8LiNKIs+U3EcAe4T2Gs3y8d6w8+/oArFzQW+L9UnYGo00NfU2jjD9jbRZj0iIpUqNL9 | ||||
|         cuxRwZwHWTFoumjudZFQkxmaBM81mHIgPw5fWwWcH74d15sSCcuzwSXceaHZwENhPO6iVHz27c8Bo1ac | ||||
|         SRFox/uBJTw/wWAbGBI4SonFt7EqFW9L0lBbKtFurqVMYXcTLTsWZ2IYalc9aI9ySVGUnaQoNKdDzpiy | ||||
|         oSaH4zamg3opF97RRrrh7EDOuXDC+AAc2OXwP3kBiiMDHFY5tmwAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAExSURBVDhPY2AYNKBw1vP/TQue/8+c+Pg/uhwMhLc/wCnH | ||||
|         kDvz2f9VR97/x6UovvvB/+CGa1jlwCBjytP/C/d9wKoovufh/6X7///3r76AIQcHCT1P/k/b8h5DUUT7 | ||||
|         fbDmzFn//3uVnsBtQGTXo/+9qz+gKAptvQfW3Lru/3//zr//XfIP4DYgsPnh/7r57+CKglvu/l+09/// | ||||
|         jnX//2fM+fnfru7nf/uM7bgN8Ki6/z9/2hsURXbFt/+nz/n937/r23+dwnf/LRLW4zbAvvTu/+zJrzEU | ||||
|         6aec/29S9OK/Stan/8aRy3AbYJF3539q/2usigySTvyXTfv6Xzd4HoYcHBhm3f4f1vISpyL91Mv/NXyn | ||||
|         YZUDA520G//9qh/iVaTiMQGnHINT7pX/IAV4FQ1KAADwdsCrWJS2HgAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC7SURBVDhPY2AYMiC8/cF/dDGiQXz3g//BDdfIMyC+5+H/ | ||||
|         pfv///evvkC6ARHt98GaM2f9/+9VeoI0A0Jb74E1t677/9+/8+9/l/wDxBsQ3HL3/6K9//93rPv/P2PO | ||||
|         z/92dT//22dsJ94AELArvv0/fc7v//5d3/7rFL77b5GwnjQDQEA/5fx/k6IX/1WyPv03jlxGugEgYJB0 | ||||
|         4r9s2tf/usHzyDMABPRTL//X8J1GvgEgoOIxgTIDBi8AANAUYJgsLP+3AAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPY2AYdKBw1vP/6GIkgdyZz/4ndN8j35CMKU// | ||||
|         z9v/+39C1x3yDEnoefJ/9r5f/zu3/v3vVnqZdEMiux79n7Lt1/+SpX//J0z/+98m9yxphgQ2P/zfuvY9 | ||||
|         WLNxyZf/0tHX/htHLiPeEI+q+/9L5r6Da1Z06SFeMwjYl979H9jyjDzNIGCRd+e/TcEV8jSDgGHWbfI1 | ||||
|         g4BO2g3yNQ9NAACgfl+gY6ualwAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAErSURBVDhPY2AYVKBw1vP/6GIwAJJrWvD8f+bExzjVMOTO | ||||
|         fPY/ofseVgUguVVH3v8Pb3+AVR4MMqY8/T9v/+//CV13MBSB5Bbu+/A/uOEahhwcJPQ8+T9736//nVv/ | ||||
|         /ncrvYyiECQ3bcv7//7VF3AbENn16P+Ubb/+lyz9+z9h+t//Nrln4YpBcr2rP/z3Kj2B24DA5of/W9e+ | ||||
|         B2s2LvnyXzr62n/jyGVgDSC5uvnv/rvkH8BtgEfV/f8lc9/BNSu69MAVg+Typ735b5+xHbcB9qV3/we2 | ||||
|         PMPQDJPLnvz6v0XCetwGWOTd+W9TcAVDM0wutf813EtYgWHWbayaQQAkF9by8r9u8Dys8mCgk3YDpyRI | ||||
|         zq/64X8N32k41eAFTrlX/qt4TABjdLmBBQC+0b+zZl1WGAAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btsave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK | ||||
|         YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X | ||||
|         /aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t | ||||
|         I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM | ||||
|         cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh | ||||
|         6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD | ||||
|         lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A | ||||
|         HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb | ||||
|         1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC | ||||
|         nOccAdABIDXXE1nzAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
| </root> | ||||
| @@ -133,7 +133,7 @@ namespace UniMarc.마크 | ||||
|             { | ||||
|                 var cc2 = cc as Check_copyWD; | ||||
|                 cc2.btn_SearchList.Text = list_name; | ||||
|                 cc2.SearchCount.Value = cc2.dataGridView1.Rows.Count - 1; | ||||
|                 cc2.SearchCount.Value = cc2.dv1.Rows.Count - 1; | ||||
|  | ||||
|             } | ||||
|              | ||||
| @@ -161,14 +161,14 @@ namespace UniMarc.마크 | ||||
|             else | ||||
|             { | ||||
|                 var cc2 = cc as Check_copyWD; | ||||
|                 cc2.dataGridView1.Rows.Clear(); | ||||
|                 cc2.dv1.Rows.Clear(); | ||||
|  | ||||
|                 string[] ary = query.Split('|'); | ||||
|                 string[] grid = { "", "", "" }; | ||||
|                 for (int a = 0; a < ary.Length; a++) | ||||
|                 { | ||||
|                     if (a % 2 == 0) { grid[0] = ary[a]; } | ||||
|                     if (a % 2 == 1) { grid[1] = ary[a]; cc2.dataGridView1.Rows.Add(grid); } | ||||
|                     if (a % 2 == 1) { grid[1] = ary[a]; cc2.dv1.Rows.Add(grid); } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -53,7 +53,8 @@ namespace UniMarc.마크 | ||||
|             dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; | ||||
|             dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; | ||||
|             this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; | ||||
|             this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dataGridView1.ColumnHeadersHeight = 35; | ||||
|             this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; | ||||
|             this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.Province, | ||||
|             this.Area, | ||||
| @@ -66,7 +67,7 @@ namespace UniMarc.마크 | ||||
|             this.dataGridView1.Name = "dataGridView1"; | ||||
|             this.dataGridView1.ReadOnly = true; | ||||
|             this.dataGridView1.RowTemplate.Height = 23; | ||||
|             this.dataGridView1.Size = new System.Drawing.Size(411, 213); | ||||
|             this.dataGridView1.Size = new System.Drawing.Size(514, 261); | ||||
|             this.dataGridView1.TabIndex = 0; | ||||
|             this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick); | ||||
|             this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint); | ||||
| @@ -88,10 +89,10 @@ namespace UniMarc.마크 | ||||
|             //  | ||||
|             // lib_name | ||||
|             //  | ||||
|             this.lib_name.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; | ||||
|             this.lib_name.HeaderText = "도서관명"; | ||||
|             this.lib_name.Name = "lib_name"; | ||||
|             this.lib_name.ReadOnly = true; | ||||
|             this.lib_name.Width = 350; | ||||
|             //  | ||||
|             // Code | ||||
|             //  | ||||
| @@ -118,7 +119,7 @@ namespace UniMarc.마크 | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(411, 213); | ||||
|             this.ClientSize = new System.Drawing.Size(514, 261); | ||||
|             this.Controls.Add(this.dataGridView1); | ||||
|             this.Name = "Check_Copy_Sub_Search"; | ||||
|             this.Text = "도서관 검색"; | ||||
|   | ||||
| @@ -1637,6 +1637,8 @@ namespace WindowsFormsApp1.Mac | ||||
|         private void btn_SiteDenote_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (URL == null) return; | ||||
|             if (URL.Contains("\"") == false) | ||||
|                 URL = $"\"{URL}\""; | ||||
|             AR.UTIL.RunExplorer(URL); | ||||
|         } | ||||
|  | ||||
|   | ||||
							
								
								
									
										80
									
								
								unimarc/unimarc/마크/Check_copyWD.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										80
									
								
								unimarc/unimarc/마크/Check_copyWD.Designer.cs
									
									
									
										generated
									
									
									
								
							| @@ -28,8 +28,9 @@ | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); | ||||
|             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); | ||||
|             this.panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.chkShowBrowser = new System.Windows.Forms.CheckBox(); | ||||
|             this.chkRetryErrData = new System.Windows.Forms.CheckBox(); | ||||
|             this.groupBox1 = new System.Windows.Forms.GroupBox(); | ||||
|             this.radTargetErr = new System.Windows.Forms.RadioButton(); | ||||
| @@ -50,7 +51,7 @@ | ||||
|             this.btn_SiteDenote = new System.Windows.Forms.Button(); | ||||
|             this.lbl_PW = new System.Windows.Forms.Label(); | ||||
|             this.lbl_ID = new System.Windows.Forms.Label(); | ||||
|             this.dataGridView1 = new System.Windows.Forms.DataGridView(); | ||||
|             this.dv1 = new System.Windows.Forms.DataGridView(); | ||||
|             this.book_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.Count = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
| @@ -66,12 +67,11 @@ | ||||
|             this.btn_GridReset = new System.Windows.Forms.Button(); | ||||
|             this.btn_OpenMemo = new System.Windows.Forms.Button(); | ||||
|             this.chk_spChar = new System.Windows.Forms.CheckBox(); | ||||
|             this.chkShowBrowser = new System.Windows.Forms.CheckBox(); | ||||
|             this.panel1.SuspendLayout(); | ||||
|             this.groupBox1.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.SearchCount)).BeginInit(); | ||||
|             this.panel2.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit(); | ||||
|             this.panel3.SuspendLayout(); | ||||
|             this.panel6.SuspendLayout(); | ||||
|             this.statusStrip1.SuspendLayout(); | ||||
| @@ -95,6 +95,16 @@ | ||||
|             this.panel1.Size = new System.Drawing.Size(637, 106); | ||||
|             this.panel1.TabIndex = 0; | ||||
|             //  | ||||
|             // chkShowBrowser | ||||
|             //  | ||||
|             this.chkShowBrowser.AutoSize = true; | ||||
|             this.chkShowBrowser.Location = new System.Drawing.Point(515, 81); | ||||
|             this.chkShowBrowser.Name = "chkShowBrowser"; | ||||
|             this.chkShowBrowser.Size = new System.Drawing.Size(96, 16); | ||||
|             this.chkShowBrowser.TabIndex = 8; | ||||
|             this.chkShowBrowser.Text = "브라우저표시"; | ||||
|             this.chkShowBrowser.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // chkRetryErrData | ||||
|             //  | ||||
|             this.chkRetryErrData.AutoSize = true; | ||||
| @@ -311,34 +321,34 @@ | ||||
|             this.lbl_ID.TabIndex = 3; | ||||
|             this.lbl_ID.Text = " "; | ||||
|             //  | ||||
|             // dataGridView1 | ||||
|             // dv1 | ||||
|             //  | ||||
|             this.dataGridView1.AllowUserToDeleteRows = false; | ||||
|             this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control; | ||||
|             this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||||
|             this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; | ||||
|             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.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3; | ||||
|             this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.dv1.AllowUserToDeleteRows = false; | ||||
|             this.dv1.BackgroundColor = System.Drawing.SystemColors.Control; | ||||
|             this.dv1.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||||
|             this.dv1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; | ||||
|             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.dv1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; | ||||
|             this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dv1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.book_name, | ||||
|             this.book_comp, | ||||
|             this.Count, | ||||
|             this.dvc_remark}); | ||||
|             this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             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(637, 542); | ||||
|             this.dataGridView1.TabIndex = 1; | ||||
|             this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint); | ||||
|             this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown); | ||||
|             this.dv1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.dv1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.dv1.Name = "dv1"; | ||||
|             this.dv1.RowTemplate.Height = 23; | ||||
|             this.dv1.Size = new System.Drawing.Size(637, 542); | ||||
|             this.dv1.TabIndex = 1; | ||||
|             this.dv1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint); | ||||
|             this.dv1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown); | ||||
|             //  | ||||
|             // book_name | ||||
|             //  | ||||
| @@ -391,7 +401,7 @@ | ||||
|             //  | ||||
|             // panel6 | ||||
|             //  | ||||
|             this.panel6.Controls.Add(this.dataGridView1); | ||||
|             this.panel6.Controls.Add(this.dv1); | ||||
|             this.panel6.Controls.Add(this.statusStrip1); | ||||
|             this.panel6.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.panel6.Location = new System.Drawing.Point(0, 174); | ||||
| @@ -480,16 +490,6 @@ | ||||
|             this.chk_spChar.Text = "특수문자 제거"; | ||||
|             this.chk_spChar.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // chkShowBrowser | ||||
|             //  | ||||
|             this.chkShowBrowser.AutoSize = true; | ||||
|             this.chkShowBrowser.Location = new System.Drawing.Point(515, 81); | ||||
|             this.chkShowBrowser.Name = "chkShowBrowser"; | ||||
|             this.chkShowBrowser.Size = new System.Drawing.Size(96, 16); | ||||
|             this.chkShowBrowser.TabIndex = 8; | ||||
|             this.chkShowBrowser.Text = "브라우저표시"; | ||||
|             this.chkShowBrowser.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // Check_copyWD | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
| @@ -507,7 +507,7 @@ | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.SearchCount)).EndInit(); | ||||
|             this.panel2.ResumeLayout(false); | ||||
|             this.panel2.PerformLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit(); | ||||
|             this.panel3.ResumeLayout(false); | ||||
|             this.panel6.ResumeLayout(false); | ||||
|             this.panel6.PerformLayout(); | ||||
| @@ -529,7 +529,7 @@ | ||||
|         private System.Windows.Forms.Button btn_Stop; | ||||
|         private System.Windows.Forms.Button btn_Start; | ||||
|         public System.Windows.Forms.TextBox tb_SearchTarget; | ||||
|         public System.Windows.Forms.DataGridView dataGridView1; | ||||
|         public System.Windows.Forms.DataGridView dv1; | ||||
|         public System.Windows.Forms.Button btn_SearchList; | ||||
|         private System.Windows.Forms.Button btn_ApplyFilter; | ||||
|         private System.Windows.Forms.Panel panel3; | ||||
|   | ||||
| @@ -27,19 +27,51 @@ namespace WindowsFormsApp1.Mac | ||||
|             main = _main; | ||||
|             db.DBcon(); | ||||
|  | ||||
|             var idx = 1; | ||||
|             //도서검색(크롤링) | ||||
|             _searchService = new BookSearchService(); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_central()); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_choisangjun()); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_dagachi()); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_Indi()); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_Student()); | ||||
|             //_searchService.AddSearcher(new KwangjuCityLibrarySearcher_Kumho()); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Munhwa(1)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Children(2)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Smart(3)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Purungil(4)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Hyocheon(5)); | ||||
|        | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Munhwa(idx++)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Children(idx++)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Smart(idx++)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Purungil(idx++)); | ||||
|             _searchService.AddSearcher(new NamguLibrarySearcher_Hyocheon(idx++)); | ||||
|  | ||||
|             //광주시청도서광 | ||||
|             idx = 30; | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_central(idx++)); | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_choisangjun(idx++)); | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_dagachi(idx++)); | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_Indi(idx++)); | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_Student(idx++)); | ||||
|             _searchService.AddSearcher(new KwangjuCityLibrarySearcher_Kumho(idx++)); | ||||
|  | ||||
|             //전남교육청통합도서관 | ||||
|             idx = 50; | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //목포 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //나주 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //남평 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //광양 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //구례 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //보성 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //벌교 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //화순 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //장흥 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //해남 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //영암 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //무안 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //함평 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //영광 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //장성 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //진도 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //곡성 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //학생교육문화원 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //광양평생 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //고흥평색 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //교육연수원 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //교육연구정보원 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //전라남도국제교육원 | ||||
|             _searchService.AddSearcher(new JunnamEduSearcher_Mokpo(idx++)); //순천만생태문화교육원 | ||||
|         } | ||||
|  | ||||
|         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) | ||||
| @@ -51,7 +83,7 @@ namespace WindowsFormsApp1.Mac | ||||
|         private void Check_copy_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             string[] Grid = { "----- 빈칸으로 놔주세요 -----", "빈칸", "" }; | ||||
|             dataGridView1.Rows.Add(Grid); | ||||
|             dv1.Rows.Add(Grid); | ||||
|  | ||||
|             this.Show(); | ||||
|             Application.DoEvents(); | ||||
| @@ -182,7 +214,7 @@ namespace WindowsFormsApp1.Mac | ||||
|             Skill_Grid sg = new Skill_Grid(); | ||||
|             sg.Excel_to_DataGridView(sender, e); | ||||
|  | ||||
|             SearchCount.Value = dataGridView1.Rows.Count; | ||||
|             SearchCount.Value = dv1.Rows.Count; | ||||
|         } | ||||
|  | ||||
|         async private void btn_Start_Click(object sender, EventArgs e) | ||||
| @@ -204,10 +236,10 @@ namespace WindowsFormsApp1.Mac | ||||
|             } | ||||
|  | ||||
|  | ||||
|             SearchCount.Value = dataGridView1.Rows.Count;   //250619 | ||||
|             SearchCount.Value = dv1.Rows.Count;   //250619 | ||||
|             RowCount = 0;   //250619 | ||||
|  | ||||
|             dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0]; | ||||
|             dv1.CurrentCell = dv1.Rows[0].Cells[0]; | ||||
|  | ||||
|             int SCount = Convert.ToInt32(SearchCount.Value); | ||||
|  | ||||
| @@ -259,7 +291,7 @@ namespace WindowsFormsApp1.Mac | ||||
|  | ||||
|  | ||||
|                 RetrySearch: | ||||
|                     foreach (DataGridViewRow drow in this.dataGridView1.Rows) | ||||
|                     foreach (DataGridViewRow drow in this.dv1.Rows) | ||||
|                     { | ||||
|                         if (this._isSearching == false) | ||||
|                         { | ||||
| @@ -267,7 +299,7 @@ namespace WindowsFormsApp1.Mac | ||||
|                             continue; | ||||
|                         } | ||||
|  | ||||
|                         dataGridView1.CurrentCell = drow.Cells[0]; | ||||
|                         dv1.CurrentCell = drow.Cells[0]; | ||||
|                         //var vBookName = drow.Cells["book_name"].Value; | ||||
|                         var bookName = drow.Cells["book_name"].Value?.ToString() ?? string.Empty; | ||||
|                         if (bookName.isEmpty()) | ||||
| @@ -376,8 +408,8 @@ namespace WindowsFormsApp1.Mac | ||||
|         { | ||||
|             if (Count == "" || Count == "0" || Count == "미소장") | ||||
|             { | ||||
|                 dataGridView1.Rows[RowCount].DefaultCellStyle.BackColor = Color.LightGray; | ||||
|                 dataGridView1.Rows[RowCount].DefaultCellStyle.ForeColor = Color.Red; | ||||
|                 dv1.Rows[RowCount].DefaultCellStyle.BackColor = Color.LightGray; | ||||
|                 dv1.Rows[RowCount].DefaultCellStyle.ForeColor = Color.Red; | ||||
|  | ||||
|                 if (rb_isHave.Checked) | ||||
|                     return ""; | ||||
| @@ -385,8 +417,8 @@ namespace WindowsFormsApp1.Mac | ||||
|                     return Count; | ||||
|             } | ||||
|  | ||||
|             dataGridView1.Rows[RowCount].DefaultCellStyle.BackColor = Color.Yellow; | ||||
|             dataGridView1.Rows[RowCount].DefaultCellStyle.ForeColor = Color.Blue; | ||||
|             dv1.Rows[RowCount].DefaultCellStyle.BackColor = Color.Yellow; | ||||
|             dv1.Rows[RowCount].DefaultCellStyle.ForeColor = Color.Blue; | ||||
|  | ||||
|             if (rb_isHave.Checked) | ||||
|                 return "소장"; | ||||
| @@ -403,7 +435,7 @@ namespace WindowsFormsApp1.Mac | ||||
|  | ||||
|         private void btn_ApplyFilter_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             int count = dataGridView1.Rows.Count; | ||||
|             int count = dv1.Rows.Count; | ||||
|  | ||||
|             if (count <= 1) | ||||
|                 return; | ||||
| @@ -422,17 +454,17 @@ namespace WindowsFormsApp1.Mac | ||||
|         { | ||||
|             for (int a = 0; a < count; a++) | ||||
|             { | ||||
|                 if (dataGridView1.Rows[a].Cells["book_name"].Value == null) | ||||
|                 if (dv1.Rows[a].Cells["book_name"].Value == null) | ||||
|                     break; | ||||
|  | ||||
|                 string Target = dataGridView1.Rows[a].Cells["book_name"].Value.ToString(); | ||||
|                 string Target = dv1.Rows[a].Cells["book_name"].Value.ToString(); | ||||
|  | ||||
|                 // 구두점 제거 ,.;:/ | ||||
|                 // Target = Target.Replace(",", "").Replace(".", "").Replace(";", "").Replace(":", ""); | ||||
|  | ||||
|                 string res = Regex.Replace(Target, @"[^a-zA-Z0-9가-힣_\s()]", "", RegexOptions.Singleline); | ||||
|  | ||||
|                 dataGridView1.Rows[a].Cells["book_name"].Value = res.Trim(); | ||||
|                 dv1.Rows[a].Cells["book_name"].Value = res.Trim(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -444,12 +476,12 @@ namespace WindowsFormsApp1.Mac | ||||
|             String_Text st = new String_Text(); | ||||
|             for (int a = 0; a < count; a++) | ||||
|             { | ||||
|                 if (dataGridView1.Rows[a].Cells["book_name"].Value == null) | ||||
|                 if (dv1.Rows[a].Cells["book_name"].Value == null) | ||||
|                     break; | ||||
|  | ||||
|                 string Target = dataGridView1.Rows[a].Cells["book_name"].Value.ToString(); | ||||
|                 string Target = dv1.Rows[a].Cells["book_name"].Value.ToString(); | ||||
|  | ||||
|                 dataGridView1.Rows[a].Cells["book_name"].Value = st.RemoveWordInBracket(Target).Trim(); | ||||
|                 dv1.Rows[a].Cells["book_name"].Value = st.RemoveWordInBracket(Target).Trim(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -458,7 +490,7 @@ namespace WindowsFormsApp1.Mac | ||||
|             OpenFileDialog OpenFileDialog = new OpenFileDialog(); | ||||
|             if (OpenFileDialog.ShowDialog() == DialogResult.OK) | ||||
|             { | ||||
|                 dataGridView1.Rows.Clear(); | ||||
|                 dv1.Rows.Clear(); | ||||
|                 string filePath = OpenFileDialog.FileName; | ||||
|                 try | ||||
|                 { | ||||
| @@ -493,23 +525,23 @@ namespace WindowsFormsApp1.Mac | ||||
|                 else | ||||
|                     GridData[0] = Line; | ||||
|  | ||||
|                 dataGridView1.Rows.Add(GridData); | ||||
|                 dv1.Rows.Add(GridData); | ||||
|             } | ||||
|         } | ||||
|         #endregion | ||||
|  | ||||
|         private void btn_GridReset_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             dataGridView1.Rows.Clear(); | ||||
|             dv1.Rows.Clear(); | ||||
|         } | ||||
|  | ||||
|         private void btn_ResultEmpty_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             for (int a = 0; a < dataGridView1.Rows.Count; a++) | ||||
|             for (int a = 0; a < dv1.Rows.Count; a++) | ||||
|             { | ||||
|                 dataGridView1.Rows[a].DefaultCellStyle.ForeColor = Color.Black; | ||||
|                 dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.White; | ||||
|                 dataGridView1.Rows[a].Cells["Count"].Value = ""; | ||||
|                 dv1.Rows[a].DefaultCellStyle.ForeColor = Color.Black; | ||||
|                 dv1.Rows[a].DefaultCellStyle.BackColor = Color.White; | ||||
|                 dv1.Rows[a].Cells["Count"].Value = ""; | ||||
|                 RowCount = 0; | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -132,7 +132,4 @@ | ||||
|   <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
| </root> | ||||
							
								
								
									
										134
									
								
								unimarc/unimarc/마크/DLS_Copy.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										134
									
								
								unimarc/unimarc/마크/DLS_Copy.Designer.cs
									
									
									
										generated
									
									
									
								
							| @@ -28,18 +28,16 @@ | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DLS_Copy)); | ||||
|             this.label1 = new System.Windows.Forms.Button(); | ||||
|             this.panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.panel8 = new System.Windows.Forms.Panel(); | ||||
|             this.dataGridView1 = new System.Windows.Forms.DataGridView(); | ||||
|             this.dv1 = new System.Windows.Forms.DataGridView(); | ||||
|             this.panel5 = new System.Windows.Forms.Panel(); | ||||
|             this.chkShowBrowser = new System.Windows.Forms.CheckBox(); | ||||
|             this.chk_RemoveBrit = new System.Windows.Forms.CheckBox(); | ||||
|             this.chk_spChar = new System.Windows.Forms.CheckBox(); | ||||
|             this.btn_ApplyFilter = new System.Windows.Forms.Button(); | ||||
|             this.panel3 = new System.Windows.Forms.Panel(); | ||||
|             this.btn_Reflesh008 = new System.Windows.Forms.Button(); | ||||
|             this.label2 = new System.Windows.Forms.Label(); | ||||
|             this.rBtn_ISBN = new System.Windows.Forms.RadioButton(); | ||||
|             this.btnStop = new System.Windows.Forms.Button(); | ||||
| @@ -55,12 +53,15 @@ | ||||
|             this.tb_SearchClient = new System.Windows.Forms.TextBox(); | ||||
|             this.statusStrip1 = new System.Windows.Forms.StatusStrip(); | ||||
|             this.lblStatus = new System.Windows.Forms.ToolStripLabel(); | ||||
|             this.btn_ResultEmpty = new System.Windows.Forms.Button(); | ||||
|             this.btn_GridReset = new System.Windows.Forms.Button(); | ||||
|             this.Book_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.ISBN = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.Check = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.dvc_count = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.dvc_Remark = new System.Windows.Forms.DataGridViewTextBoxColumn(); | ||||
|             this.panel1.SuspendLayout(); | ||||
|             this.panel8.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit(); | ||||
|             this.panel5.SuspendLayout(); | ||||
|             this.panel3.SuspendLayout(); | ||||
|             this.panel2.SuspendLayout(); | ||||
| @@ -87,48 +88,50 @@ | ||||
|             this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.panel1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.panel1.Name = "panel1"; | ||||
|             this.panel1.Size = new System.Drawing.Size(499, 712); | ||||
|             this.panel1.Size = new System.Drawing.Size(640, 699); | ||||
|             this.panel1.TabIndex = 1; | ||||
|             //  | ||||
|             // panel8 | ||||
|             //  | ||||
|             this.panel8.Controls.Add(this.dataGridView1); | ||||
|             this.panel8.Controls.Add(this.dv1); | ||||
|             this.panel8.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.panel8.Location = new System.Drawing.Point(0, 103); | ||||
|             this.panel8.Name = "panel8"; | ||||
|             this.panel8.Size = new System.Drawing.Size(497, 607); | ||||
|             this.panel8.Size = new System.Drawing.Size(638, 594); | ||||
|             this.panel8.TabIndex = 5; | ||||
|             //  | ||||
|             // dataGridView1 | ||||
|             // dv1 | ||||
|             //  | ||||
|             this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control; | ||||
|             this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; | ||||
|             this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.dv1.BackgroundColor = System.Drawing.SystemColors.Control; | ||||
|             this.dv1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; | ||||
|             this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | ||||
|             this.dv1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { | ||||
|             this.Book_name, | ||||
|             this.ISBN, | ||||
|             this.Check}); | ||||
|             this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.dataGridView1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.dataGridView1.Name = "dataGridView1"; | ||||
|             this.dataGridView1.RowHeadersWidth = 31; | ||||
|             this.dataGridView1.RowTemplate.Height = 23; | ||||
|             this.dataGridView1.Size = new System.Drawing.Size(497, 607); | ||||
|             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); | ||||
|             this.dvc_count, | ||||
|             this.dvc_Remark}); | ||||
|             this.dv1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.dv1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.dv1.Name = "dv1"; | ||||
|             this.dv1.RowHeadersWidth = 31; | ||||
|             this.dv1.RowTemplate.Height = 23; | ||||
|             this.dv1.Size = new System.Drawing.Size(638, 594); | ||||
|             this.dv1.TabIndex = 0; | ||||
|             this.dv1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint); | ||||
|             this.dv1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown); | ||||
|             //  | ||||
|             // panel5 | ||||
|             //  | ||||
|             this.panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; | ||||
|             this.panel5.Controls.Add(this.chkShowBrowser); | ||||
|             this.panel5.Controls.Add(this.btn_ResultEmpty); | ||||
|             this.panel5.Controls.Add(this.btn_GridReset); | ||||
|             this.panel5.Controls.Add(this.chk_RemoveBrit); | ||||
|             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, 68); | ||||
|             this.panel5.Name = "panel5"; | ||||
|             this.panel5.Size = new System.Drawing.Size(497, 35); | ||||
|             this.panel5.Size = new System.Drawing.Size(638, 35); | ||||
|             this.panel5.TabIndex = 4; | ||||
|             //  | ||||
|             // chkShowBrowser | ||||
| @@ -137,7 +140,7 @@ | ||||
|             this.chkShowBrowser.AutoSize = true; | ||||
|             this.chkShowBrowser.Checked = true; | ||||
|             this.chkShowBrowser.CheckState = System.Windows.Forms.CheckState.Checked; | ||||
|             this.chkShowBrowser.Location = new System.Drawing.Point(395, 7); | ||||
|             this.chkShowBrowser.Location = new System.Drawing.Point(354, 9); | ||||
|             this.chkShowBrowser.Name = "chkShowBrowser"; | ||||
|             this.chkShowBrowser.Size = new System.Drawing.Size(96, 16); | ||||
|             this.chkShowBrowser.TabIndex = 209; | ||||
| @@ -157,7 +160,7 @@ | ||||
|             // chk_spChar | ||||
|             //  | ||||
|             this.chk_spChar.AutoSize = true; | ||||
|             this.chk_spChar.Location = new System.Drawing.Point(10, 9); | ||||
|             this.chk_spChar.Location = new System.Drawing.Point(10, 8); | ||||
|             this.chk_spChar.Name = "chk_spChar"; | ||||
|             this.chk_spChar.Size = new System.Drawing.Size(100, 16); | ||||
|             this.chk_spChar.TabIndex = 4; | ||||
| @@ -167,17 +170,18 @@ | ||||
|             // btn_ApplyFilter | ||||
|             //  | ||||
|             this.btn_ApplyFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); | ||||
|             this.btn_ApplyFilter.Location = new System.Drawing.Point(314, 3); | ||||
|             this.btn_ApplyFilter.Location = new System.Drawing.Point(258, 4); | ||||
|             this.btn_ApplyFilter.Name = "btn_ApplyFilter"; | ||||
|             this.btn_ApplyFilter.Size = new System.Drawing.Size(75, 24); | ||||
|             this.btn_ApplyFilter.TabIndex = 5; | ||||
|             this.btn_ApplyFilter.Text = "필터적용"; | ||||
|             this.btn_ApplyFilter.UseVisualStyleBackColor = true; | ||||
|             this.btn_ApplyFilter.Click += new System.EventHandler(this.btn_ApplyFilter_Click); | ||||
|             //  | ||||
|             // panel3 | ||||
|             //  | ||||
|             this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; | ||||
|             this.panel3.Controls.Add(this.btn_Reflesh008); | ||||
|             this.panel3.Controls.Add(this.chkShowBrowser); | ||||
|             this.panel3.Controls.Add(this.label2); | ||||
|             this.panel3.Controls.Add(this.rBtn_ISBN); | ||||
|             this.panel3.Controls.Add(this.btnStop); | ||||
| @@ -186,22 +190,9 @@ | ||||
|             this.panel3.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.panel3.Location = new System.Drawing.Point(0, 33); | ||||
|             this.panel3.Name = "panel3"; | ||||
|             this.panel3.Size = new System.Drawing.Size(497, 35); | ||||
|             this.panel3.Size = new System.Drawing.Size(638, 35); | ||||
|             this.panel3.TabIndex = 4; | ||||
|             //  | ||||
|             // btn_Reflesh008 | ||||
|             //  | ||||
|             this.btn_Reflesh008.BackColor = System.Drawing.SystemColors.WindowText; | ||||
|             this.btn_Reflesh008.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btn_Reflesh008.BackgroundImage"))); | ||||
|             this.btn_Reflesh008.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; | ||||
|             this.btn_Reflesh008.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.btn_Reflesh008.Location = new System.Drawing.Point(462, 0); | ||||
|             this.btn_Reflesh008.Name = "btn_Reflesh008"; | ||||
|             this.btn_Reflesh008.Size = new System.Drawing.Size(33, 33); | ||||
|             this.btn_Reflesh008.TabIndex = 208; | ||||
|             this.btn_Reflesh008.UseVisualStyleBackColor = false; | ||||
|             this.btn_Reflesh008.Click += new System.EventHandler(this.btn_Reflesh008_Click); | ||||
|             //  | ||||
|             // label2 | ||||
|             //  | ||||
|             this.label2.AutoSize = true; | ||||
| @@ -267,13 +258,13 @@ | ||||
|             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(497, 33); | ||||
|             this.panel2.Size = new System.Drawing.Size(638, 33); | ||||
|             this.panel2.TabIndex = 3; | ||||
|             //  | ||||
|             // btn_SiteDenote | ||||
|             //  | ||||
|             this.btn_SiteDenote.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); | ||||
|             this.btn_SiteDenote.Location = new System.Drawing.Point(414, 5); | ||||
|             this.btn_SiteDenote.Location = new System.Drawing.Point(555, 5); | ||||
|             this.btn_SiteDenote.Name = "btn_SiteDenote"; | ||||
|             this.btn_SiteDenote.Size = new System.Drawing.Size(77, 23); | ||||
|             this.btn_SiteDenote.TabIndex = 6; | ||||
| @@ -284,7 +275,7 @@ | ||||
|             // btn_Connect | ||||
|             //  | ||||
|             this.btn_Connect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); | ||||
|             this.btn_Connect.Location = new System.Drawing.Point(338, 5); | ||||
|             this.btn_Connect.Location = new System.Drawing.Point(479, 5); | ||||
|             this.btn_Connect.Name = "btn_Connect"; | ||||
|             this.btn_Connect.Size = new System.Drawing.Size(70, 23); | ||||
|             this.btn_Connect.TabIndex = 5; | ||||
| @@ -335,7 +326,7 @@ | ||||
|             this.tb_SearchClient.ImeMode = System.Windows.Forms.ImeMode.Hangul; | ||||
|             this.tb_SearchClient.Location = new System.Drawing.Point(76, 6); | ||||
|             this.tb_SearchClient.Name = "tb_SearchClient"; | ||||
|             this.tb_SearchClient.Size = new System.Drawing.Size(256, 21); | ||||
|             this.tb_SearchClient.Size = new System.Drawing.Size(397, 21); | ||||
|             this.tb_SearchClient.TabIndex = 1; | ||||
|             this.tb_SearchClient.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_SearchClient_KeyDown); | ||||
|             //  | ||||
| @@ -343,9 +334,9 @@ | ||||
|             //  | ||||
|             this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
|             this.lblStatus}); | ||||
|             this.statusStrip1.Location = new System.Drawing.Point(0, 712); | ||||
|             this.statusStrip1.Location = new System.Drawing.Point(0, 699); | ||||
|             this.statusStrip1.Name = "statusStrip1"; | ||||
|             this.statusStrip1.Size = new System.Drawing.Size(499, 22); | ||||
|             this.statusStrip1.Size = new System.Drawing.Size(640, 22); | ||||
|             this.statusStrip1.TabIndex = 3; | ||||
|             this.statusStrip1.Text = "statusStrip1"; | ||||
|             //  | ||||
| @@ -356,6 +347,26 @@ | ||||
|             this.lblStatus.Text = "WD"; | ||||
|             this.lblStatus.Click += new System.EventHandler(this.lblStatus_Click); | ||||
|             //  | ||||
|             // btn_ResultEmpty | ||||
|             //  | ||||
|             this.btn_ResultEmpty.Location = new System.Drawing.Point(478, 4); | ||||
|             this.btn_ResultEmpty.Name = "btn_ResultEmpty"; | ||||
|             this.btn_ResultEmpty.Size = new System.Drawing.Size(75, 24); | ||||
|             this.btn_ResultEmpty.TabIndex = 6; | ||||
|             this.btn_ResultEmpty.Text = "결과 비움"; | ||||
|             this.btn_ResultEmpty.UseVisualStyleBackColor = true; | ||||
|             this.btn_ResultEmpty.Click += new System.EventHandler(this.btn_ResultEmpty_Click); | ||||
|             //  | ||||
|             // btn_GridReset | ||||
|             //  | ||||
|             this.btn_GridReset.Location = new System.Drawing.Point(555, 4); | ||||
|             this.btn_GridReset.Name = "btn_GridReset"; | ||||
|             this.btn_GridReset.Size = new System.Drawing.Size(75, 24); | ||||
|             this.btn_GridReset.TabIndex = 7; | ||||
|             this.btn_GridReset.Text = "표 비우기"; | ||||
|             this.btn_GridReset.UseVisualStyleBackColor = true; | ||||
|             this.btn_GridReset.Click += new System.EventHandler(this.btn_GridReset_Click); | ||||
|             //  | ||||
|             // Book_name | ||||
|             //  | ||||
|             this.Book_name.HeaderText = "도서명"; | ||||
| @@ -369,17 +380,22 @@ | ||||
|             this.ISBN.Name = "ISBN"; | ||||
|             this.ISBN.Width = 140; | ||||
|             //  | ||||
|             // Check | ||||
|             // dvc_count | ||||
|             //  | ||||
|             this.Check.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; | ||||
|             this.Check.HeaderText = "권수"; | ||||
|             this.Check.Name = "Check"; | ||||
|             this.dvc_count.HeaderText = "검색"; | ||||
|             this.dvc_count.Name = "dvc_count"; | ||||
|             //  | ||||
|             // dvc_Remark | ||||
|             //  | ||||
|             this.dvc_Remark.HeaderText = "비고"; | ||||
|             this.dvc_Remark.Name = "dvc_Remark"; | ||||
|             this.dvc_Remark.Width = 200; | ||||
|             //  | ||||
|             // DLS_Copy | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(499, 734); | ||||
|             this.ClientSize = new System.Drawing.Size(640, 721); | ||||
|             this.Controls.Add(this.panel1); | ||||
|             this.Controls.Add(this.statusStrip1); | ||||
|             this.Name = "DLS_Copy"; | ||||
| @@ -387,7 +403,7 @@ | ||||
|             this.Load += new System.EventHandler(this.DLS_Copy_Load); | ||||
|             this.panel1.ResumeLayout(false); | ||||
|             this.panel8.ResumeLayout(false); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit(); | ||||
|             this.panel5.ResumeLayout(false); | ||||
|             this.panel5.PerformLayout(); | ||||
|             this.panel3.ResumeLayout(false); | ||||
| @@ -411,14 +427,13 @@ | ||||
|         public System.Windows.Forms.Label lbl_PW; | ||||
|         public System.Windows.Forms.Label lbl_ID; | ||||
|         public System.Windows.Forms.Label lbl_Client; | ||||
|         private System.Windows.Forms.DataGridView dataGridView1; | ||||
|         private System.Windows.Forms.DataGridView dv1; | ||||
|         private System.Windows.Forms.Panel panel5; | ||||
|         private System.Windows.Forms.RadioButton rBtn_ISBN; | ||||
|         private System.Windows.Forms.RadioButton rBtn_BookName; | ||||
|         private System.Windows.Forms.Label label2; | ||||
|         private System.Windows.Forms.Button btn_Search; | ||||
|         public System.Windows.Forms.Label lbl_Area; | ||||
|         private System.Windows.Forms.Button btn_Reflesh008; | ||||
|         private System.Windows.Forms.CheckBox chk_RemoveBrit; | ||||
|         private System.Windows.Forms.Button btn_ApplyFilter; | ||||
|         private System.Windows.Forms.CheckBox chk_spChar; | ||||
| @@ -429,8 +444,11 @@ | ||||
|         private System.Windows.Forms.StatusStrip statusStrip1; | ||||
|         private System.Windows.Forms.ToolStripLabel lblStatus; | ||||
|         public System.Windows.Forms.Button btn_Connect; | ||||
|         private System.Windows.Forms.Button btn_ResultEmpty; | ||||
|         private System.Windows.Forms.Button btn_GridReset; | ||||
|         private System.Windows.Forms.DataGridViewTextBoxColumn Book_name; | ||||
|         private System.Windows.Forms.DataGridViewTextBoxColumn ISBN; | ||||
|         private System.Windows.Forms.DataGridViewTextBoxColumn Check; | ||||
|         private System.Windows.Forms.DataGridViewTextBoxColumn dvc_count; | ||||
|         private System.Windows.Forms.DataGridViewTextBoxColumn dvc_Remark; | ||||
|     } | ||||
| } | ||||
| @@ -6,6 +6,7 @@ using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Text.RegularExpressions; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows.Forms; | ||||
| using UniMarc.SearchModel; | ||||
| @@ -190,12 +191,12 @@ namespace WindowsFormsApp1.Mac | ||||
|  | ||||
|         async private void btn_Search_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (dataGridView1.Rows[0].Cells["ISBN"].Value == null && rBtn_ISBN.Checked) | ||||
|             if (dv1.Rows[0].Cells["ISBN"].Value == null && rBtn_ISBN.Checked) | ||||
|             { | ||||
|                 MessageBox.Show("ISBN이 입력되지않았습니다!"); | ||||
|                 return; | ||||
|             } | ||||
|             if (dataGridView1.Rows[0].Cells["Book_name"].Value == null && rBtn_BookName.Checked) | ||||
|             if (dv1.Rows[0].Cells["Book_name"].Value == null && rBtn_BookName.Checked) | ||||
|             { | ||||
|                 MessageBox.Show("도서명이 입력되지않았습니다!"); | ||||
|                 return; | ||||
| @@ -208,7 +209,7 @@ namespace WindowsFormsApp1.Mac | ||||
|             var sType = rBtn_ISBN.Checked ? "ea_isbn" : "title"; | ||||
|             _searcher.SetParameter(this.lbl_ID.Text, lbl_PW.Text, "유덕초등학교", sType); | ||||
|  | ||||
|             foreach (DataGridViewRow dr in this.dataGridView1.Rows) | ||||
|             foreach (DataGridViewRow dr in this.dv1.Rows) | ||||
|             { | ||||
|                 var title = dr.Cells[0].Value?.ToString() ?? string.Empty; | ||||
|                 var isbn = dr.Cells[1].Value?.ToString() ?? string.Empty; | ||||
| @@ -216,12 +217,17 @@ namespace WindowsFormsApp1.Mac | ||||
|                 var rlt = await _searcher.SearchAsync(search); | ||||
|                 if (rlt.IsSuccess == false) | ||||
|                 { | ||||
|                     dr.Cells[2].Value = rlt.ErrorMessage; | ||||
|                     dr.Cells[3].Value = rlt.ErrorMessage; | ||||
|                     dr.DefaultCellStyle.BackColor = Color.HotPink; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     //if (rlt.BookCount > 0) dr.Cells[2].Value = "Y"; | ||||
|                     dr.Cells[2].Value = $"{rlt.BookCount }"; | ||||
|                     if (rlt.BookCount == 0) | ||||
|                         dr.DefaultCellStyle.BackColor = Color.WhiteSmoke; | ||||
|                     else | ||||
|                         dr.DefaultCellStyle.BackColor = Color.LightSkyBlue; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @@ -283,10 +289,10 @@ namespace WindowsFormsApp1.Mac | ||||
|  | ||||
|         private void btn_Reflesh008_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             for (int a = 0; a < dataGridView1.Rows.Count; a++) | ||||
|             for (int a = 0; a < dv1.Rows.Count; a++) | ||||
|             { | ||||
|                 dataGridView1.Rows[a].Cells["Check"].Value = ""; | ||||
|                 dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.White; | ||||
|                 dv1.Rows[a].Cells["Check"].Value = ""; | ||||
|                 dv1.Rows[a].DefaultCellStyle.BackColor = Color.White; | ||||
|             } | ||||
|  | ||||
|         } | ||||
| @@ -323,10 +329,79 @@ namespace WindowsFormsApp1.Mac | ||||
|             "9788999729188", | ||||
|             "9788999729188"}; | ||||
|  | ||||
|             this.dataGridView1.Rows.Clear(); | ||||
|             this.dv1.Rows.Clear(); | ||||
|             foreach (var isbn in lst) | ||||
|             { | ||||
|                 dataGridView1.Rows.Add(new object[] { "", isbn, "" }); | ||||
|                 dv1.Rows.Add(new object[] { "", isbn, "","" }); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void btn_GridReset_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             dv1.Rows.Clear(); | ||||
|         } | ||||
|  | ||||
|         private void btn_ResultEmpty_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             for (int a = 0; a < dv1.Rows.Count; a++) | ||||
|             { | ||||
|                 dv1.Rows[a].DefaultCellStyle.ForeColor = Color.Black; | ||||
|                 dv1.Rows[a].DefaultCellStyle.BackColor = Color.White; | ||||
|                 dv1.Rows[a].Cells["dvc_count"].Value = ""; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void btn_ApplyFilter_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             int count = dv1.Rows.Count; | ||||
|  | ||||
|             if (count <= 1) | ||||
|                 return; | ||||
|  | ||||
|             if (chk_spChar.Checked)         // 특수문자 제거 | ||||
|                 RemoveSpecialChar(count); | ||||
|  | ||||
|             if (chk_RemoveBrit.Checked)     // 괄호안의 문자 제거 | ||||
|                 RemoveInBrit(count); | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 특수문자 제거 | ||||
|         /// </summary> | ||||
|         void RemoveSpecialChar(int count) | ||||
|         { | ||||
|             var booknamecol = 0; | ||||
|             for (int a = 0; a < count; a++) | ||||
|             { | ||||
|                 if (dv1.Rows[a].Cells[booknamecol].Value == null) | ||||
|                     break; | ||||
|  | ||||
|                 string Target = dv1.Rows[a].Cells[booknamecol].Value.ToString(); | ||||
|  | ||||
|                 // 구두점 제거 ,.;:/ | ||||
|                 // Target = Target.Replace(",", "").Replace(".", "").Replace(";", "").Replace(":", ""); | ||||
|  | ||||
|                 string res = Regex.Replace(Target, @"[^a-zA-Z0-9가-힣_\s()]", "", RegexOptions.Singleline); | ||||
|  | ||||
|                 dv1.Rows[a].Cells[booknamecol].Value = res.Trim(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// 괄호안의 문자 제거 | ||||
|         /// </summary> | ||||
|         void RemoveInBrit(int count) | ||||
|         { | ||||
|             var booknamecol = 0; | ||||
|             String_Text st = new String_Text(); | ||||
|             for (int a = 0; a < count; a++) | ||||
|             { | ||||
|                 if (dv1.Rows[a].Cells[booknamecol].Value == null) | ||||
|                     break; | ||||
|  | ||||
|                 string Target = dv1.Rows[a].Cells[booknamecol].Value.ToString(); | ||||
|  | ||||
|                 dv1.Rows[a].Cells[booknamecol].Value = st.RemoveWordInBracket(Target).Trim(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -123,48 +123,12 @@ | ||||
|   <metadata name="ISBN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>True</value> | ||||
|   </metadata> | ||||
|   <metadata name="Check.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|   <metadata name="dvc_count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>True</value> | ||||
|   </metadata> | ||||
|   <metadata name="dvc_Remark.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>True</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="btn_Reflesh008.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAABGdBTUEAALGPC/xhBQAAAIFQTFRF//// | ||||
|         AAAAlJSU4ODgU1NT6enp+Pj4w8PDxMTEkpKS/Pz81tbW5eXlRERE3NzcmZmZzMzMZGRkTU1Nb29vg4OD | ||||
|         urq6KioqW1tb8vLyf39/sbGxEhISPz8/i4uL0NDQZmZmIyMjoqKiNTU1tLS0GRkZp6end3d3Li4uOjo6 | ||||
|         Dg4OJSUlLUB5vgAABwxJREFUeF7tnX97ojAMx6ceIqDi/DXndJ47vZt7/y/wFOMUSKG0SWE8+fxz9zxl | ||||
|         ZN8BaZq26ZMgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCELrWHnDsb8+7uNuvD+u/fHQW0GLOT34t276kb99 | ||||
|         nn51siynu60f9eEqA7Zb+E+d9P1g9AaKcN42gR/C1dUIOl34X12E43gDMsrYxGP4IX26nZoVRtt/8Ovr | ||||
|         8bmtJvIssE6Fq/3n9feuxOao73wuAutTGD0nv7AJM80HmQisS6E/TaybMh3AfYq4CqxH4ULXuagp1wgC | ||||
|         61A4MPn88kzf4X44N4HuFQ5/gWV7dh7cE+FboGuF/S3YpSFWhQF3gY4VTqp1f+V8RnDnNA8C3Sr8C0Yp | ||||
|         wcLOR4EuFUYnsEnLMjd4SAl0qDAGi/SswQKQFuhMYWgewpTzF4wkZAS6Ujj8DfZ4+LzHqlmBjhROwBob | ||||
|         p1uomhPoRuEajJUzms3jtT+JxtHEP3bnM/3w7hrF5QU6UbgHW8V8BAsvl60I+8M/2w+4opjF+XJEoAuF | ||||
|         mNkMy3lhIB0uZhrf8RG3xK8wAEtKvrZ4YJJmMitO5ZzB3TW7wrIn+OLrJtJWa73XNQO3wpJvcFYtmzkY | ||||
|         wc9VgFnhHzCDMysY/iiYVNbIq/AdrKC8VE8OXlhUHJ+wKvTACMZJJ9WCEpb6rhScCsN8kv6bV7MU9pVe | ||||
|         lTwPp8IZ2MhzmMAlpmj0sTcYFard6LP9jNKktHe8wadwDBbyBHCFFStdp8qnUBlnGbuYDJo5ETaFr2Ag | ||||
|         y5tOiKaHnk/lUqjqCQ9DuIACrUELk8JQEUIe7H3MI8Uh0xUmhQpvTixQK7vFo1ARzLxRvqJntHpFHoU7 | ||||
|         uHsGOieToNftsyhUuBkfmonQjGtYFOLTn8SmdAM3DoV47vAZWonQFciiEH2ExG5UWyCHQvwR2o4m0ugL | ||||
|         5FD4ArdO8QqNNFQQyKCwB3dOcbIZ8OaoIpBBIRryU40nEioJpFfYhxuneIFGEqoJpFeIzsKYZdVwKgqk | ||||
|         V4h1FTNoo6CqQHKFqJ+pnvhVUi2TeIFaITaeIXyElZ8gvUIsP0S30tpAILVCbGBI50hNBFIrPMJtHyEb | ||||
|         NBkJpFaIRGxLi4X2KcwEUiuEuz5CtRvAUCCxQmxwT5S6MBVIrBD5DP9BkyXGAokVIp/hHJrsMBdIrBCZ | ||||
|         qyAZVVSPZO6QKhzCTR+BJitsBNIqRBzNBppssHhFz5AqRBwNwVyhnUBahcjw/rLazA6rV/QMqULElVoP | ||||
|         nGwF0sw430AGFrYhWzjuWUKZp10dQNadETS1BGToRJm/aABId0gT0TQGJEcTQ1NLQCYsMlshfjoLkPUA | ||||
|         8aRo3SAKaWecagdJdxPP3NcNEpZSpvMbQPufYfu/w/b70vb3h+2Padofl7Z/bNH+8SHHGL9hcORpmgVL | ||||
|         rq1R8ORLmwRTzrtBcM1bNAiuuafmwDZ/2BgQV7OEppbAOI/fFEDVI+5e02D6Kwc00YFs+idbT1PGCqnw | ||||
|         k6rrQgLyITob52PbvOhDKt51bcVgiwYZ3h9sAa2bKrARWHuEeBdLAvP60gKQvpglTcS9RliJO8Pc67xV | ||||
|         YKVbdtBGC/tafRx0QyBPTMy/3wIFqzd5gjZq0D0z3H0ikm7nS9Zig0TifU850BenQ7yt+g7mton3rmVB | ||||
|         3xv6iO2Gi/2HaQZgIw1joOFiD+kjWMjN1VVccbIP+AH0s+DtodCHyJZYxAv3cj5CRffL1WWgHUWnQ1y+ | ||||
|         IYubmgoJir8md2ZBURfjRP+HRQPuM+yJBcXKZXKH6inKRfHProeKuuvEEhXvSmcK7ZwoPg/aAi69/JTs | ||||
|         FSdZBQd1opTlsx2tj1DW+qLqNHy4Xw5X813qem00+wPUi/idzTuz1txb4aHaBYfTzuq6iW+2I42Jysdw | ||||
|         j9MyLMEoglXty1Dlxs64Xd+i6q4unMwdjl9wBMHB8fIWVa+YYFiDdqz+As84X7JLXkfYQxMW39Qwp05b | ||||
|         C7qndl4JtazeKds9qF/PO/QL388zR7jSMaXb677mOoFcNC+tAb2HS52jsQe0pK7+02Be0PHcqOkJXtAq | ||||
|         M9r5xM5GeOp7i0Cv8nOtC64rnW/RPSbnW7z763g+0y0WXPua+cJ+kYTa17R4BcXLCfjgSzdrEyrSbyQ0 | ||||
|         ZDU533lPNTrRNJF6xGPD7ybtHiuOKc1wOhwsh/zsvI/GbR0jPv8w4J1aNmNYFj7r88I8+2LMwP6c1Quj | ||||
|         Ju9tJDhLdtT0jRy+fsCJMao5CtXC5kznn7Kw2tubvKyb+EdtpYo0z8W7sdRKBzSLcBzrfpIf8biJ3Z8O | ||||
|         fT8YFR/9c9gE2gmrptKP/O3zNJ+N+Zrutovop6u7s/KG48H6uI+78X6/9qOh14ChrSAIgiAIgiAIgiAI | ||||
|         giAIgiAIgiAIgiAIAilPT/8BzuZT5uV+S2QAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Arin(asus)
					Arin(asus)