Compare commits

...

28 Commits

Author SHA1 Message Date
a36372b17c 납품처관리에. 저자기호, 및 분류기호 관련 컬럼 5개 추가 DB-CRUD 2025-10-22 22:52:34 +09:00
7d1286b7a7 필드없고 지시기호만 있는데이터도 필터링 2025-10-11 14:31:24 +09:00
2835f8d14e remove files
마크문자열 변환시 1d 1e 1f와  빈 값이 있는 태그 삭제 함
2025-10-11 00:43:19 +09:00
bbc47c50db Marc_Plan: 범위 입력받아 여러 행 삭제 기능 추가
- toolStripButton1_Click 메서드에 범위 삭제 기능 구현
- InputBox로 "1~100" 형식의 범위 입력 받음
- 입력 형식 검증 및 범위 유효성 확인
- 뒤에서부터 삭제하여 인덱스 오류 방지
- 디버그 모드에서만 toolStrip 표시하도록 설정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 00:40:55 +09:00
12f190a0b8 DLS 검색 개선 및 복본조사 서브 셀렉터 기능 추가
- DLS 검색기에 고창군립도서관, 대불대학도서관 추가
- Check_Copy_Sub_Selector 폼 추가 (도서관별 상세 선택 기능)
- 복본조사 화면 UI 개선 (체크박스 간격 조정)
- 버전 정보 업데이트 (1.4.1.7 → 1.4.1.8)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 23:53:03 +09:00
1ae2b93490 전라남도립도서관 검색기 구현
- JeonnamProvLibSearcher.cs 추가 (HTTP 방식)
- 실제 사이트 URL 파라미터 구조 분석 및 적용
- HTML 결과 패턴 정규식 구현 (<font>전체 N</font>개가 검색되었습니다)
- Check_copyWD.cs에 검색기 등록
- 버전 업데이트 (2025.09.17.2300)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 22:35:06 +09:00
216311b558 검색결과 없음 HTML 추출 개선 및 도서관별 지연시간 저장 기능 구현
- 모든 도서관 검색기에서 검색결과 없음시 구체적인 HTML 조각 추출
- BookSearchResult에 Resulthtml 속성 추가하여 매칭된 HTML 컨텍스트 저장
- Helper_LibraryDelaySettings.cs 추가로 도서관별 검색 지연시간 XML 저장
- Check_copyWD.cs에 dvc_resulthtml 컬럼 표시 및 지연시간 저장 UI 구현
- 15개 SearchModel 파일에서 htmlContent 1000자 자르기를 의미있는 메시지로 교체
- HTTP 검색기들에 한글 인코딩 문제 해결을 위한 헤더 개선

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 23:39:04 +09:00
Arin(asus)
c0e6c9039e add claude info 2025-09-03 20:29:10 +09:00
Arin(asus)
65065442a1 고창군립도서관 검색기 구현 및 라이선스 기간 연장
- GochangLibSearcher.cs: 고창군립도서관 HTTP API 검색기 추가
- 고창군립도서관 및 산하 9개 분관 검색 대상에 등록
- 라이선스 기간 2025.12.30까지 연장
- 어셈블리 버전 2025.09.03.2030으로 업데이트

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-03 20:28:34 +09:00
8e7df6f68d 광주시립통합도서관 검색시간 15->30, 대기시간+1초 추가 (나유민) 2025-09-02 23:19:45 +09:00
8f74fb5557 알라딘데이터추출시 버퍼꼬이는 증상 수정 2025-09-02 23:08:49 +09:00
SeungHo Yang
0cc71611d0 가격에 값이 없는 경우 발생하는 null 오류 수정 2025-08-20 20:43:34 +09:00
405c1d9c46 구두점 적용 로직 개선: ▼d/▼e 필드 세미콜론 적용 규칙 수정 2025-08-19 22:51:02 +09:00
Arin(asus)
e815c02feb 빌드버젼업 2025-08-14 22:58:06 +09:00
Arin(asus)
e2ae5d2937 매크로 113번 추가 2025-08-14 22:56:17 +09:00
SeungHo Yang
d3d4b977e6 .. 2025-08-14 18:23:55 +09:00
SeungHo Yang
c327030973 ISBN검색프로그램 null 오류 수정
ISBN검색프로그램 프로젝트 폴더 위치 정리
ISBN검색프로그램 설치 파일 업데이트
2025-08-14 18:23:22 +09:00
Arin(asus)
9f892f7aec 크롤링도서관 idx 초기화 작업 2025-08-14 16:53:43 +09:00
Arin(asus)
b364ffc054 feat: 크롤링 1차 완료 - 400개 이상 도서관 목록 완성
추가된 도서관 시스템:
• 광주남구도서관 (5개관)
• 광주시교육청통합도서관 (6개관)
• 전남교육청통합도서관 (25개관)
• 전남교육청행정자료실 (1개관)
• 여수시립도서관 (34개관)
• 고흥군립도서관 (7개관)
• 광주북구통합도서관 (3개관)
• 광주북구작은도서관 (23개관)
• 광주북구공공도서관 (5개관)
• 전북교육청도서관 (18개관)
• 광주광산구통합도서관 (17개관)
• 목포시립도서관 (23개관)
• 순천시립도서관 (10개관)
• 광주시립도서관 (4개관)
• 완도군립도서관 (6개관)
• 익산시통합도서관 (33개관)
• 안산시중앙도서관 (27개관)
• 광주서구구립도서관 (4개관)
• 광주서구스마트도서관 (4개관)
• 광주서구작은도서관 (5개관)
• 광주동구도서관 (5개관)
• 경남대표도서관 (1개관)
• 무안군립도서관 (1개관)
• 조선대학교중앙도서관 (1개관)
• 조선이공대학교도서관 (1개관)
• KCM통합도서관 (33개관)

총 400개 이상 도서관 복본조사 시스템 완성
HTTP API 방식 및 Selenium 크롤링 방식 혼용
브라우저 헤더 최적화 및 80% 화면배율 적용

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 16:23:46 +09:00
Arin(asus)
a5d6309c38 fix 광주동구검색기 2025-08-14 14:47:20 +09:00
Arin(asus)
02fe9c4eb9 feat: 도서관 검색기 최적화 및 브라우저 헤더 통일화
- 경남대표도서관 검색기를 직접 URL 네비게이션 방식으로 수정하여 JavaScript 변수 문제 해결
- HttpApiMode가 true인 모든 검색기에 표준 브라우저 헤더 적용 (목포, 여수, 광산, 동구, 익산, 완도)
- Selenium 기반 검색기의 80% 브라우저 배율 설정 유지

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 14:46:00 +09:00
Arin(asus)
44f6c748e5 fix: 안산시 도서관 검색기 대폭 개선
- 도서관 선택 로직 완전 재작성 (체크박스 상태 정확히 확인)
- 검색어 입력 개선 (ElementNotInteractableException 해결)
  * 요소 상호작용 가능성 확인 및 스크롤
  * readonly 속성 제거 및 포커스 설정
  * JavaScript 대체 입력 방법 추가
- 검색 실행 4단계 백업 방법 구현
  * JavaScript Enter 이벤트 발생
  * 폼 직접 제출
  * JavaScript 버튼 클릭
  * URL 직접 이동
- 검색 결과 추출 안산시 특화 (span.count.gothic em)
- 상세한 디버깅 로그 추가로 문제 진단 개선

안산시 도서관 사이트의 특수한 제약사항 모두 우회

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 12:17:11 +09:00
Arin(asus)
946957bab2 feat: 도서관 검색 시스템 대폭 확장 및 크롤링 가이드 추가
- 새로운 도서관 검색기 15개 추가 (HTTP/Selenium 방식)
  * HTTP 방식: 순천시립, 목포시립, 광산구, 여수시립
  * Selenium 방식: 광주시립, 고흥군립, 북구통합, 전북교육청, 안산시립 등
- 도서관 검색기 작성 가이드를 CLAUDE.md에 추가
- ILibrarySearcher 인터페이스에 HttpApiMode 속성 추가
- 기존 검색기들 리팩토링 및 통합 (NamguLibrarySearcher 등)
- Check_copyWD.cs에 모든 새로운 도서관 등록 완료
- 설정 관리 시스템 개선 (UserSetting 클래스 추가)

총 200개 이상의 도서관 지원으로 복본조사 범위 대폭 확대

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 01:21:33 +09:00
f3715253a8 .. 2025-08-13 18:39:23 +09:00
Arin(asus)
0c190e112f feat: DLS 복본조사 개선 및 개발자용 DB 편집 기능 추가
- 전남교육청 도서관 검색 기능 추가 (JunnamEduSearcher)
- 개발자용 데이터베이스 편집 도구 추가 (디버그 모드에서만 표시)
- UI 개선: 브라우저 표시 옵션, 검색 결과 표시 개선
- Helper_DB에 CreateConnection 메서드 추가
- URL 처리 개선 (따옴표 자동 추가)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 15:22:50 +09:00
SeungHo Yang
e7c7bc2b36 dls 복본조사
1.납품처 입력칸 기본 한글로
  2.납품처 선택하면 자동 접속
  3.복본조사결과를 Y/N에서 권수로 변경

납품처 정보 변경 후 발생되는 데이터베이스 오류 수정
퀵메뉴 관련 오류 수정
2025-08-13 12:06:09 +09:00
SeungHo Yang
90d8757270 DLS복본검사기능 데모 판 완료. 2025-08-13 01:03:19 +09:00
e206c96d72 revert 99cba2626a
revert clean: 불필요한 빌드 및 패키지 파일 정리

개발 환경의 빌드 산출물과 패키지 캐시 파일들을 저장소에서 제거하여
저장소 크기를 최적화하고 버전 관리에서 제외

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 13:29:50 +00:00
496 changed files with 198829 additions and 3052 deletions

View File

@@ -0,0 +1,19 @@
{
"permissions": {
"allow": [
"Bash(git add:*)",
"WebFetch(domain:jnelib.jne.go.kr)",
"Bash(node:*)",
"Bash(npm --version)",
"Bash(echo $OS)",
"Bash(claude mcp:*)",
"WebSearch",
"WebSearch",
"Bash(git commit:*)",
"Bash(git config:*)",
"Bash(git push:*)"
],
"deny": [],
"ask": []
}
}

10
.gitignore vendored
View File

@@ -7,19 +7,12 @@ UpgradeLog.htm
bin
obj
packages
*.pub
*.sln
*.inf
*.csproj
*.config
*.exe
*.xlsx
*.zip
*.exe
## 폴더 무시
unimarc/Factory_Client/
ISBN_Client/
Test_Project/
Test_HTML/
AuthorSymbol/
@@ -36,3 +29,4 @@ OutPutMarc/
GolfTicketing/
*.msi
/unimarc/PatchList/~$유니막 수정내역2.pptx

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
fee1a1b30b8fc2dbfc80646a4bcc0bbd917067e6

View File

@@ -0,0 +1,78 @@
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe.config
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\bin\Debug\ExcelTest.pdb
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csprojAssemblyReference.cache
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.ResolveComReference.cache
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Properties.Resources.resources
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.GenerateResource.cache
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.pdb
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Font.resources
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Email.resources
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Marc.resources
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.SubString.resources
C:\Users\Administrator\Desktop\ExcelTest\ExcelTest\obj\Debug\ExcelTest.findNchange.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe.config
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\ExcelTest.pdb
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csprojAssemblyReference.cache
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.ResolveComReference.cache
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.findNchange.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Font.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Email.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Marc.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Properties.Resources.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.SubString.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.GenerateResource.cache
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.pdb
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Helper008.resources
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.exe.config
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\MySql.Data.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\Google.Protobuf.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\Zstandard.Net.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\K4os.Compression.LZ4.Streams.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\BouncyCastle.Crypto.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\Ubiety.Dns.Core.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\Renci.SshNet.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\System.Buffers.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\K4os.Compression.LZ4.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\K4os.Hash.xxHash.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\System.Memory.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\System.Numerics.Vectors.dll
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\bin\Debug\MySql.Data.xml
C:\Users\Administrator\Desktop\project\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.CopyComplete
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe.config
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\ExcelTest.pdb
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\MySql.Data.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\Google.Protobuf.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\Zstandard.Net.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\K4os.Compression.LZ4.Streams.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\BouncyCastle.Crypto.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\Ubiety.Dns.Core.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\Renci.SshNet.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\System.Buffers.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\K4os.Compression.LZ4.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\K4os.Hash.xxHash.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\System.Memory.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\System.Numerics.Vectors.dll
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\bin\Debug\MySql.Data.xml
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.ResolveComReference.cache
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.findNchange.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Helper008.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Font.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Email.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Marc.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.Properties.Resources.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.SubString.resources
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.GenerateResource.cache
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.csproj.CopyComplete
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.exe
C:\Users\Administrator\Desktop\unimarc\ExcelTest\ExcelTest\obj\Debug\ExcelTest.pdb

Binary file not shown.

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

View File

@@ -1,846 +0,0 @@
"DeployProject"
{
"VSVersion" = "3:800"
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
"IsWebType" = "8:FALSE"
"ProjectName" = "8:ISBN"
"LanguageId" = "3:1042"
"CodePage" = "3:949"
"UILanguageId" = "3:1042"
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
"Hierarchy"
{
"Entry"
{
"MsmKey" = "8:_0F86A31C6C034C378B4785837E85C8DB"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_70313A0468364087880E47526621087F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_96C13B68BECF632426438C39B3A2ED88"
"OwnerKey" = "8:_70313A0468364087880E47526621087F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_DB9BE53A787D9558078E83358D576DF9"
"OwnerKey" = "8:_0F86A31C6C034C378B4785837E85C8DB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_DB9BE53A787D9558078E83358D576DF9"
"OwnerKey" = "8:_70313A0468364087880E47526621087F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_DB9BE53A787D9558078E83358D576DF9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_70313A0468364087880E47526621087F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_96C13B68BECF632426438C39B3A2ED88"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_0F86A31C6C034C378B4785837E85C8DB"
"MsmSig" = "8:_UNDEFINED"
}
}
"Configurations"
{
"Debug"
{
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
"OutputFilename" = "8:Debug\\ISBN.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
}
"Release"
{
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
"OutputFilename" = "8:Release\\ISBN.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
}
}
"Deployable"
{
"CustomAction"
{
}
"DefaultFeature"
{
"Name" = "8:DefaultFeature"
"Title" = "8:"
"Description" = "8:"
}
"ExternalPersistence"
{
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_ACBC11F0CDCA4DEF836106D8CBDE03F3"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"FrameworkVersion" = "8:.NETFramework,Version=v4.7.2"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262"
}
}
}
"File"
{
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0F86A31C6C034C378B4785837E85C8DB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:ISBN_Check_test, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_0F86A31C6C034C378B4785837E85C8DB"
{
"Name" = "8:ISBN_Check_test.exe"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:..\\ISBN_Check_test\\bin\\Debug\\ISBN_Check_test.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_5DA86269833441A1AC78495FA1CD8168"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_96C13B68BECF632426438C39B3A2ED88"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
"_96C13B68BECF632426438C39B3A2ED88"
{
"Name" = "8:System.Net.Http.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:System.Net.Http.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_5DA86269833441A1AC78495FA1CD8168"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DB9BE53A787D9558078E83358D576DF9"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_DB9BE53A787D9558078E83358D576DF9"
{
"Name" = "8:Newtonsoft.Json.DLL"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Newtonsoft.Json.DLL"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_5DA86269833441A1AC78495FA1CD8168"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
}
"FileType"
{
}
"Folder"
{
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_5DA86269833441A1AC78495FA1CD8168"
{
"DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
"Name" = "8:#1925"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:TARGETDIR"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_858B8C190E884248BABF289E36DF7FFE"
{
"Name" = "8:#1916"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:DesktopFolder"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_B54D41CCA5F2444385C64B76627CFE83"
{
"Name" = "8:#1919"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:ProgramMenuFolder"
"Folders"
{
}
}
}
"LaunchCondition"
{
}
"Locator"
{
}
"MsiBootstrapper"
{
"LangId" = "3:1042"
"RequiresElevation" = "11:FALSE"
}
"Product"
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:ISBN"
"ProductCode" = "8:{5C0DCD30-BCC7-46C1-948F-CE096DDCFC12}"
"PackageCode" = "8:{497F6E55-04D7-486B-AAEF-14424913DCEB}"
"UpgradeCode" = "8:{81924B64-51B7-4602-A52C-4134F99F618D}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.0"
"Manufacturer" = "8:Microsoft Corporation"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:ISBN"
"Subject" = "8:"
"ARPCONTACT" = "8:Microsoft Corporation"
"Keywords" = "8:"
"ARPCOMMENTS" = "8:"
"ARPURLINFOABOUT" = "8:"
"ARPPRODUCTICON" = "8:"
"ARPIconIndex" = "3:0"
"SearchPath" = "8:"
"UseSystemSearchPath" = "11:TRUE"
"TargetPlatform" = "3:0"
"PreBuildEvent" = "8:"
"PostBuildEvent" = "8:"
"RunPostBuildEvent" = "3:0"
}
"Registry"
{
"HKLM"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4FC67485DC7D4E8E8AF91CC12362FF10"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1F24D62EFAA4494ABD772A962A9A53C4"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCU"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8DFD4CA2F0DD49B98409C28ACCB03373"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B4E7E04BA32B436D8B6452D4AB41257D"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCR"
{
"Keys"
{
}
}
"HKU"
{
"Keys"
{
}
}
"HKPU"
{
"Keys"
{
}
}
}
"Sequences"
{
}
"Shortcut"
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_D4FC146379CD476FA5EF7CD86C22D7F7"
{
"Name" = "8:ISBN_Check"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_70313A0468364087880E47526621087F"
"Folder" = "8:_858B8C190E884248BABF289E36DF7FFE"
"WorkingFolder" = "8:_5DA86269833441A1AC78495FA1CD8168"
"Icon" = "8:"
"Feature" = "8:"
}
}
"UserInterface"
{
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0E5B8CE39EFC44CEB8D2ECEB308FE2CB"
{
"Name" = "8:#1902"
"Sequence" = "3:1"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_11A141410EE9440DA64CB3CF90CBFE1A"
{
"Sequence" = "3:100"
"DisplayName" = "8:마침"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"UpdateText"
{
"Name" = "8:UpdateText"
"DisplayName" = "8:#1058"
"Description" = "8:#1158"
"Type" = "3:15"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1258"
"DefaultValue" = "8:#1258"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_13F11EF643194A34A4DD717C31643BC0"
{
"Name" = "8:#1901"
"Sequence" = "3:1"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2EED0B3D150F401EB3C846CE04D70B0C"
{
"Sequence" = "3:100"
"DisplayName" = "8:진행률"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_16F2068EFE1F4179B3D5930250A9F10C"
{
"Name" = "8:#1900"
"Sequence" = "3:1"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5D50E6C0F7AC4A4AA425A9DE0EEF1623"
{
"Sequence" = "3:200"
"DisplayName" = "8:설치 폴더"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"InstallAllUsersVisible"
{
"Name" = "8:InstallAllUsersVisible"
"DisplayName" = "8:#1059"
"Description" = "8:#1159"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A5CFC3E710A44EF7A51098C92B562989"
{
"Sequence" = "3:300"
"DisplayName" = "8:설치 확인"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F431E71077F04CBABEA6431D1E9D53BC"
{
"Sequence" = "3:100"
"DisplayName" = "8:환영"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_313B4CDD095045E2B21EC9A46E772CE0"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_36E198C9ED3A45368B64D62F89C45D61"
{
"Name" = "8:#1901"
"Sequence" = "3:2"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_822E9F63BC5F453DA996C850AD6D222C"
{
"Sequence" = "3:100"
"DisplayName" = "8:진행률"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4CF9DA4432C3495BB8E96D33C0BD655F"
{
"Name" = "8:#1900"
"Sequence" = "3:2"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_035F6E72949D44728D3600427FE8BF87"
{
"Sequence" = "3:100"
"DisplayName" = "8:환영"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D1CACC0E00DD4E058E4174C850118573"
{
"Sequence" = "3:300"
"DisplayName" = "8:설치 확인"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F56876F625C24DB79479AC4DFCEB3365"
{
"Sequence" = "3:200"
"DisplayName" = "8:설치 폴더"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_5C4C2FE112A94269B71AE2860356647D"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F701F3B9EB0B44A38D1381F85282CA29"
{
"Name" = "8:#1902"
"Sequence" = "3:2"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E47325708FF54086ACD45E5F7C32DD4D"
{
"Sequence" = "3:100"
"DisplayName" = "8:마침"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
}
"MergeModule"
{
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_70313A0468364087880E47526621087F"
{
"SourcePath" = "8:..\\ISBN_Check_test\\obj\\Debug\\ISBN_Check_test.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_5DA86269833441A1AC78495FA1CD8168"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
}
}
}

3
ISBN_Check/.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"dotnet.preferCSharpExtension": true
}

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

281
ISBN_Check/Client/ISBN_Client.Designer.cs generated Normal file
View File

@@ -0,0 +1,281 @@

namespace ISBN_Client
{
partial class Client
{
/// <summary>
/// 필수 디자이너 변수입니다.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 사용 중인 모든 리소스를 정리합니다.
/// </summary>
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.rtb_Ip = new System.Windows.Forms.RichTextBox();
this.lbl_cnt = new System.Windows.Forms.Label();
this.lbl_filename = new System.Windows.Forms.Label();
this.lbl_ClientVer = new System.Windows.Forms.Label();
this.lbl_SerVer = new System.Windows.Forms.Label();
this.lbl_Files = new System.Windows.Forms.Label();
this.lbl_status = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.btn_Close = new System.Windows.Forms.Button();
this.btn_ok = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.file_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.update_status = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.rtb_Ip);
this.panel1.Controls.Add(this.lbl_cnt);
this.panel1.Controls.Add(this.lbl_filename);
this.panel1.Controls.Add(this.lbl_ClientVer);
this.panel1.Controls.Add(this.lbl_SerVer);
this.panel1.Controls.Add(this.lbl_Files);
this.panel1.Controls.Add(this.lbl_status);
this.panel1.Controls.Add(this.label7);
this.panel1.Controls.Add(this.progressBar1);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.label1);
this.panel1.Location = new System.Drawing.Point(12, 12);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(325, 268);
this.panel1.TabIndex = 5;
//
// rtb_Ip
//
this.rtb_Ip.BackColor = System.Drawing.SystemColors.Control;
this.rtb_Ip.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.rtb_Ip.Location = new System.Drawing.Point(124, 102);
this.rtb_Ip.Name = "rtb_Ip";
this.rtb_Ip.ReadOnly = true;
this.rtb_Ip.Size = new System.Drawing.Size(190, 61);
this.rtb_Ip.TabIndex = 5;
this.rtb_Ip.Text = "";
//
// lbl_cnt
//
this.lbl_cnt.AutoSize = true;
this.lbl_cnt.Location = new System.Drawing.Point(265, 217);
this.lbl_cnt.Name = "lbl_cnt";
this.lbl_cnt.Size = new System.Drawing.Size(45, 12);
this.lbl_cnt.TabIndex = 4;
this.lbl_cnt.Text = "(10/10)";
//
// lbl_filename
//
this.lbl_filename.Location = new System.Drawing.Point(20, 217);
this.lbl_filename.Name = "lbl_filename";
this.lbl_filename.Size = new System.Drawing.Size(211, 12);
this.lbl_filename.TabIndex = 3;
//
// lbl_ClientVer
//
this.lbl_ClientVer.AutoSize = true;
this.lbl_ClientVer.Location = new System.Drawing.Point(124, 52);
this.lbl_ClientVer.Name = "lbl_ClientVer";
this.lbl_ClientVer.Size = new System.Drawing.Size(0, 12);
this.lbl_ClientVer.TabIndex = 2;
//
// lbl_SerVer
//
this.lbl_SerVer.AutoSize = true;
this.lbl_SerVer.Location = new System.Drawing.Point(124, 26);
this.lbl_SerVer.Name = "lbl_SerVer";
this.lbl_SerVer.Size = new System.Drawing.Size(0, 12);
this.lbl_SerVer.TabIndex = 2;
//
// lbl_Files
//
this.lbl_Files.AutoSize = true;
this.lbl_Files.Location = new System.Drawing.Point(124, 79);
this.lbl_Files.Name = "lbl_Files";
this.lbl_Files.Size = new System.Drawing.Size(0, 12);
this.lbl_Files.TabIndex = 2;
//
// lbl_status
//
this.lbl_status.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbl_status.ForeColor = System.Drawing.Color.DeepPink;
this.lbl_status.Location = new System.Drawing.Point(-3, 166);
this.lbl_status.Name = "lbl_status";
this.lbl_status.Size = new System.Drawing.Size(317, 29);
this.lbl_status.TabIndex = 0;
this.lbl_status.Text = "최신파일입니다 !!";
this.lbl_status.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label7.Location = new System.Drawing.Point(12, 52);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(106, 12);
this.label7.TabIndex = 0;
this.label7.Text = "클라이언트버전 :";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(22, 232);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(288, 16);
this.progressBar1.TabIndex = 1;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label3.Location = new System.Drawing.Point(51, 26);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(67, 12);
this.label3.TabIndex = 0;
this.label3.Text = "서버버전 :";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label2.Location = new System.Drawing.Point(2, 79);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(116, 12);
this.label2.TabIndex = 0;
this.label2.Text = "업데이트 파일 수 :";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.Location = new System.Drawing.Point(51, 105);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(67, 12);
this.label1.TabIndex = 0;
this.label1.Text = "설치경로 :";
//
// btn_Close
//
this.btn_Close.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btn_Close.Location = new System.Drawing.Point(197, 294);
this.btn_Close.Name = "btn_Close";
this.btn_Close.Size = new System.Drawing.Size(123, 34);
this.btn_Close.TabIndex = 3;
this.btn_Close.Text = "취 소";
this.btn_Close.UseVisualStyleBackColor = true;
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
//
// btn_ok
//
this.btn_ok.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btn_ok.Location = new System.Drawing.Point(30, 294);
this.btn_ok.Name = "btn_ok";
this.btn_ok.Size = new System.Drawing.Size(123, 34);
this.btn_ok.TabIndex = 4;
this.btn_ok.Text = "확 인";
this.btn_ok.UseVisualStyleBackColor = true;
this.btn_ok.Click += new System.EventHandler(this.btn_ok_Click);
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.file_name,
this.update_status});
this.dataGridView1.Location = new System.Drawing.Point(397, 12);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(399, 269);
this.dataGridView1.TabIndex = 6;
//
// file_name
//
this.file_name.DataPropertyName = "file_name";
this.file_name.HeaderText = "파일명";
this.file_name.Name = "file_name";
this.file_name.ReadOnly = true;
this.file_name.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.file_name.Width = 200;
//
// update_status
//
this.update_status.DataPropertyName = "chk";
this.update_status.FalseValue = "F";
this.update_status.HeaderText = "업데이트완료";
this.update_status.IndeterminateValue = "F";
this.update_status.Name = "update_status";
this.update_status.ReadOnly = true;
this.update_status.TrueValue = "T";
//
// Client
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(351, 347);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.btn_Close);
this.Controls.Add(this.btn_ok);
this.Name = "Client";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "ISBN 조회 자동 업데이트";
this.Load += new System.EventHandler(this.Client_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.RichTextBox rtb_Ip;
private System.Windows.Forms.Label lbl_cnt;
private System.Windows.Forms.Label lbl_filename;
private System.Windows.Forms.Label lbl_ClientVer;
private System.Windows.Forms.Label lbl_SerVer;
private System.Windows.Forms.Label lbl_Files;
private System.Windows.Forms.Label lbl_status;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btn_Close;
private System.Windows.Forms.Button btn_ok;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn file_name;
private System.Windows.Forms.DataGridViewCheckBoxColumn update_status;
}
}

View File

@@ -0,0 +1,240 @@
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 System.IO;
using System.Net;
using System.Diagnostics;
namespace ISBN_Client
{
public partial class Client : Form
{
// FTP ID / PW
private string Login_id = "ftpgloria";
private string Login_pw = "admin@!@#$";
// 서버 / 클라이언트 버전
private string Sr_Vers = "";
private string Cl_Vers = "";
// 서버 아이피
private string Server_Ip = "";
// 종료시 실행시킬 파일명
private string Start_Prg = "";
// 파일 개수
private int Files_Count = 0;
// 업데이트 진행 파일 수
private int down_Count = 0;
// 업데이트 여부
bool tf = false;
private string sLine = "";
private string[] str = new string[2];
int i = -1;
DataSet ds = new DataSet("files");
public Client()
{
InitializeComponent();
}
private void Client_Load(object sender, EventArgs e)
{
try
{
// 파일 목록 생성을 위한 데이터 셋
ds.Tables.Add("파일");
ds.Tables["파일"].Columns.Add("file_name");
ds.Tables["파일"].Columns.Add("chk");
File_info();
dataGridView1.DataSource = ds.Tables["파일"];
// 서버의 update_isbn.inf 파일에서 버전 추출
FtpWebRequest fwr = (FtpWebRequest)WebRequest.Create("ftp://" + Login_id + "@" + Server_Ip + "/ISBN/Update_isbn.inf");
fwr.Credentials = new NetworkCredential(Login_id, Login_pw);
fwr.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse fr = (FtpWebResponse)fwr.GetResponse();
StreamReader sr = new StreamReader(fr.GetResponseStream());
while (!sr.EndOfStream)
{
sLine = sr.ReadLine();
i = sLine.IndexOf("count=", 0);
// 서버 버전 추출
if(sLine.IndexOf("count=", 0) != -1)
{
Sr_Vers = sLine.Replace("count=", "");
lbl_SerVer.Text = Sr_Vers;
break;
}
}
sr.Close();
// 버전이 같은 경우 버튼 변경
if (Convert.ToDecimal(Sr_Vers) == Convert.ToDecimal(Cl_Vers))
{
btn_ok.Text = "프로그램 실행";
lbl_status.Text = "최신 버전입니다!";
lbl_status.ForeColor = Color.Blue;
lbl_filename.Text = "";
lbl_cnt.Text = "";
for(int a = 0; a < dataGridView1.Rows.Count; a++)
{
dataGridView1.Rows[a].Cells["update_status"].Value = "T";
}
btn_ok_Click(null, null);
}
else if (Convert.ToDecimal(Sr_Vers) > Convert.ToDecimal(Cl_Vers))
{
btn_ok.Text = "업데이트";
tf = true;
lbl_cnt.Text = "(1/" + dataGridView1.Rows.Count.ToString() + ")";
lbl_status.Text = "업데이트가 존재합니다!";
lbl_status.ForeColor = Color.DeepPink;
}
}
catch(System.Exception ex)
{
}
}
private void btn_ok_Click(object sender, EventArgs e)
{
if (tf)
{
// 업데이트가 존재할 때
download(0);
}
else
{
// 업데이트가 없을 때
string start_program = Application.StartupPath + "\\" + Start_Prg;
Process prc = new Process();
prc.StartInfo = new System.Diagnostics.ProcessStartInfo(start_program);
prc.Start();
this.Close();
}
}
private void download(int cnt)
{
if (cnt < Convert.ToInt32(lbl_Files.Text))
{
WebClient clnt = new WebClient();
clnt.Credentials = new NetworkCredential(Login_id, Login_pw);
lbl_status.Text = "업데이트 진행중!";
progressBar1.Value = (progressBar1.Maximum / Convert.ToInt32(lbl_Files.Text)) * (down_Count + 1);
lbl_filename.Text = dataGridView1.Rows[cnt].Cells["file_name"].Value.ToString();
dataGridView1.Rows[cnt].Cells["update_status"].Value = "T";
lbl_cnt.Text = "(" + (cnt + 1).ToString() + "/" + (dataGridView1.Rows.Count).ToString() + ")";
File.Delete(Application.StartupPath + lbl_filename.Text);
clnt.DownloadFileAsync(new Uri("ftp://" + Login_id + "@" + Server_Ip + "/ISBN/" + lbl_filename.Text),
Application.StartupPath + "\\" + lbl_filename.Text);
clnt.DownloadFileCompleted += new AsyncCompletedEventHandler(clnt_DownloadFileCompleted);
}
else
{
File_info();
progressBar1.Value = progressBar1.Maximum;
btn_ok.Text = "프로그램 실행";
lbl_status.Text = "최신 파일입니다!";
lbl_status.ForeColor = Color.Blue;
lbl_filename.Text = "";
lbl_cnt.Text = "";
tf = false;
}
}
void clnt_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
down_Count += 1;
download(down_Count);
}
private void File_info()
{
// 클라이언트 파일 정보
// update.inf 파일에서 파일개수, 파일명, 버전 추출
StreamReader sr = new StreamReader(Application.StartupPath + "\\Update_isbn.inf");
int i = -1;
while(sr.EndOfStream != true)
{
sLine = sr.ReadLine();
i = sLine.IndexOf("count=", 0);
// 버전 추출
if (sLine.IndexOf("count=", 0) != -1)
{
Cl_Vers = sLine.Replace("count=", "");
lbl_ClientVer.Text = Cl_Vers;
}
// 설치 경로 추출
else if (sLine.IndexOf("server_url=", 0) != -1)
{
Server_Ip = sLine.Replace("server_url=", "");
rtb_Ip.Text = Server_Ip;
//rtb_Ip.Text = Application.StartupPath;
}
// 종료시 실행 파일
else if (sLine.IndexOf("exe=", 0) != -1)
{
Start_Prg = sLine.Replace("exe=", "");
}
// 파일 개수 추출
else if (sLine.IndexOf("Files=", 0) != -1)
{
Files_Count = Convert.ToInt32(sLine.Replace("Files=", ""));
lbl_Files.Text = Files_Count.ToString();
}
else if(sLine.IndexOf("\\", 0) != -1)
{
str[0] = sLine.Replace("\\", "");
str[1] = "F";
ds.Tables["파일"].Rows.Add(str);
}
i = -1;
}
sr.Close();
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1A792D56-127B-446B-8B01-0A60902E0086}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>ISBN_Client</RootNamespace>
<AssemblyName>ISBN_Client</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<TargetZone>LocalIntranet</TargetZone>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>false</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ISBN_Client.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ISBN_Client.Designer.cs">
<DependentUpon>ISBN_Client.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="ISBN_Client.resx">
<DependentUpon>ISBN_Client.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,126 @@
<?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="file_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="update_status.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36401.2 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Client", "ISBN_Client.csproj", "{1A792D56-127B-446B-8B01-0A60902E0086}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1A792D56-127B-446B-8B01-0A60902E0086}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0D22590A-641B-4FBF-A921-F4E1ED895DF8}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ISBN_Client
{
static class Program
{
/// <summary>
/// 해당 애플리케이션의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Client());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("ISBN_Client")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft Corporation")]
[assembly: AssemblyProduct("ISBN_Client")]
[assembly: AssemblyCopyright("Copyright © Microsoft Corporation 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("1a792d56-127b-446b-8b01-0a60902e0086")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,70 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다.
// 런타임 버전:4.0.30319.42000
//
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
// 이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ISBN_Client.Properties
{
/// <summary>
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
/// </summary>
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
// 클래스에서 자동으로 생성되었습니다.
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ISBN_Client.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
/// 재정의합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,29 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ISBN_Client.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 매니페스트 옵션
Windows 사용자 계정 컨트롤 수준을 변경하려면
requestedExecutionLevel 노드를 다음 중 하나로 바꿉니다.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
requestedExecutionLevel 요소를 지정하면 파일 및 레지스트리 가상화를 사용하지 않습니다.
이전 버전과의 호환성을 위해 애플리케이션에 가상화가 필요한 경우
이 요소를 제거합니다.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 이 애플리케이션이 테스트되고 함께 작동하도록 설계된 Windows 버전
목록입니다. 해당 요소의 주석 처리를 제거하면 Windows에서
호환 가능성이 가장 큰 환경을 자동으로 선택합니다. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- 애플리케이션이 DPI를 인식하며 높은 DPI에서 Windows가 자동으로 스케일링하지
않음을 나타냅니다. WPF(Windows Presentation Foundation) 애플리케이션은 자동으로 DPI를 인식하며
옵트인할 필요가 없습니다. 이 설정에 옵트인한 .NET Framework 4.6을 대상으로 하는
Windows Forms 애플리케이션은 app.config에서 'EnableWindowsFormsHighDpiAutoResizing' 설정도 'true'로 설정해야 합니다.
애플리케이션이 긴 경로를 인식하도록 설정합니다. https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation을 참조하세요. -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- Windows 공용 컨트롤 및 대화 상자의 테마 사용(Windows XP 이상) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

View File

@@ -3,11 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31112.23
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Check_test", "ISBN_Check_test.csproj", "{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Check_test", "Main\ISBN_Check_test.csproj", "{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup1", "..\Setup1\Setup1.vdproj", "{78968BDE-85E4-48E7-AE1D-D29AD4684861}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Client", "Client\ISBN_Client.csproj", "{1A792D56-127B-446B-8B01-0A60902E0086}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Client", "..\ISBN_Client\ISBN_Client.csproj", "{1A792D56-127B-446B-8B01-0A60902E0086}"
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup_Main_With_Client", "Setup\ISBN.vdproj", "{2CF357BF-DD81-4613-8C9A-265BF8E27EA9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -19,12 +19,14 @@ Global
{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A19E0C06-EA15-4E30-AE42-4DC0CC4C88DE}.Release|Any CPU.Build.0 = Release|Any CPU
{78968BDE-85E4-48E7-AE1D-D29AD4684861}.Debug|Any CPU.ActiveCfg = Debug
{78968BDE-85E4-48E7-AE1D-D29AD4684861}.Release|Any CPU.ActiveCfg = Release
{1A792D56-127B-446B-8B01-0A60902E0086}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A792D56-127B-446B-8B01-0A60902E0086}.Release|Any CPU.Build.0 = Release|Any CPU
{2CF357BF-DD81-4613-8C9A-265BF8E27EA9}.Debug|Any CPU.ActiveCfg = Debug
{2CF357BF-DD81-4613-8C9A-265BF8E27EA9}.Debug|Any CPU.Build.0 = Debug
{2CF357BF-DD81-4613-8C9A-265BF8E27EA9}.Release|Any CPU.ActiveCfg = Release
{2CF357BF-DD81-4613-8C9A-265BF8E27EA9}.Release|Any CPU.Build.0 = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

3
ISBN_Check/Main/.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"dotnet.preferCSharpExtension": true
}

View File

@@ -29,9 +29,9 @@ namespace ISBN_Check_test
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
this.cb_filter = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
@@ -58,6 +58,7 @@ namespace ISBN_Check_test
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.button3 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
@@ -76,7 +77,7 @@ namespace ISBN_Check_test
//
// button1
//
this.button1.Location = new System.Drawing.Point(416, 10);
this.button1.Location = new System.Drawing.Point(388, 9);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 2;
@@ -86,14 +87,14 @@ namespace ISBN_Check_test
//
// dataGridView1
//
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle7.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.book_name,
this.author,
@@ -110,14 +111,14 @@ namespace ISBN_Check_test
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
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.RowHeadersDefaultCellStyle = dataGridViewCellStyle3;
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle9;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
this.dataGridView1.Size = new System.Drawing.Size(1001, 471);
@@ -186,8 +187,8 @@ namespace ISBN_Check_test
//
// count
//
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.count.DefaultCellStyle = dataGridViewCellStyle2;
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.count.DefaultCellStyle = dataGridViewCellStyle8;
this.count.HeaderText = "검색갯수";
this.count.Name = "count";
this.count.Width = 80;
@@ -200,6 +201,7 @@ namespace ISBN_Check_test
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 4;
this.label1.Text = "00:00:00.00";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// richTextBox1
//
@@ -238,7 +240,7 @@ namespace ISBN_Check_test
//
// button2
//
this.button2.Location = new System.Drawing.Point(503, 10);
this.button2.Location = new System.Drawing.Point(467, 9);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 2;
@@ -266,7 +268,7 @@ namespace ISBN_Check_test
//
// btn_Yes24
//
this.btn_Yes24.Location = new System.Drawing.Point(590, 10);
this.btn_Yes24.Location = new System.Drawing.Point(625, 9);
this.btn_Yes24.Name = "btn_Yes24";
this.btn_Yes24.Size = new System.Drawing.Size(75, 23);
this.btn_Yes24.TabIndex = 8;
@@ -276,6 +278,7 @@ namespace ISBN_Check_test
//
// panel1
//
this.panel1.Controls.Add(this.button3);
this.panel1.Controls.Add(this.cb_api);
this.panel1.Controls.Add(this.btn_Yes24);
this.panel1.Controls.Add(this.cb_filter);
@@ -310,6 +313,16 @@ namespace ISBN_Check_test
this.panel3.Size = new System.Drawing.Size(1001, 471);
this.panel3.TabIndex = 11;
//
// button3
//
this.button3.Location = new System.Drawing.Point(546, 9);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 9;
this.button3.Text = "리셋(전체)";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -319,6 +332,7 @@ namespace ISBN_Check_test
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
@@ -358,6 +372,7 @@ namespace ISBN_Check_test
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button button3;
}
}

View File

@@ -20,6 +20,8 @@ namespace ISBN_Check_test
public Form1()
{
InitializeComponent();
this.dataGridView1.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
this.Text = $"{Application.ProductName} ver {Application.ProductVersion}";
}
private void Form1_Load(object sender, EventArgs e)
{
@@ -28,9 +30,10 @@ namespace ISBN_Check_test
}
private void button2_Click(object sender, EventArgs e)
{
for(int a = 0; a < dataGridView1.Rows.Count - 1; a++)
for (int a = 0; a < dataGridView1.Rows.Count - 1; a++)
{
if (dataGridView1.Rows[a].DefaultCellStyle.BackColor != Color.Yellow) {
if (dataGridView1.Rows[a].DefaultCellStyle.BackColor != Color.Yellow)
{
dataGridView1.Rows[a].Cells["Column1"].Value = "";
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
}
@@ -39,36 +42,62 @@ namespace ISBN_Check_test
private void button1_Click(object sender, EventArgs e)
{
button2_Click(null, null);
if(cb_api.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
if(cb_filter.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
if (cb_api.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
if (cb_filter.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
int start = Convert.ToInt32(start_idx.Text) - 1;
int end = Convert.ToInt32(end_idx.Text) - 1;
var sistr = start_idx.Text.Trim();
var eistr = end_idx.Text.Trim();
if (string.IsNullOrEmpty(sistr)) sistr = "1";
if (string.IsNullOrEmpty(eistr)) eistr = "1";
if (int.TryParse(sistr, out int si) == false)
{
MessageBox.Show("시작번호가 올바르지 않습니다");
start_idx.Focus();
return;
}
if (int.TryParse(eistr, out int ei) == false)
{
MessageBox.Show("종료번호가 올바르지 않습니다");
start_idx.Focus();
return;
}
ei = ei - 1;
si = si - 1;
if(si < 0 || ei <0)
{
MessageBox.Show("시작,종료번호를 확인하세요");
return;
}
if (ei < si)
{
MessageBox.Show("종료번호는 시작번호보다 같거나 커야 합니다");
return;
}
progressBar1.Style = ProgressBarStyle.Continuous;
progressBar1.Minimum = start;
progressBar1.Maximum = end;
progressBar1.Minimum = si;
progressBar1.Maximum = ei;
progressBar1.Step = 1;
progressBar1.Value = 0;
if (start_idx.Text != "1" || end_idx.Text != dataGridView1.Rows.Count.ToString()) {
start = Convert.ToInt32(start_idx.Text) - 1;
end = Convert.ToInt32(end_idx.Text) - 1;
}
progressBar1.Value = progressBar1.Minimum;
switch (cb_api.SelectedIndex)
{
case 0:
Daum_API(dataGridView1, start, end);
Daum_API(dataGridView1, si, ei);
break;
case 1:
Naver_API(dataGridView1, start, end);
Naver_API(dataGridView1, si, ei);
break;
case 2:
Aladin_API(dataGridView1, start, end);
Aladin_API(dataGridView1, si, ei);
break;
}
@@ -94,10 +123,10 @@ namespace ISBN_Check_test
{
// 도서명 / 저자 / 출판사 / isbn / 정가
// 발행일 / 도서분류 / 재고
string[] param = { "title", "author", "publisher", "isbn13", "priceStandard",
string[] param = { "title", "author", "publisher", "isbn13", "priceStandard",
"pubDate", "categoryName", "stockStatus", };
API api = new API();
for (int a = start; a < end; a++)
for (int a = start; a <= end; a++)
{
process_Sub();
string type;
@@ -122,19 +151,24 @@ namespace ISBN_Check_test
type = "";
break;
}
// string query = dataGridView1.Rows[a].Cells["isbn"].Value.ToString();
string query = Set_query(type, a);
// string query = dataGridView1.Rows[a].Cells["isbn"].Value?.ToString() ?? string.Empty;
string query = Set_query(type, a ); //a=는줄번호이고 idx는 -1 해야함
if (gridview.Rows[a].DefaultCellStyle.BackColor == Color.Yellow)
continue;
else if (gridview.Rows[a].DefaultCellStyle.BackColor == Color.LightGray)
gridview.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
else if (gridview.Rows[a ].DefaultCellStyle.BackColor == Color.LightGray)
gridview.Rows[a ].DefaultCellStyle.BackColor = Color.Empty;
// string aladin = api.Aladin(query, "ISBN13", param);
string aladin = api.Aladin(query, type, param);
var aladin = api.Aladin(query, type, param);
insert_By_Aladin(aladin, a);
try
{
richTextBox1.Text = aladin;
var sb = new StringBuilder();
foreach(var item in aladin)
{
sb.AppendLine(string.Join("|", item));
}
richTextBox1.Text = sb.ToString();
}
catch { }
}
@@ -144,20 +178,20 @@ namespace ISBN_Check_test
string result = string.Empty;
if (type == "Keyword")
result = dataGridView1.Rows[idx].Cells["book_name"].Value.ToString() +
dataGridView1.Rows[idx].Cells["author"].Value.ToString();
result = (dataGridView1.Rows[idx].Cells["book_name"].Value?.ToString() ?? string.Empty) +
dataGridView1.Rows[idx].Cells["author"].Value?.ToString() ?? string.Empty;
if (type == "Title")
result = dataGridView1.Rows[idx].Cells["book_name"].Value.ToString();
result = dataGridView1.Rows[idx].Cells["book_name"].Value?.ToString() ?? string.Empty;
if (type == "Author")
result = dataGridView1.Rows[idx].Cells["author"].Value.ToString();
result = dataGridView1.Rows[idx].Cells["author"].Value?.ToString() ?? string.Empty;
if (type == "Publisher")
result = dataGridView1.Rows[idx].Cells["book_comp"].Value.ToString();
result = dataGridView1.Rows[idx].Cells["book_comp"].Value?.ToString() ?? string.Empty;
if (type == "ISBN13")
result = dataGridView1.Rows[idx].Cells["isbn"].Value.ToString();
result = dataGridView1.Rows[idx].Cells["isbn"].Value?.ToString() ?? string.Empty;
return result;
}
@@ -171,7 +205,7 @@ namespace ISBN_Check_test
List<string> L_type = new List<string>();
List<string> L_Array = new List<string>();
for (int a = start; a < end; a++)
for (int a = start; a <= end; a++)
{
L_type.Clear();
L_Array.Clear();
@@ -245,8 +279,8 @@ namespace ISBN_Check_test
string type = string.Empty;
string query = string.Empty;
API api = new API();
for(int a = start; a < end; a++)
for (int a = start; a <= end; a++)
{
process_Sub();
if (gridview.Rows[a].DefaultCellStyle.BackColor == Color.Yellow)
@@ -258,15 +292,15 @@ namespace ISBN_Check_test
{
case 0:
type = "title";
query = gridview.Rows[a].Cells["book_name"].Value.ToString();
query = gridview.Rows[a].Cells["book_name"].Value?.ToString() ?? string.Empty;
break;
case 1:
type = "person";
query = gridview.Rows[a].Cells["author"].Value.ToString();
query = gridview.Rows[a].Cells["author"].Value?.ToString() ?? string.Empty;
break;
case 2:
type = "publisher";
query = gridview.Rows[a].Cells["book_comp"].Value.ToString();
query = gridview.Rows[a].Cells["book_comp"].Value?.ToString() ?? string.Empty;
break;
}
if (query == "") { continue; }
@@ -280,14 +314,16 @@ namespace ISBN_Check_test
{
progressBar1.PerformStep();
}
void insert_By_Aladin(string data, int row)
void insert_By_Aladin(string[] insert, int row)
{
if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; }
dataGridView1.Rows[row].Selected = true;
if (row >0)
{
dataGridView1.Rows[row - 1].Selected = false;
}
dataGridView1.Rows[row ].Selected = true;
string[] insert = data.Split('|');
if (data == "") { return; }
if (insert.Any() == false) { return; }
// pubDate형 보기편하게 DateTime형으로 재정리
string newstring = "";
@@ -296,7 +332,7 @@ namespace ISBN_Check_test
newstring = String.Format("{0:yyyy/MM/dd}",
DateTime.Parse(insert[5].Remove(insert[5].IndexOf(" G"))));
}
catch(Exception ex) { MessageBox.Show(data); }
catch (Exception ex) { MessageBox.Show(string.Join("|",insert)); }
for (int a = 0; a < insert.Length; a++)
{
@@ -332,7 +368,7 @@ namespace ISBN_Check_test
}
void insert_By_Naver(string value, int row)
{
if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; }
if (row > 0) { dataGridView1.Rows[row -1].Selected = false; }
dataGridView1.Rows[row].Selected = true;
if (value == "") return;
@@ -352,7 +388,7 @@ namespace ISBN_Check_test
* 5 :
* 6 :
* 7 : / */
for (int a = 0; a < sp_data.Length-1; a++)
for (int a = 0; a < sp_data.Length - 1; a++)
{
string[] data = sp_data[a].Split('|');
int idx = data.Length - 2;
@@ -407,7 +443,7 @@ namespace ISBN_Check_test
string[] sp_data = value.Split('\n');
string[] grid = { "", "", "", "", "", "", "", "" };
for (int a = 0; a < sp_data.Length-1; a++)
for (int a = 0; a < sp_data.Length - 1; a++)
{
string[] data = sp_data[a].Split('|');
grid[0] = data[0];
@@ -453,21 +489,22 @@ namespace ISBN_Check_test
{
bool[] chk = { false, false, false };
string book_name = dataGridView1.Rows[idx].Cells["book_name"].Value.ToString();
string author = dataGridView1.Rows[idx].Cells["author"].Value.ToString();
string book_comp = dataGridView1.Rows[idx].Cells["book_comp"].Value.ToString();
string book_name = dataGridView1.Rows[idx].Cells["book_name"].Value?.ToString() ?? string.Empty;
string author = dataGridView1.Rows[idx].Cells["author"].Value?.ToString() ?? string.Empty;
string book_comp = dataGridView1.Rows[idx].Cells["book_comp"].Value?.ToString() ?? string.Empty;
if (value[0] == book_name) chk[0] = true;
if (value[1].Contains(author)==true) chk[1] = true;
else if (author.Contains(value[1])==true) chk[1] = true;
if (value[1].Contains(author) == true) chk[1] = true;
else if (author.Contains(value[1]) == true) chk[1] = true;
else if (value[1] == author) chk[1] = true;
if (value[2].Contains(book_comp) == true) chk[2] = true;
else if (book_comp.Contains(value[2]) == true) chk[2] = true;
else if (value[2] == book_comp) chk[2] = true;
if (chk[0] == true && chk[1] == true && chk[2] == true) {
if (chk[0] == true && chk[1] == true && chk[2] == true)
{
dataGridView1.Rows[idx].Cells["isbn"].Value = value[3];
dataGridView1.Rows[idx].Cells["price2"].Value = value[4];
@@ -486,7 +523,7 @@ namespace ISBN_Check_test
int count = dataGridView1.Rows.Count;
for (int a = 0; a < count; a++)
{
string search_data = dataGridView1.Rows[a].Cells["Column1"].Value.ToString();
string search_data = dataGridView1.Rows[a].Cells["Column1"].Value?.ToString() ?? string.Empty;
int tmp_count = st.Char_count(search_data, '|');
int lcount = tmp_count / 8;
dataGridView1.Rows[a].Cells["count"].Value = lcount.ToString();
@@ -497,19 +534,23 @@ namespace ISBN_Check_test
{
Skill_Grid sg = new Skill_Grid();
if ((e.Shift && e.KeyCode == Keys.Insert) || (e.Control && e.KeyCode == Keys.V)) {
if ((e.Shift && e.KeyCode == Keys.Insert) || (e.Control && e.KeyCode == Keys.V))
{
sg.Excel_to_DataGridView(sender, e);
}
else if (e.KeyCode == Keys.Delete) {
else if (e.KeyCode == Keys.Delete)
{
sg.DataGrid_to_Delete(sender, e);
}
if (e.KeyCode == Keys.Enter) { dataGridView1_CellDoubleClick(null, null); rowidx++; }
if (e.KeyCode == Keys.Up) {
if (e.KeyCode == Keys.Up)
{
rowidx--;
if (rowidx < 0)
rowidx = 0;
}
if (e.KeyCode == Keys.Down) {
if (e.KeyCode == Keys.Down)
{
rowidx++;
if (rowidx > dataGridView1.Rows.Count - 1)
rowidx = dataGridView1.Rows.Count - 1;
@@ -528,12 +569,12 @@ namespace ISBN_Check_test
if (rowidx < 0) return;
if (dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value == null)
dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value = "";
richTextBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value.ToString();
richTextBox1.Text = dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value?.ToString() ?? string.Empty;
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Rows[rowidx].Cells["Column1"].Value == null ||
if (dataGridView1.Rows[rowidx].Cells["Column1"].Value == null ||
dataGridView1.Rows[rowidx].Cells["Column1"].Value.ToString() == "") { return; }
Form2 f2 = new Form2(this);
f2.row = rowidx;
@@ -549,17 +590,20 @@ namespace ISBN_Check_test
private void cb_api_SelectedIndexChanged(object sender, EventArgs e)
{
cb_filter.Items.Clear();
if (cb_api.SelectedIndex == 0){
if (cb_api.SelectedIndex == 0)
{
string[] daum = { "도서명", "저자", "출판사" };
cb_filter.Items.AddRange(daum);
}
else if (cb_api.SelectedIndex == 1) {
string[] naver = { "도서명", "저자", "출판사",
"도서명 + 저자", "도서명 + 출판사", "저자 + 출판사",
else if (cb_api.SelectedIndex == 1)
{
string[] naver = { "도서명", "저자", "출판사",
"도서명 + 저자", "도서명 + 출판사", "저자 + 출판사",
"도서명 + 저자 + 출판사" };
cb_filter.Items.AddRange(naver);
}
else if (cb_api.SelectedIndex == 2) {
else if (cb_api.SelectedIndex == 2)
{
string[] aladin = { "도서명 + 저자", "도서명", "저자", "출판사", "별치조사" };
cb_filter.Items.AddRange(aladin);
}
@@ -574,7 +618,8 @@ namespace ISBN_Check_test
dataGridView1.Columns["author"].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
dataGridView1.Columns["book_comp"].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
}
else {
else
{
return;
}
}
@@ -586,7 +631,7 @@ namespace ISBN_Check_test
private void cb_filter_SelectedIndexChanged(object sender, EventArgs e)
{
if (cb_filter.SelectedItem.ToString() == "별치조사")
{
dataGridView1.Columns["isbn"].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
@@ -595,5 +640,40 @@ namespace ISBN_Check_test
dataGridView1.Columns["book_comp"].DefaultCellStyle.BackColor = Color.Empty;
}
}
private void label1_Click(object sender, EventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
string[] lst = { "9788965427520",
"9791193110584",
"9791168672260",
"9788993858396",
"9791171200351",
"9791199239043",
"9791194828112",
"9791196026523",
"9791194368359",
"9791191744439",
"9791198843067",
"9788999712883",
"9788999729188"};
foreach (var item in lst)
this.dataGridView1.Rows.Add(new string[] { "", "", "", item });
end_idx.Text = (this.dataGridView1.Rows.Count - 1).ToString();
}
}
private void button3_Click(object sender, EventArgs e)
{
for (int a = 0; a < dataGridView1.Rows.Count - 1; a++)
{
//if (dataGridView1.Rows[a].DefaultCellStyle.BackColor != Color.Yellow)
{
dataGridView1.Rows[a].Cells["Column1"].Value = "";
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
}
}
}
}
}

View File

@@ -10,6 +10,7 @@ using System.Threading.Tasks;
using System.Web.Script.Serialization;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
namespace ISBN_Check_test
{
@@ -22,7 +23,7 @@ namespace ISBN_Check_test
/// <param name="QueryType"></param>
/// <param name="Param"></param>
/// <returns></returns>
public string Aladin(string Query, string QueryType, string[] Param)
public string[] Aladin(string Query, string QueryType, string[] Param)
{
string result = string.Empty;
// 쿼리 생성
@@ -49,57 +50,40 @@ namespace ISBN_Check_test
// xml형식을 json형식으로 변환
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
var json = JsonConvert.SerializeXmlNode(doc);
// json형식 분석을 위해 JavaScriptSerializer 개체 생성
JavaScriptSerializer js = new JavaScriptSerializer();
var xdoc = XDocument.Parse(xml);
var xroot = xdoc.Root;
// 런타임에 개체를 확인하여 사용할수 있는 dynamic을 이용해 역직렬화
dynamic dob = js.Deserialize<dynamic>(json);
// XML에서 직접 totalResults와 item 추출 (XDocument 사용)
XNamespace ns = "http://www.aladin.co.kr/ttb/apiguide.aspx";
// "object"내에 있는것을 얻어오기 위해 다시 dynamic변수에 참조
dynamic docs = "";
try
// totalResults 추출
string totalResults = xdoc.Descendants(ns + "totalResults").FirstOrDefault()?.Value ?? "0";
// item들 추출
var itemElements = xdoc.Descendants(ns + "item");
if (!itemElements.Any())
{
docs = dob["object"]["item"];
return new string[] { };
}
catch
{
return "";
}
int length = 0;
int length = itemElements.Count();
int ID_length = Param.Length;
// 검색 결과가 1개 이하일 경우, 오류가 발생하여 try/catch문 사용.
try
// XML item들을 순회하면서 필요한 데이터 추출 (XDocument 사용)
List<string[]> retval = new List<string[]>();
foreach (var itemElement in itemElements)
{
// docs는 요소 컬렉션으로 object로 변환.
object[] buf = docs;
length = buf.Length;
}
catch
{
object buf = docs;
length = 1;
}
for (int a = 0; a < length; a++)
{
List<string> tmp_data = new List<string>();
string[] buffer = new string[ID_length];
for (int b = 0; b < ID_length; b++)
{
if (length == 1)
{
tmp_data.Add(docs[Param[b]]);
}
else
{
tmp_data.Add(docs[a][Param[b]]);
}
result += tmp_data[b] + "|";
buffer[b] = itemElement.Element(ns + Param[b])?.Value ?? "";
}
result += "\n";
//retval.Add(buffer);
return buffer;
}
return result;
return new string[] { };
}
/// <summary>
/// https://blog.aladin.co.kr/openapi 참고
@@ -194,7 +178,7 @@ namespace ISBN_Check_test
// url 생성
string url = "https://openapi.naver.com/v1/search/book_adv?";
for(int a = 0; a < Query.Length; a++)
for (int a = 0; a < Query.Length; a++)
{
url += string.Format("{0}={1}&", QueryType[a], Query[a]);
}
@@ -278,7 +262,7 @@ namespace ISBN_Check_test
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
string json = reader.ReadToEnd();
stream.Close();
JavaScriptSerializer js = new JavaScriptSerializer();
dynamic dob = js.Deserialize<dynamic>(json);
dynamic docs = dob["documents"];
@@ -287,18 +271,20 @@ namespace ISBN_Check_test
int length = buf.Length;
int ID_length = Param.Length;
for(int a = 0; a < length; a++)
for (int a = 0; a < length; a++)
{
List<object> tmp_data = new List<object>();
for(int b = 0; b < ID_length; b++)
for (int b = 0; b < ID_length; b++)
{
if (Param[b] == "authors") {
if (Param[b] == "authors")
{
object[] tmp = docs[a][Param[b]];
string tmp_str = string.Empty;
for(int j = 0; j < tmp.Length; j++)
for (int j = 0; j < tmp.Length; j++)
{
tmp_str += tmp[j];
if (j < tmp.Length - 1) {
if (j < tmp.Length - 1)
{
tmp_str += ", ";
}
}
@@ -306,7 +292,8 @@ namespace ISBN_Check_test
result += tmp_data[b] + "|";
tmp_str = "";
}
else {
else
{
tmp_data.Add(docs[a][Param[b]]);
result += tmp_data[b] + "|";
}

View File

@@ -41,15 +41,15 @@ namespace ISBN_Check_test
else { tb_price.Text = ""; }
string data = f1GridView.Rows[row].Cells["Column1"].Value.ToString();
var data = (string[])f1GridView.Rows[row].Cells["Column1"].Value;
inputGrid(data);
}
private void inputGrid(string data)
private void inputGrid(string[] tmp)
{
dataGridView1.Rows.Clear();
// 도서명 / 저자 / 출판사 / isbn / 출간일 / 카테고리 / 품절여부
string[] tmp = data.Split('|');
//string[] tmp = data.Split('|');
string[] grid = { "", "", "", "", "", "", "", "" };
for (int a = 0; a < tmp.Length; a++)
@@ -186,8 +186,8 @@ namespace ISBN_Check_test
string type = "Title";
string query = tb_book_name.Text;
string aladin = api.Aladin(query, type, param);
if (aladin == "") return;
var aladin = api.Aladin(query, type, param);
if (aladin.Any()==false) return;
inputGrid(aladin);
}

View File

@@ -61,36 +61,36 @@
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
<SignManifests>false</SignManifests>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.8.5.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
<HintPath>packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll</HintPath>
<HintPath>..\packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf, Version=3.14.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>packages\Google.Protobuf.3.14.0\lib\net45\Google.Protobuf.dll</HintPath>
<HintPath>..\packages\Google.Protobuf.3.14.0\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
<Reference Include="K4os.Compression.LZ4, Version=1.1.11.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
<HintPath>packages\K4os.Compression.LZ4.1.1.11\lib\net46\K4os.Compression.LZ4.dll</HintPath>
<HintPath>..\packages\K4os.Compression.LZ4.1.1.11\lib\net46\K4os.Compression.LZ4.dll</HintPath>
</Reference>
<Reference Include="K4os.Compression.LZ4.Streams, Version=1.1.11.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
<HintPath>packages\K4os.Compression.LZ4.Streams.1.1.11\lib\net46\K4os.Compression.LZ4.Streams.dll</HintPath>
<HintPath>..\packages\K4os.Compression.LZ4.Streams.1.1.11\lib\net46\K4os.Compression.LZ4.Streams.dll</HintPath>
</Reference>
<Reference Include="K4os.Hash.xxHash, Version=1.0.6.0, Culture=neutral, PublicKeyToken=32cd54395057cec3, processorArchitecture=MSIL">
<HintPath>packages\K4os.Hash.xxHash.1.0.6\lib\net46\K4os.Hash.xxHash.dll</HintPath>
<HintPath>..\packages\K4os.Hash.xxHash.1.0.6\lib\net46\K4os.Hash.xxHash.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=8.0.25.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>packages\MySql.Data.8.0.25\lib\net452\MySql.Data.dll</HintPath>
<HintPath>..\packages\MySql.Data.8.0.25\lib\net452\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Renci.SshNet, Version=2020.0.1.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106, processorArchitecture=MSIL">
<HintPath>packages\SSH.NET.2020.0.1\lib\net40\Renci.SshNet.dll</HintPath>
<HintPath>..\packages\SSH.NET.2020.0.1\lib\net40\Renci.SshNet.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel" />
<Reference Include="System.ComponentModel.DataAnnotations" />
@@ -99,14 +99,14 @@
<Reference Include="System.Core" />
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
<HintPath>..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Web.Extensions" />
@@ -120,10 +120,10 @@
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Ubiety.Dns.Core, Version=2.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>packages\MySql.Data.8.0.25\lib\net452\Ubiety.Dns.Core.dll</HintPath>
<HintPath>..\packages\MySql.Data.8.0.25\lib\net452\Ubiety.Dns.Core.dll</HintPath>
</Reference>
<Reference Include="Zstandard.Net, Version=1.1.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>packages\MySql.Data.8.0.25\lib\net452\Zstandard.Net.dll</HintPath>
<HintPath>..\packages\MySql.Data.8.0.25\lib\net452\Zstandard.Net.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

24
ISBN_Check/Main/Main.sln Normal file
View File

@@ -0,0 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ISBN_Check_test", "ISBN_Check_test.csproj", "{B1FE7D47-6EFF-E4AE-FF42-BADB7C89CEEE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B1FE7D47-6EFF-E4AE-FF42-BADB7C89CEEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B1FE7D47-6EFF-E4AE-FF42-BADB7C89CEEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1FE7D47-6EFF-E4AE-FF42-BADB7C89CEEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B1FE7D47-6EFF-E4AE-FF42-BADB7C89CEEE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E8EB61EB-992B-4C29-AC57-A0B63137A787}
EndGlobalSection
EndGlobal

View File

@@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다.
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("25.09.24.2340")]
// [assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("25.09.24.2340")]

View File

@@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -12,6 +12,7 @@ using WindowsFormsApp1;
using System.Reflection;
using System.Text.RegularExpressions;
namespace ISBN_Check_test
{
public partial class Yes24 : Form
@@ -50,27 +51,33 @@ namespace ISBN_Check_test
if (a % 3 == 2) { l_after.Add(ary_tmp[a]); }
}
}
private void Base_Setting()
private void Base_Setting()
{
int count = f1.dataGridView1.Rows.Count - 1;
string price = "";
for (int a = 0; a < count; a++)
foreach(DataGridViewRow drowview in f1.dataGridView1.Rows)
{
if (f1.dataGridView1.Rows[a].Cells["price"].Value != null)
if (drowview.Cells["price"].Value != null)
{
price = f1.dataGridView1.Rows[a].Cells["price"].Value.ToString();
price = drowview.Cells["price"].Value.ToString();
}
string[] grid = {
f1.dataGridView1.Rows[a].Cells["book_name"].Value.ToString(),
Replace_target(f1.dataGridView1.Rows[a].Cells["book_name"].Value.ToString(), "book_name"),
f1.dataGridView1.Rows[a].Cells["author"].Value.ToString(),
Replace_target(f1.dataGridView1.Rows[a].Cells["author"].Value.ToString(), "author"),
f1.dataGridView1.Rows[a].Cells["book_comp"].Value.ToString(),
Replace_target(f1.dataGridView1.Rows[a].Cells["book_comp"].Value.ToString(), "book_comp"),
price
};
dataGridView1.Rows.Add(grid);
var bookName = drowview.Cells["book_name"].Value?.ToString() ?? string.Empty;
var author = drowview.Cells["author"].Value?.ToString() ?? string.Empty;
var bookComp = drowview.Cells["book_comp"].Value?.ToString() ?? string.Empty;
if (string.IsNullOrEmpty(bookName) && string.IsNullOrEmpty(author) && string.IsNullOrEmpty(bookComp)) continue;
List<string> grid = new List<string>();
grid.Add(bookName);
grid.Add(Replace_target(bookName, "book_name"));
grid.Add(author);
grid.Add(Replace_target(author, "author"));
grid.Add(bookComp);
grid.Add(Replace_target(bookComp, "book_comp"));
grid.Add(price);
dataGridView1.Rows.Add(grid.ToArray());
}
dataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Bisque;
dataGridView1.Columns[2].DefaultCellStyle.BackColor = Color.Bisque;
@@ -101,7 +108,8 @@ namespace ISBN_Check_test
for (int a = 0; a < before.Length; a++)
{
if (target[a] == sort) {
if (target[a] == sort)
{
value = value.Replace(before[a], after[a]);
}
}
@@ -118,15 +126,17 @@ namespace ISBN_Check_test
private void btn_change_Click(object sender, EventArgs e)
{
string[,] grid = new string[dataGridView1.Rows.Count, 6];
for (int a = 0; a < dataGridView1.Rows.Count; a++)
var idx = 0;
foreach (DataGridViewRow drv in dataGridView1.Rows)// int a = 0; a < dataGridView1.Rows.Count; a++)
{
string price = dataGridView1.Rows[a].Cells["price"].Value.ToString();
int count = a + 1;
grid[a, 0] = count.ToString();
grid[a, 1] = dataGridView1.Rows[a].Cells["after_book_name"].Value.ToString();
grid[a, 3] = dataGridView1.Rows[a].Cells["after_book_comp"].Value.ToString();
grid[a, 4] = Regex.Replace(price, @"[^0-9]", "");
grid[a, 5] = "1";
string price = drv.Cells["price"].Value?.ToString() ?? string.Empty;
int count = idx + 1;
grid[idx, 0] = count.ToString();
grid[idx, 1] = drv.Cells["after_book_name"].Value.ToString();
grid[idx, 3] = drv.Cells["after_book_comp"].Value.ToString();
grid[idx, 4] = Regex.Replace(price, @"[^0-9]", "");
grid[idx, 5] = "1";
idx += 1;
}
Excel_change(grid);
}
@@ -163,7 +173,7 @@ namespace ISBN_Check_test
// 기본 정보 입력칸
int count = dataGridView1.Rows.Count + 1;
rng = ws.Range["A2", "F"+count.ToString()];
rng = ws.Range["A2", "F" + count.ToString()];
rng.Value2 = grid;
rng.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
@@ -185,7 +195,7 @@ namespace ISBN_Check_test
private void cb_bracket_CheckedChanged(object sender, EventArgs e)
{
int count = dataGridView1.Rows.Count;
for(int a = 0; a < count; a++)
for (int a = 0; a < count; a++)
{
if (cb_bracket.Checked)
{

6318
ISBN_Check/Setup/ISBN.vdproj Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
[Version]
count=0.014
date=2021-12-02
[program_info]
server_url=1.215.250.130
exe=ISBN_Check_test.exe
[files]
Files=27
\ISBN_Check_test.exe
\Update_isbn.inf
\Newtonsoft.Json.xml
\Newtonsoft.Json.dll
\BouncyCastle.Crypto.dll
\Google.Protobuf.dll
\Google.Protobuf.xml
\K4os.Compression.LZ4.dll
\K4os.Compression.LZ4.xml
\K4os.Compression.LZ4.Streams.dll
\K4os.Compression.LZ4.Streams.xml
\K4os.Hash.xxHash.dll
\K4os.Hash.xxHash.xml
\MySql.Data.dll
\MySql.Data.xml
\Renci.SshNet.dll
\Renci.SshNet.xml
\System.Buffers.dll
\System.Buffers.xml
\System.Memory.dll
\System.Memory.xml
\System.Numerics.Vectors.dll
\System.Numerics.Vectors.xml
\System.Runtime.CompilerServices.Unsafe.dll
\System.Runtime.CompilerServices.Unsafe.xml
\Ubiety.Dns.Core.dll
\Zstandard.Net.dll

BIN
ISBN_Check/헿.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

View File

@@ -1,838 +0,0 @@
"DeployProject"
{
"VSVersion" = "3:800"
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
"IsWebType" = "8:FALSE"
"ProjectName" = "8:Setup1"
"LanguageId" = "3:1042"
"CodePage" = "3:949"
"UILanguageId" = "3:1042"
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
"Hierarchy"
{
"Entry"
{
"MsmKey" = "8:_0D6062360C5F4D6BA7D1EBF485EEFF70"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_36AC4F62C92B6D0BCDD2C56761258591"
"OwnerKey" = "8:_DF04F600C3214DF9BE8CA0DFEF92DC9D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_5749E6F6C0304DB394A8B1C2B4CF855E"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_DF04F600C3214DF9BE8CA0DFEF92DC9D"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_36AC4F62C92B6D0BCDD2C56761258591"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_DF04F600C3214DF9BE8CA0DFEF92DC9D"
"MsmSig" = "8:_UNDEFINED"
}
}
"Configurations"
{
"Debug"
{
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
"OutputFilename" = "8:Debug\\Setup1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
"Release"
{
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
"OutputFilename" = "8:Release\\Setup1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
}
"Deployable"
{
"CustomAction"
{
}
"DefaultFeature"
{
"Name" = "8:DefaultFeature"
"Title" = "8:"
"Description" = "8:"
}
"ExternalPersistence"
{
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_8357F927CDB74BBDB4D2AEC5F6D808E5"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"FrameworkVersion" = "8:.NETFramework,Version=v4.7.2"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262"
}
}
}
"File"
{
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0D6062360C5F4D6BA7D1EBF485EEFF70"
{
"SourcePath" = "8:..\\..\\..\\Downloads\\헿.ico"
"TargetName" = "8:헿.ico"
"Tag" = "8:"
"Folder" = "8:_945325C397F845FB86F255B5AAC3663E"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_36AC4F62C92B6D0BCDD2C56761258591"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
"_36AC4F62C92B6D0BCDD2C56761258591"
{
"Name" = "8:System.Net.Http.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:System.Net.Http.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_945325C397F845FB86F255B5AAC3663E"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5749E6F6C0304DB394A8B1C2B4CF855E"
{
"SourcePath" = "8:..\\..\\..\\Documents\\카카오톡 받은 파일\\update_isbn.inf"
"TargetName" = "8:update_isbn.inf"
"Tag" = "8:"
"Folder" = "8:_945325C397F845FB86F255B5AAC3663E"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
}
"FileType"
{
}
"Folder"
{
"{1525181F-901A-416C-8A58-119130FE478E}:_52CFB8B49A124F65852A40933CA1F09E"
{
"Name" = "8:#1919"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:ProgramMenuFolder"
"Folders"
{
}
}
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_945325C397F845FB86F255B5AAC3663E"
{
"DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
"Name" = "8:#1925"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:TARGETDIR"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_A66867392A5046CAB74023B14B8C3140"
{
"Name" = "8:#1916"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:DesktopFolder"
"Folders"
{
}
}
}
"LaunchCondition"
{
}
"Locator"
{
}
"MsiBootstrapper"
{
"LangId" = "3:1042"
"RequiresElevation" = "11:FALSE"
}
"Product"
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:ISBN조회프로그램"
"ProductCode" = "8:{A8A04035-B337-4B41-88F1-8A5982917757}"
"PackageCode" = "8:{B78C64E3-F29B-4786-9B14-51B6FE1E0D76}"
"UpgradeCode" = "8:{26ED5F40-94B6-454E-894F-FE448A69CB2D}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.0"
"Manufacturer" = "8:(주)글로리아북"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:ISBN조회프로그램"
"Subject" = "8:"
"ARPCONTACT" = "8:(주)글로리아북"
"Keywords" = "8:"
"ARPCOMMENTS" = "8:"
"ARPURLINFOABOUT" = "8:"
"ARPPRODUCTICON" = "8:_0D6062360C5F4D6BA7D1EBF485EEFF70"
"ARPIconIndex" = "3:0"
"SearchPath" = "8:"
"UseSystemSearchPath" = "11:TRUE"
"TargetPlatform" = "3:0"
"PreBuildEvent" = "8:"
"PostBuildEvent" = "8:"
"RunPostBuildEvent" = "3:0"
}
"Registry"
{
"HKLM"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C420A16D12C94614A1919646C2988DF0"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_60AE159928144F289246CEC0A4118E2A"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCU"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D7030CC92D404DFB999F2741DB1BA429"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_75586CD4217B44D1BD1C6F28B67322A3"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCR"
{
"Keys"
{
}
}
"HKU"
{
"Keys"
{
}
}
"HKPU"
{
"Keys"
{
}
}
}
"Sequences"
{
}
"Shortcut"
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_C2628FD7B5C9412DB1F11B4DEE9BC69E"
{
"Name" = "8:ISBN_Client"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_DF04F600C3214DF9BE8CA0DFEF92DC9D"
"Folder" = "8:_A66867392A5046CAB74023B14B8C3140"
"WorkingFolder" = "8:_945325C397F845FB86F255B5AAC3663E"
"Icon" = "8:_0D6062360C5F4D6BA7D1EBF485EEFF70"
"Feature" = "8:"
}
}
"UserInterface"
{
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_14B0FE4AF65C41CBBAD834C3FFF3FA8C"
{
"Name" = "8:#1902"
"Sequence" = "3:2"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C9331F9926BE4A27964352FB55EDCB52"
{
"Sequence" = "3:100"
"DisplayName" = "8:마침"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_3BFFE2A1DA7F4C94BCCFEA71804A6C86"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_49FD1358FACF482589960177AD186596"
{
"Name" = "8:#1902"
"Sequence" = "3:1"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E026C8C32A21492C9500396920FA95F1"
{
"Sequence" = "3:100"
"DisplayName" = "8:마침"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"UpdateText"
{
"Name" = "8:UpdateText"
"DisplayName" = "8:#1058"
"Description" = "8:#1158"
"Type" = "3:15"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1258"
"DefaultValue" = "8:#1258"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5B3F6B76F8F9495BBFC6FC3CED907617"
{
"Name" = "8:#1900"
"Sequence" = "3:1"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_697D4ED67ED244399F6A1EDAC04E08C8"
{
"Sequence" = "3:200"
"DisplayName" = "8:설치 폴더"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"InstallAllUsersVisible"
{
"Name" = "8:InstallAllUsersVisible"
"DisplayName" = "8:#1059"
"Description" = "8:#1159"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7E8E0961BABB49258883F30454BBC7A8"
{
"Sequence" = "3:300"
"DisplayName" = "8:설치 확인"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9EFF4521B67E44348BEA30B4020D0F19"
{
"Sequence" = "3:100"
"DisplayName" = "8:환영"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_68263C720D6B49DCBE9A84CD438DE25F"
{
"Name" = "8:#1901"
"Sequence" = "3:2"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7F5E4DF29DDB41CFA5BFB0E05E2C8809"
{
"Sequence" = "3:100"
"DisplayName" = "8:진행률"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_ABB47AD4F1BD43F4B42B17018165CA07"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_CBFB6000C2F34D3E9473CC1620CDAFF5"
{
"Name" = "8:#1900"
"Sequence" = "3:2"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4FA5492C78BB4935B59333182B297B67"
{
"Sequence" = "3:300"
"DisplayName" = "8:설치 확인"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_97D2395E9D1C4DD0A846B108D2963F12"
{
"Sequence" = "3:200"
"DisplayName" = "8:설치 폴더"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D9FCBF1BD6904996A10DF9D4E7D76A41"
{
"Sequence" = "3:100"
"DisplayName" = "8:환영"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_FE33988416EC4716B9BC38830FBAD68C"
{
"Name" = "8:#1901"
"Sequence" = "3:1"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C86AB7E43AC54A669A2F2A7BC8E3D91B"
{
"Sequence" = "3:100"
"DisplayName" = "8:진행률"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
}
"MergeModule"
{
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_DF04F600C3214DF9BE8CA0DFEF92DC9D"
{
"SourcePath" = "8:..\\ISBN_Client\\obj\\Debug\\ISBN_Client.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_945325C397F845FB86F255B5AAC3663E"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{1A792D56-127B-446B-8B01-0A60902E0086}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
}
}
}

6
Spilt_Marc/App.config Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6CCC0C4E-EDF1-4171-AA8F-5E6D34F6349D}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Spilt_Marc</RootNamespace>
<AssemblyName>Spilt_Marc</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

Some files were not shown because too many files have changed in this diff Show More