Compare commits

...

30 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
3908bc92ed Merge branch 'chi202506' of https://git.tindevil.com/Gloria/Unimarc into chi202506
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2025-08-12 22:26:00 +09:00
99cba2626a clean: 불필요한 빌드 및 패키지 파일 정리
개발 환경의 빌드 산출물과 패키지 캐시 파일들을 저장소에서 제거하여
저장소 크기를 최적화하고 버전 관리에서 제외

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 22:23:59 +09:00
383 changed files with 20883 additions and 498659 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": []
}
}

11
.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/
@@ -35,3 +28,5 @@ MarcCroling/
OutPutMarc/
GolfTicketing/
*.msi
/unimarc/PatchList/~$유니막 수정내역2.pptx

Binary file not shown.

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;
}
@@ -97,7 +126,7 @@ namespace ISBN_Check_test
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();
@@ -246,7 +280,7 @@ namespace ISBN_Check_test
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;
@@ -529,7 +570,7 @@ namespace ISBN_Check_test
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)
{
@@ -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) {
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;
}
}
@@ -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]);
}
@@ -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
@@ -55,22 +56,28 @@ namespace ISBN_Check_test
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="ISBN_Check_test.application" version="1.0.0.2" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="Microsoft Corporation" asmv2:product="ISBN_Check_test" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" co.v1:createDesktopShortcut="true">
<subscription>
<update>
<beforeApplicationStartup />
</update>
</subscription>
<deploymentProvider codebase="file://msdn-special/project_share/ISBN_Check_test.application" />
</deployment>
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="ISBN_Check_test.exe.manifest" size="13561">
<assemblyIdentity name="ISBN_Check_test.exe" version="1.0.0.2" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>F7W1cK7V9Up1c4wq6FjJVdBQX3Vi9VvrLNVXEgS4D+U=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
</asmv1:assembly>

View File

@@ -1,14 +0,0 @@
<?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>

View File

@@ -1,242 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="ISBN_Check_test.exe" version="1.0.0.2" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="ISBN_Check_test" version="1.0.8034.31052" language="neutral" processorArchitecture="msil" />
<commandLine file="ISBN_Check_test.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<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="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="BouncyCastle.Crypto.dll" size="2531328">
<assemblyIdentity name="BouncyCastle.Crypto" version="1.8.5.0" publicKeyToken="0E99375E54769942" language="neutral" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>pkUxy9puRCzT8+NR1z1AhrzgCfuXnvkLKPb6RRIvXI8=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Google.Protobuf.dll" size="389616">
<assemblyIdentity name="Google.Protobuf" version="3.14.0.0" publicKeyToken="A7D26565BAC4D604" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>LAYio0GLM6iB7Yzp/UB7P8TyssxLkj7eqnZ4W1zSjw8=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ISBN_Check_test.exe" size="76800">
<assemblyIdentity name="ISBN_Check_test" version="1.0.8034.31052" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>bxncI1VlTbrqYbFDshYwJwk+2t61DUInxbOAIRCnDQw=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Compression.LZ4.dll" size="40448">
<assemblyIdentity name="K4os.Compression.LZ4" version="1.1.11.0" publicKeyToken="2186FA9121EF231D" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>iZt23NwbTw3G3o7er2sV/njinSqOJNwVDnslLK/MOLg=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Compression.LZ4.Streams.dll" size="17408">
<assemblyIdentity name="K4os.Compression.LZ4.Streams" version="1.1.11.0" publicKeyToken="2186FA9121EF231D" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>QeTVrSMyJYZsM56dHatpgSg+p0WTseZEtdYYQVJfytI=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="K4os.Hash.xxHash.dll" size="12288">
<assemblyIdentity name="K4os.Hash.xxHash" version="1.0.6.0" publicKeyToken="32CD54395057CEC3" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>EQ80i1BW05RFWHofw8nY4upHJV2z3owIUJDXc8sbY4o=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MySql.Data.dll" size="1750016">
<assemblyIdentity name="MySql.Data" version="8.0.25.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>oMcu3wg92gEoS1lxyKZqFe8s/JFkSKZUkE6D79O5Rkg=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Newtonsoft.Json.dll" size="701992">
<assemblyIdentity name="Newtonsoft.Json" version="13.0.0.0" publicKeyToken="30AD4FE6B2A6AEED" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>tiSUnfiw46YVP9+3MKfG9JkLZZLuDZIuF4hDPSdmEPM=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Renci.SshNet.dll" size="804352">
<assemblyIdentity name="Renci.SshNet" version="2020.0.1.0" publicKeyToken="1CEE9F8BDE3DB106" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Y2gBJDUXMpX6s7ws4eaLl77Q8BRSvpOwsUmf22BzBEE=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Buffers.dll" size="20856">
<assemblyIdentity name="System.Buffers" version="4.0.3.0" publicKeyToken="CC7B13FFCD2DDD51" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>rMzPvkXZ8I/+7ZkW43sz6YxlvgEs//bn+ntnIQzh/vs=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Memory.dll" size="148760">
<assemblyIdentity name="System.Memory" version="4.0.1.1" publicKeyToken="CC7B13FFCD2DDD51" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>QbXhpMWavbHOFGf1jD2f0G053/T8YdUAokEP7OgDf0s=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Numerics.Vectors.dll" size="115936">
<assemblyIdentity name="System.Numerics.Vectors" version="4.1.3.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>oETXfttujbQFO/Z8xnHnaHwibBubCWOoHr41nOed/fc=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Runtime.CompilerServices.Unsafe.dll" size="23600">
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" version="4.0.4.1" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>GtLdciXVFioP06OzN6GUlEhSDjEwpLyOAQ7AL3YJdQA=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Ubiety.Dns.Core.dll" size="55808">
<assemblyIdentity name="Ubiety.Dns.Core" version="2.2.1.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Zstandard.Net.dll" size="14848">
<assemblyIdentity name="Zstandard.Net" version="1.1.7.0" publicKeyToken="C5687FC88969C44D" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="ISBN_Check_test.exe.config" size="541">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Qx+jN639AkukL3VOtM7n2jV0SwkhZyRLAjCNL9Lyp14=</dsig:DigestValue>
</hash>
</file>
<file name="ISBN_Check_test.pdb" size="122368">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>0DgKqWF8wsno2qNKQ5/rIF5RAaY/bInkAt8Ir0MEdgo=</dsig:DigestValue>
</hash>
</file>
</asmv1:assembly>

View File

@@ -1,296 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4.Streams</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Streams.ILZ4Descriptor">
<summary>
LZ4 Frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentLength">
<summary>Content length. Not always known.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum is provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained (dependent) or not (independent).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Dictionary">
<summary>Dictionary id. May be null.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderSettings">
<summary>
Decoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderSettings.ExtraMemory">
<summary>Extra memory for decompression.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream">
<summary>
LZ4 Decompression stream handling.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.#ctor(System.IO.Stream,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Decoder},System.Boolean)">
<summary>Creates new instance <see cref="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="decoderFactory">A function which will create appropriate decoder depending
on frame descriptor.</param>
<param name="leaveOpen">If <c>true</c> inner stream will not be closed after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadByte">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Length">
<summary>
Length of stream. Please note, this will only work if original LZ4 stream has
<c>ContentLength</c> field set in descriptor. Otherwise returned value will be <c>-1</c>.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Position">
<summary>
Position within the stream. Position can be read, but cannot be set as LZ4 stream does
not have <c>Seek</c> capability.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderSettings">
<summary>
LZ4 encoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentLength">
<summary>
Content length. It is not enforced, it can be set to any value, but it will be
written to the stream so it can be used while decoding. If you don't know the length
just leave default value.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ChainBlocks">
<summary>
Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks
(with chaining) provide better compression ratio but are a little but slower and take
more memory.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockSize">
<summary>
Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m,
and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is
better.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentChecksum">
<summary>Indicates is content checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockChecksum">
<summary>Indicates if block checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.Dictionary">
<summary>Dictionary id. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.CompressionLevel">
<summary>Compression level.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ExtraMemory">
<summary>Extra memory (for the process, more is usually better).</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream">
<summary>
LZ4 compression stream.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.#ctor(System.IO.Stream,K4os.Compression.LZ4.Streams.ILZ4Descriptor,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Encoder},System.Boolean)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="descriptor">LZ4 Descriptor.</param>
<param name="encoderFactory">Function which will take descriptor and return
appropriate encoder.</param>
<param name="leaveOpen">Indicates if <paramref name="inner"/> stream should be left
open after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Close">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Length">
<summary>Length of the stream and number of bytes written so far.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Position">
<summary>Read-only position in the stream. Trying to set it will throw
<see cref="T:System.InvalidOperationException"/>.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadByte">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Descriptor">
<summary>
LZ4 frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentLength">
<summary>Content length (if available).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum if present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Dictionary">
<summary>Dictionary id (or null).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Descriptor.#ctor(System.Nullable{System.Int64},System.Boolean,System.Boolean,System.Boolean,System.Nullable{System.UInt32},System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4Descriptor"/>.</summary>
<param name="contentLength">Content length.</param>
<param name="contentChecksum">Content checksum flag.</param>
<param name="chaining">Chaining flag.</param>
<param name="blockChecksum">Block checksum flag.</param>
<param name="dictionary">Dictionary id.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Stream">
<summary>
Utility class with factory methods to create LZ4 compression and decompression streams.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4EncoderSettings,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Compression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="level">Compression level.</param>
<param name="extraMemory">Extra memory used for compression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4DecoderSettings,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Decompression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,System.Int32,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="extraMemory">Extra memory used for decompression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
</members>
</doc>

View File

@@ -1,794 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Encoders.EncoderAction">
<summary>
Action performed by encoder using <c>FlushAndEncode</c> method.
</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.None">
<summary>Nothing has happened, most likely loading 0 bytes.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Loaded">
<summary>Some bytes has been loaded into encoder.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied">
<summary>Compression was not possible so bytes has been copied.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded">
<summary>Compression succeeded.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Decoder">
<summary>
Interface of LZ4 decoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BytesReady">
<summary>Bytes already decoded and available to be read.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Decode(System.Byte*,System.Int32,System.Int32)">
<summary>
Decodes previously compressed block and caches decompressed block in decoder.
Returns number of bytes decoded. These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to compressed block.</param>
<param name="length">Length of compressed block.</param>
<param name="blockSize">Size of the block. Value <c>0</c> indicates default block size.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Inject(System.Byte*,System.Int32)">
<summary>
Inject already decompressed block and caches it in decoder.
Used with uncompressed-yet-chained blocks and pre-made dictionaries.
These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to uncompressed block.</param>
<param name="length">Length of uncompressed block.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)">
<summary>
Reads previously decoded bytes. Please note, <paramref name="offset"/> should be
negative number, pointing to bytes before current head.
</summary>
<param name="target">Buffer to write to.</param>
<param name="offset">Offset in source buffer relatively to current head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes to read.</param>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Encoder">
<summary>
Interface of LZ4 encoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady">
<summary>Number of bytes read for compression.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)">
<summary>Adds bytes to internal buffer. Increases <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/></summary>
<param name="source">Source buffer.</param>
<param name="length">Source buffer length.</param>
<returns>Number of bytes topped up. If this function returns 0 it means that buffer
is full (<see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/> equals <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/>) and
<see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)"/> should be called to flush it.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)">
<summary>
Encodes bytes in internal buffer (see: <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/>, <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)"/>).
If <paramref name="allowCopy"/> is <c>true</c> then if encoded buffer is bigger than
source buffer source bytes are copied instead. In such case returned length is negative.
</summary>
<param name="target">Target buffer.</param>
<param name="length">Target buffer length.</param>
<param name="allowCopy">Indicates if copying is allowed.</param>
<returns>Length of encoded buffer. Negative if bytes are just copied.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder">
<summary>
LZ4 decoder used with independent blocks mode. Plase note, that it will fail
if input data has been compressed with chained blocks
(<see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/> and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/>)
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.#ctor(System.Int32)">
<summary>Creates new instance of block decoder.</summary>
<param name="blockSize">Block size. Must be equal or greater to one used for compression.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder">
<summary>
Independent block encoder. Produces larger files but uses less memory and
gives better performance.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder">
<summary>LZ4 decoder handling dependent blocks.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder"/>.</summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Decoder">
<summary>
Static class with factory methods to create LZ4 decoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Decoder.Create(System.Boolean,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 decoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Encoder">
<summary>
Static class with factory method to create LZ4 encoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Encoder.Create(System.Boolean,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 encoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderBase">
<summary>
Base class for LZ4 encoders. Provides basic functionality shared by
<see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/>, <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/>,
and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/> encoders. Do not used directly.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.#ctor(System.Boolean,System.Int32,System.Int32)">
<summary>Creates new instance of encoder.</summary>
<param name="chaining">Needs to be <c>true</c> if using dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Topup(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Encode(System.Byte*,System.Int32,System.Boolean)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Encodes single block using appropriate algorithm.</summary>
<param name="source">Source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<returns>Number of bytes actually written to target buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.CopyDict(System.Byte*,System.Int32)">
<summary>Copies current dictionary.</summary>
<param name="target">Target buffer.</param>
<param name="dictionaryLength">Dictionary length.</param>
<returns>Dictionary length.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions">
<summary>
Functionality of encoders added on top of fixed interface.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer pointer, will be shifted after operation by the number of
bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset.</param>
<param name="length">Length of buffer.</param>
<returns>Number of bytes actually loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset, will be increased after operation by the number
of bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Number of bytes encoder. If bytes were copied than this value is negative.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer. Will be updated after operation.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer. Will be updated after operation.</param>
<param name="length">Length of buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Drain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>Drains decoder by reading all bytes which are ready.</summary>
<param name="decoder">Decoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="offset">Offset in decoder relatively to decoder's head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder">
<summary>
LZ4 encoder using dependent blocks with fast compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/></summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder">
<summary>
LZ4 encoder using dependent blocks with high compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Internal.Mem">
<summary>Utility class with memory related functions.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K1">
<summary>1 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K2">
<summary>2 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K4">
<summary>4 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K8">
<summary>8 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K16">
<summary>16 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K32">
<summary>32 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K64">
<summary>64 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K128">
<summary>128 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K256">
<summary>256 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K512">
<summary>512 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M1">
<summary>1 MiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M4">
<summary>4 MiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.Empty">
<summary>Empty byte array.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.RoundUp(System.Int32,System.Int32)">
<summary>Rounds integer value up to nearest multiple of step.</summary>
<param name="value">A value.</param>
<param name="step">A step.</param>
<returns>Value rounded up.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
Even though it is called "copy" it actually behaves like "move" which
might be potential problem, although it shouldn't as I cannot think about
any situation when "copy" invalid behaviour (forward copy of overlapping blocks)
can be a desired.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Move(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
It handle "move" semantic properly handling overlapping blocks properly.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.WildCopy(System.Byte*,System.Byte*,System.Void*)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>
up to (around) <paramref name="limit"/>.
It does not handle overlapping blocks and may copy up to 8 bytes more than expected.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="limit">The limit (in target block).</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Zero(System.Byte*,System.Int32)">
<summary>Fill block of memory with zeroes.</summary>
<param name="target">Address.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Fill(System.Byte*,System.Byte,System.Int32)">
<summary>Fills memory block with repeating pattern of a single byte.</summary>
<param name="target">Address.</param>
<param name="value">A pattern.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopCopy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
This is proper implementation of memcpy (with all then weird behaviour for
overlapping blocks). It is slower than "Copy" but may be required if "Copy"
causes problems.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopCopyBack(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block backwards from <paramref name="source"/> to <paramref name="target"/>.
This is needed to implement memmove It is slower than "Move" but is needed for .NET 4.5,
which does not implement Buffer.MemoryCopy.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopMove(System.Byte*,System.Byte*,System.Int32)">
<summary>
Moves memory block for <paramref name="source"/> to <paramref name="target"/>.
It handles overlapping block properly.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy8(System.Byte*,System.Byte*)">
<summary>Copies exactly 8 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy16(System.Byte*,System.Byte*)">
<summary>Copies exactly 16 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy18(System.Byte*,System.Byte*)">
<summary>Copies exactly 18 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)">
<summary>Allocated block of memory. It is NOT initialized with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)">
<summary>Allocated block of memory and fills it with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Free(System.Void*)">
<summary>
Free memory allocated previously with <see cref="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)"/> or <see cref="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)"/>
</summary>
<param name="ptr"></param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek8(System.Void*)">
<summary>Reads exactly 1 byte from given address.</summary>
<param name="p">Address.</param>
<returns>Byte at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek16(System.Void*)">
<summary>Reads exactly 2 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>2 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek32(System.Void*)">
<summary>Reads exactly 4 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>4 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek64(System.Void*)">
<summary>Reads exactly 8 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>8 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke8(System.Void*,System.Byte)">
<summary>Writes exactly 1 byte to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke16(System.Void*,System.UInt16)">
<summary>Writes exactly 2 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke32(System.Void*,System.UInt32)">
<summary>Writes exactly 4 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke64(System.Void*,System.UInt64)">
<summary>Writes exactly 8 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="T:K4os.Compression.LZ4.Internal.UnmanagedResources">
<summary>
Skeleton for class with unmanaged resources.
Implements <see cref="T:System.IDisposable"/> but also handles proper release in
case <see cref="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose"/> was not called.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Internal.UnmanagedResources.IsDisposed">
<summary>Determines if object was already disposed.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ThrowIfDisposed">
<summary>Throws exception is object has been disposed already. Convenience method.</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if object is already disposed.</exception>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseUnmanaged">
<summary>Method releasing unmanaged resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseManaged">
<summary>Method releasing managed resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose(System.Boolean)">
<summary>
Disposed resources.
</summary>
<param name="disposing"><c>true</c> if dispose was explicitly called,
<c>false</c> if called from GC.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Finalize">
<summary>Destructor.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Codec">
<summary>
Static class exposing LZ4 block compression methods.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.MaximumOutputSize(System.Int32)">
<summary>Maximum size after compression.</summary>
<param name="length">Length of input buffer.</param>
<returns>Maximum length after compression.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte*,System.Int32,System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input buffer.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Level">
<summary>Compression level.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L00_FAST">
<summary>Fast compression.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L03_HC">
<summary>High compression, level 3.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L04_HC">
<summary>High compression, level 4.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L05_HC">
<summary>High compression, level 5.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L06_HC">
<summary>High compression, level 6.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L07_HC">
<summary>High compression, level 7.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L08_HC">
<summary>High compression, level 8.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L09_HC">
<summary>High compression, level 9.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L10_OPT">
<summary>Optimal compression, level 10.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L11_OPT">
<summary>Optimal compression, level 11.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L12_MAX">
<summary>Maximum compression, level 12.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Pickler">
<summary>
Pickling support with LZ4 compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.ReadOnlySpan{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input data.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[])">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.ReadOnlySpan{System.Byte})">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte*,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
</members>
</doc>

View File

@@ -1,163 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Hash.xxHash</name>
</assembly>
<members>
<member name="T:K4os.Hash.xxHash.HashAlgorithmAdapter">
<summary>
Adapter implementing <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
</summary>
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.#ctor(System.Int32,System.Action,System.Action{System.Byte[],System.Int32,System.Int32},System.Func{System.Byte[]})">
<summary>
Creates new <see cref="T:K4os.Hash.xxHash.HashAlgorithmAdapter"/>.
</summary>
<param name="hashSize">Hash size (in bytes)</param>
<param name="reset">Reset function.</param>
<param name="update">Update function.</param>
<param name="digest">Digest function.</param>
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.HashSize">
<inheritdoc />
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.Hash">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashFinal">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.Initialize">
<inheritdoc />
</member>
<member name="T:K4os.Hash.xxHash.XXH">
<summary>
Base class for both <see cref="T:K4os.Hash.xxHash.XXH32"/> and <see cref="T:K4os.Hash.xxHash.XXH64"/>. Do not use directly.
</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH.#ctor">
<summary>Protected constructor to prevent instantiation.</summary>
</member>
<member name="T:K4os.Hash.xxHash.XXH32">
<summary>
xxHash 32-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH32.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
<member name="T:K4os.Hash.xxHash.XXH64">
<summary>
xxHash 64-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH64.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method on the same <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="clearArray">clearArray</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method will not see the content of the previous caller. If <paramref name="clearArray">clearArray</paramref> is set to false or if the pool will release the buffer, the array&amp;#39;s contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
<returns>A shared <see cref="System.Buffers.ArrayPool`1"></see> instance.</returns>
</member>
</members>
</doc>

View File

@@ -1,355 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Memory</name>
</assembly>
<members>
<member name="T:System.Span`1">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.Span`1.#ctor(`0[])">
<param name="array"></param>
</member>
<member name="M:System.Span`1.#ctor(System.Void*,System.Int32)">
<param name="pointer"></param>
<param name="length"></param>
</member>
<member name="M:System.Span`1.#ctor(`0[],System.Int32)">
<param name="array"></param>
<param name="start"></param>
</member>
<member name="M:System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
<param name="array"></param>
<param name="start"></param>
<param name="length"></param>
</member>
<member name="M:System.Span`1.Clear">
</member>
<member name="M:System.Span`1.CopyTo(System.Span{`0})">
<param name="destination"></param>
</member>
<member name="M:System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
<param name="obj"></param>
<param name="objectData"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.DangerousGetPinnableReference">
<returns></returns>
</member>
<member name="P:System.Span`1.Empty">
<returns></returns>
</member>
<member name="M:System.Span`1.Equals(System.Object)">
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Fill(`0)">
<param name="value"></param>
</member>
<member name="M:System.Span`1.GetHashCode">
<returns></returns>
</member>
<member name="P:System.Span`1.IsEmpty">
<returns></returns>
</member>
<member name="P:System.Span`1.Item(System.Int32)">
<param name="index"></param>
<returns></returns>
</member>
<member name="P:System.Span`1.Length">
<returns></returns>
</member>
<member name="M:System.Span`1.op_Equality(System.Span{`0},System.Span{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(System.ArraySegment{T})~System.Span{T}">
<param name="arraySegment"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(System.Span{T})~System.ReadOnlySpan{T}">
<param name="span"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Implicit(T[])~System.Span{T}">
<param name="array"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.op_Inequality(System.Span{`0},System.Span{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Slice(System.Int32)">
<param name="start"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.Slice(System.Int32,System.Int32)">
<param name="start"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.Span`1.ToArray">
<returns></returns>
</member>
<member name="M:System.Span`1.TryCopyTo(System.Span{`0})">
<param name="destination"></param>
<returns></returns>
</member>
<member name="T:System.SpanExtensions">
</member>
<member name="M:System.SpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
<param name="source"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsBytes``1(System.Span{``0})">
<param name="source"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan(System.String)">
<param name="text"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
<param name="arraySegment"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.AsSpan``1(``0[])">
<param name="array"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.CopyTo``1(``0[],System.Span{``0})">
<param name="array"></param>
<param name="destination"></param>
<typeparam name="T"></typeparam>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.Byte)">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.Byte)">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0)">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},``0)">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<param name="value2"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<param name="value2"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
<param name="span"></param>
<param name="value0"></param>
<param name="value1"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.NonPortableCast``2(System.ReadOnlySpan{``0})">
<param name="source"></param>
<typeparam name="TFrom"></typeparam>
<typeparam name="TTo"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.NonPortableCast``2(System.Span{``0})">
<param name="source"></param>
<typeparam name="TFrom"></typeparam>
<typeparam name="TTo"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="first"></param>
<param name="second"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="first"></param>
<param name="second"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.SequenceEqual``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="first"></param>
<param name="second"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
<param name="span"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="M:System.SpanExtensions.StartsWith``1(System.Span{``0},System.ReadOnlySpan{``0})">
<param name="span"></param>
<param name="value"></param>
<typeparam name="T"></typeparam>
<returns></returns>
</member>
<member name="T:System.ReadOnlySpan`1">
<typeparam name="T"></typeparam>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[])">
<param name="array"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
<param name="pointer"></param>
<param name="length"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
<param name="array"></param>
<param name="start"></param>
</member>
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
<param name="array"></param>
<param name="start"></param>
<param name="length"></param>
</member>
<member name="M:System.ReadOnlySpan`1.CopyTo(System.Span{`0})">
<param name="destination"></param>
</member>
<member name="M:System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
<param name="obj"></param>
<param name="objectData"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.DangerousGetPinnableReference">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Empty">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Equals(System.Object)">
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.GetHashCode">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.IsEmpty">
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Item(System.Int32)">
<param name="index"></param>
<returns></returns>
</member>
<member name="P:System.ReadOnlySpan`1.Length">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Equality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{T})~System.ReadOnlySpan{T}">
<param name="arraySegment"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Implicit(T[])~System.ReadOnlySpan{T}">
<param name="array"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.op_Inequality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32)">
<param name="start"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
<param name="start"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.ToArray">
<returns></returns>
</member>
<member name="M:System.ReadOnlySpan`1.TryCopyTo(System.Span{`0})">
<param name="destination"></param>
<returns></returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@@ -1,200 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Runtime.CompilerServices.Unsafe</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.Unsafe">
<summary>Contains generic, low-level functionality for manipulating pointers.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
<summary>Adds a byte offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>Determines whether the specified references point to the same location.</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> point to the same location; otherwise, false.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
<summary>Casts the given object to the specified type.</summary>
<param name="o">The object to cast.</param>
<typeparam name="T">The type which the object will be cast to.</typeparam>
<returns>The original object, casted to the given type.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
<summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</summary>
<param name="source">The reference to reinterpret.</param>
<typeparam name="TFrom">The type of reference to reinterpret..</typeparam>
<typeparam name="TTo">The desired type of the reference.</typeparam>
<returns>A reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
<summary>Returns a pointer to the given by-ref parameter.</summary>
<param name="value">The object whose pointer is obtained.</param>
<typeparam name="T">The type of object.</typeparam>
<returns>A pointer to the given value.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
<summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T">T</typeparamref>.</summary>
<param name="source">The location of the value to reference.</param>
<typeparam name="T">The type of the interpreted location.</typeparam>
<returns>A reference to a value of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
<summary>Determines the byte offset from origin to target from the given references.</summary>
<param name="origin">The reference to origin.</param>
<param name="target">The reference to target.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>Byte offset from origin to target i.e. <paramref name="target">target</paramref> - <paramref name="origin">origin</paramref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A reference to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A pointer to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
<summary>Returns the size of an object of the given type parameter.</summary>
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
<returns>The size of an object of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
<summary>Subtracts a byte offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset"></param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
</members>
</doc>

View File

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

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="ISBN_Check_test.application" version="1.0.0.2" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="Microsoft Corporation" asmv2:product="ISBN_Check_test" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" co.v1:createDesktopShortcut="true">
<subscription>
<update>
<beforeApplicationStartup />
</update>
</subscription>
<deploymentProvider codebase="file://msdn-special/project_share/ISBN_Check_test.application" />
</deployment>
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="ISBN_Check_test.exe.manifest" size="13561">
<assemblyIdentity name="ISBN_Check_test.exe" version="1.0.0.2" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>F7W1cK7V9Up1c4wq6FjJVdBQX3Vi9VvrLNVXEgS4D+U=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
</asmv1:assembly>

View File

@@ -1 +0,0 @@
a77fad757a000de80a5ec0c6d775e009c723c9c7

View File

@@ -1,59 +0,0 @@
C:\Users\Administrator\Desktop\project\ISBN_Check_test\bin\Debug\ISBN_Check_test.exe.config
C:\Users\Administrator\Desktop\project\ISBN_Check_test\bin\Debug\ISBN_Check_test.exe
C:\Users\Administrator\Desktop\project\ISBN_Check_test\bin\Debug\ISBN_Check_test.pdb
C:\Users\Administrator\Desktop\project\ISBN_Check_test\bin\Debug\Newtonsoft.Json.dll
C:\Users\Administrator\Desktop\project\ISBN_Check_test\bin\Debug\Newtonsoft.Json.xml
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.csprojAssemblyReference.cache
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.Form1.resources
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.Properties.Resources.resources
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.GenerateResource.cache
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.CopyComplete
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.exe
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.pdb
C:\Users\Administrator\Desktop\project\ISBN_Check_test\obj\Debug\ISBN_Check_test.Form2.resources
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\ISBN_Check_test.exe.config
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\ISBN_Check_test.exe
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\ISBN_Check_test.pdb
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Newtonsoft.Json.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Newtonsoft.Json.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.Form1.resources
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.Form2.resources
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.Properties.Resources.resources
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.GenerateResource.cache
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.CopyComplete
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.exe
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.pdb
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\ISBN_Check_test.exe.manifest
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\ISBN_Check_test.application
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.exe.manifest
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.application
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.Form3.resources
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.csproj.ResolveComReference.cache
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\BouncyCastle.Crypto.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Google.Protobuf.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Compression.LZ4.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Compression.LZ4.Streams.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Hash.xxHash.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\MySql.Data.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Renci.SshNet.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Buffers.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Memory.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Numerics.Vectors.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Ubiety.Dns.Core.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Zstandard.Net.dll
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Google.Protobuf.pdb
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Google.Protobuf.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Compression.LZ4.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Compression.LZ4.Streams.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\K4os.Hash.xxHash.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\MySql.Data.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\Renci.SshNet.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Buffers.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Memory.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Numerics.Vectors.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml
C:\Users\Administrator\Desktop\unimarc\ISBN_Check_test\obj\Debug\ISBN_Check_test.Yes24.resources

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