Merge remote-tracking branch 'origin/main_desktop_1' into sub_laptop_8

This commit is contained in:
2026-10-30 11:08:52 +09:00
9219 changed files with 1495383 additions and 0 deletions
@@ -0,0 +1,31 @@
# EST Plus 2 REA 독립 분석
- 대상: C:\Dasansoft\Est Plus 2\EstPlus2.exe. 파일 버전 5.2.6.0, DFM 주 화면 제목 EST PLUS5. 폴더명과 구분.
- 01 전체 구조: 설치 파일 672개, REA 함수 후보 50,390개·문자열 41,981개.
- 02 화면 구성: TPF0 232개 전체 해석, 구성요소 8,126개, 이벤트 연결 3,123개. 화면 라이브러리·데이터 모듈도 포함.
- 03 코드 연결: 주요 이벤트 8개 중 3개 함수 경계 확인. 저장·내역 재계산·수량 포함 재계산 경로의 REA 의사코드와 어셈블리 확보. 나머지는 함수 미등록으로 기록.
- 04 실행 관찰: 정상 작업 화면 미확인(0×0 숨은 창). 직접 시작한 프로세스 정리. 기존 파일 변경 0개·신규 파일 0개.
- 05 저장 구조: .estx 25개 ZIP 판독. 샘플 CRC 통과, 내부 파일 71개 사본 확보. UI 필드 바인딩 622개·서로 다른 필드명 122개.
- REA 원본 근거와 보조 파서 결과는 각 보고서에서 구분. 이전 AI 분석 결과는 읽지 않음(범용 파서 코드만 재사용).
- 미완료: 정확한 계산식, 디스크 스키마, 저장 반영 순서, 실행 검증. 사용자에게 정상 실행 여부·실행 절차를 질문함.
- REA 세션 종료 완료. 원본 프로그램 패치·라이선스 우회·업데이트·외부 전송 없음.
## 06 정적 교차검증 추가
라이선스 실행 제한을 사용자에게 확인받아 동적 실행 질문은 해소했다. EST Plus 2부터 단독 진행했다. 주요 이벤트 8개 시드 분석·자리수 필드 기록 경로·샘플 테이블 항목 488개 구조 일관성 검사를 완료했다. 숫자 계산 결과와 실제 실행은 미검증이다. 상세 근거와 채택하지 않은 가정은 06_정적교차검증 보고서에 보존했다. 시드 프로필 저장 및 REA 세션 종료 완료.
## 2026-10-25 중간 작업 — 최종보고서 보류
샘플 테이블의 타입·마커·행 위치 후보를 보완하고, 내역서/일위대가의 저장 수치 일관성 검사를 07_수치검증_작업자료_20261025에 저장했다. 내역서 비목별 정수 절사 합산 후보는 적격 23행씩 일반·밑줄 필드에 일치했으나 일위대가의 정밀도·비율 조건은 미확정이다. STMATE 진행 단계로 넘어갔고, 사용자 지시에 따라 최종보고서는 작성·저장하지 않았다.
## 2026-10-29 심화 분석 재개
STMATE와 같은 실용적 종료 기준을 목표로 독립 분석을 재개했다. 원본 실행은 제외한다. 08_계산흐름_심화추적_20261029에 계산 분기·행 계산·상위 head_calc/head_calc_diget 설정·수치 helper·기계/원가 하위 본문과 근거를 추가했다. 단위 백분율 조건을 반영한 일위대가 후보는 일반22/22, 밑줄20/22이며 원본 실행 검증이 아니다. 전체 심화분석은 미완료다. 최신 상태는 해당 폴더의 deep_pass_status_and_remaining.json을 따른다.
## 2026-10-30 최종보고서
Claude 가 코덱스 인계를 받아 A~E · 프로그램 전체 점검 · 기성고·물가변동 · 동원·연차·미확정 해소까지 진행하고 최종보고서 ESTPlus2_REA_최종보고서_20261030.md 를 저장함. 개발 참고 요약은 09 폴더 ESTPlus2_아이슬로_내역서개발_참고정리_20261029.md. REA 원문 08·10·11·12 폴더. 원본 SHA256 일치, 패치·우회·실행 없음. 추가 보강은 필요할 때 이어서 함.
@@ -0,0 +1,57 @@
# EST Plus 2 — 1차 전체 구조 조사
기존 AI 분석 자료는 열람하지 않았다. 설치 폴더 메타데이터와 REA 6.7.0 정적 분석 결과만 사용했다. 설치 프로그램과 드라이버는 실행하지 않았다.
## 확인된 사항
- 설치 위치: `C:\Dasansoft\Est Plus 2`
- 설치 파일: 672개, 총 596,710,670바이트. 파일 목록은 `installation_inventory.json`에 보존했다.
- 주요 실행 파일: `EstPlus2.exe`, `EstViewer.exe`, `ProductBook.exe`. 파일명만으로 각 프로그램의 실제 역할이나 상호 호출 관계를 확정하지 않는다.
- 위 세 실행 파일은 REA에서 모두 x86 PE, CLI 메타데이터 없음으로 판정됐다. .NET 관리 코드 분석 대상은 아니다.
- `EstPlus2.exe`의 PE 리소스 859개를 REA가 조사했다. 이 중 RCDATA는 243개다.
- `ProductBook.exe`의 PE 리소스는 694개다.
- `EstViewer.exe`의 리소스 검사는 REA가 invalid_request를 반환했다. 리소스가 없거나 실행 파일이 손상됐다는 뜻으로 해석하지 않는다. 원본 오류 응답을 보존했다.
- 주 실행 파일의 리소스 이름에 `BORLAND_SIG`, `DVCLAL`, `PACKAGEINFO` 및 다수의 `TFRM...` 이름이 있다. Borland/VCL 계열 구현이라는 추정 근거다. 정확한 개발 도구 버전은 미확인이다.
- 데이터 관련 확장자 목록에는 `.dat`, `.idx`, `.blb`, `.estx`가 있다. 확장자만으로 파일 형식이나 스키마를 확정하지 않는다.
## 기능 후보 — 이름에 근거한 추정
REA가 식별한 리소스 이름을 보면 다음 기능 영역을 후속 분석 대상으로 삼을 수 있다. 화면의 실제 존재, 진입 가능 여부와 계산 동작은 아직 검증하지 않았다.
| 영역 후보 | 리소스 이름 예시 |
|---|---|
| 견적·내역 편집 | TFRMESTIMATE, TFRMESTEDITOR, TFRMESTMAIN |
| 원가·단가 | TFRMCOST, TFRMCOSTCALC, TFRMAPPLIEDCOST |
| 수량·도면 | TFRMESTCAD, TFRMCADLOAD, TFRMFOUNDMULLANG |
| Excel 변환 | TFRMEXCELCONVERT, TFRMEXCELTOEST |
| 출력·미리보기 | TFRMESTPRINT2, TFRMESTPREVIEW2, TFRMESTIMATEPRN |
| 비교·자료 갱신 | TFRMCOMPARE, TFRMDATAUPDATE |
## 근거와 한계
`*.resources.json`과 `*.managed.json`은 REA 원본 응답이다. 성공 응답에는 대상 SHA-256 및 evidence_id가 포함된다. `pe_summary.json`과 `main_form_resource_names.json`은 원본 응답을 요약한 보조 산출물이다.
PE 리소스 분석은 대부분의 페이로드를 해석하지 않는다. 따라서 리소스 이름만으로 화면 구성이나 업무 규칙을 복원했다고 보지 않는다. Ghidra 전체 구조 분석은 진행 중이며, 완료 후 결과와 한계를 추가한다.
## 리소스 바이트 교차 확인
REA가 제공한 파일 오프셋·길이를 이용해 원본 바이트의 첫 4바이트만 별도로 확인했다. RCDATA 243개 중 232개가 ASCII TPF0 서명, 7개가 PNG 서명이다. 이 검사는 보조 바이트 검사이며 REA가 DFM 구조를 해석한 결과가 아니다. TFRMESTMAIN은 오프셋 22,923,424, 길이 56,893바이트이고 TPF0 서명이다. 전체 결과는 rcdata_payload_signatures.json에 보존했다.
뷰어 리소스 실패의 구체적 이유는 REA의 'Resource range is not entirely file-backed in one section.' 검사다. 파일 손상 여부는 판정하지 않았다.
화면 분석용 TPF0 리소스 232개를 02_화면구성/dfm_payloads에 추출했다. 각 출력의 SHA-256은 REA 원본 응답의 payload.sha256과 모두 일치했다. 추출 기록은 dfm_extraction_manifest.json에 보존했다.
## 코드 분석 1차 시도
REA 기본 시작 제한 330,000ms 안에 Ghidra 자동 분석이 완료되지 않아 provider_timeout이 반환됐다. 실패 응답은 EstPlus2.overview.timeout.json에 UTF-8로 보존했다. 완료된 함수 목록이나 코드 구조로 간주하지 않는다. 후속 시도는 제한을 900,000ms로 늘리고 Decompiler Parameter ID 및 Decompiler Switch Analysis 자동 분석을 비활성화했다. 변경된 분석 프로필의 결과는 별도로 보존하며, 디컴파일·분기 복원 완전성을 보장하지 않는다.
## Ghidra 전체 구조 분석 완료
자동 분석 항목을 조정한 두 번째 시도는 성공했다. REA는 세그먼트 11개(헤더 포함), 함수 후보 50,390개, 문자열 41,981개를 식별했다. 이미지 기준 주소는 0x400000이다. 함수 후보 수에는 라이브러리·컴파일러 생성 코드가 포함되며 업무 기능 개수를 뜻하지 않는다. 주소·길이 및 evidence_id는 EstPlus2.overview.retry.json, 설정과 한계는 analysis_profile_summary.json에 보존했다.
이 보고서 앞부분의 '진행 중' 기록은 당시 상태이며, 본 완료 기록으로 갱신한다. 분석 후 원본 실행 파일의 SHA-256을 다시 확인했고 최초 REA 대상 해시와 일치했다. 실제 화면, 데이터 형식, 계산 규칙은 다음 단계 조사 대상이다.
@@ -0,0 +1 @@
{"evidence_id":"ev_cd5e7928192ca44de9bf3492545669da224f2f214e542f7369a6ef02d2c6ff4b","subject":{"name":"EstPlus2.exe","digest":{"sha256":"aaeb69e089bc7984e9973820417139cacc228d880b3a0b8f152c750bc30a45c2"},"local_path":"C:\\Dasansoft\\Est Plus 2\\EstPlus2.exe","format":"pe","architecture":"x86"},"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"inspect_managed_artifact","parameters":{},"raw_result":null,"normalized_result":{"artifact":{"path":"C:\\Dasansoft\\Est Plus 2\\EstPlus2.exe","sha256":"aaeb69e089bc7984e9973820417139cacc228d880b3a0b8f152c750bc30a45c2","byte_length":24202880,"format":"pe"},"pe":{"machine":332,"machine_hex":"0x014c","architecture":"x86","optional_header":"pe32","section_count":10,"characteristics":33167,"cli":null},"classification":{"status":"not-managed","container":"pe","runtime_family":"unknown","implementation":"not-managed","managed_architecture":"unknown","evidence":[{"code":"cli-directory-absent","detail":"The PE has no CLI data directory; managed metadata and CIL are unavailable.","file_offset":null}]},"metadata":{"status":"absent","version":null,"stream_names":[],"table_row_counts":{}},"module":null,"assembly":null,"target_frameworks":[],"references":[],"resources":[],"attributes":[],"coverage":{"state":"unavailable","issues":[]},"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."]},"confidence":"observed","authority":"shipped-artifact","environment":null,"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."],"relationship_coverage":null,"locations":[{"kind":"file-offset","offset":0}],"evidence_links":[]}
@@ -0,0 +1 @@
{"evidence_id":"ev_82e15d8d1b212603c1264f03d7402040583de760026dc67c56bbf1cd1047f08b","subject":{"name":"EstViewer.exe","digest":{"sha256":"e0b615493619acc7a4937e4e97d126f0ae8cdd495136cb7c5b016f6f6614cba8"},"local_path":"C:\\Dasansoft\\Est Plus 2\\EstViewer.exe","format":"pe","architecture":"x86"},"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"inspect_managed_artifact","parameters":{},"raw_result":null,"normalized_result":{"artifact":{"path":"C:\\Dasansoft\\Est Plus 2\\EstViewer.exe","sha256":"e0b615493619acc7a4937e4e97d126f0ae8cdd495136cb7c5b016f6f6614cba8","byte_length":2035712,"format":"pe"},"pe":{"machine":332,"machine_hex":"0x014c","architecture":"x86","optional_header":"pe32","section_count":11,"characteristics":33166,"cli":null},"classification":{"status":"not-managed","container":"pe","runtime_family":"unknown","implementation":"not-managed","managed_architecture":"unknown","evidence":[{"code":"cli-directory-absent","detail":"The PE has no CLI data directory; managed metadata and CIL are unavailable.","file_offset":null}]},"metadata":{"status":"absent","version":null,"stream_names":[],"table_row_counts":{}},"module":null,"assembly":null,"target_frameworks":[],"references":[],"resources":[],"attributes":[],"coverage":{"state":"unavailable","issues":[]},"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."]},"confidence":"observed","authority":"shipped-artifact","environment":null,"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."],"relationship_coverage":null,"locations":[{"kind":"file-offset","offset":0}],"evidence_links":[]}
@@ -0,0 +1 @@
{"code":"invalid_request","category":"invalid_input","message":"Analysis input is invalid. Check the arguments and try again.","retryable":true,"remediation":{"action":"Correct the listed arguments and retry."},"details":{"operation":"inspect_pe_resources","issues":[{"path":["path"],"reason":"invalid_format","message":"Resource range is not entirely file-backed in one section."}]}}
@@ -0,0 +1 @@
{"evidence_id":"ev_7178caf4aa02c02d10e33919f2d7bf5bedc58490a40de75ad1e9141bba539925","subject":{"name":"ProductBook.exe","digest":{"sha256":"925117d4f62bf911d257aa2413cc56cacb9d2ff46820fda1d159b9f3ce4698f0"},"local_path":"C:\\Dasansoft\\Est Plus 2\\ProductBook.exe","format":"pe","architecture":"x86"},"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"inspect_managed_artifact","parameters":{},"raw_result":null,"normalized_result":{"artifact":{"path":"C:\\Dasansoft\\Est Plus 2\\ProductBook.exe","sha256":"925117d4f62bf911d257aa2413cc56cacb9d2ff46820fda1d159b9f3ce4698f0","byte_length":30749136,"format":"pe"},"pe":{"machine":332,"machine_hex":"0x014c","architecture":"x86","optional_header":"pe32","section_count":11,"characteristics":33166,"cli":null},"classification":{"status":"not-managed","container":"pe","runtime_family":"unknown","implementation":"not-managed","managed_architecture":"unknown","evidence":[{"code":"cli-directory-absent","detail":"The PE has no CLI data directory; managed metadata and CIL are unavailable.","file_offset":null}]},"metadata":{"status":"absent","version":null,"stream_names":[],"table_row_counts":{}},"module":null,"assembly":null,"target_frameworks":[],"references":[],"resources":[],"attributes":[],"coverage":{"state":"unavailable","issues":[]},"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."]},"confidence":"observed","authority":"shipped-artifact","environment":null,"limitations":["The PE has no CLI data directory; managed metadata and CIL are unavailable."],"relationship_coverage":null,"locations":[{"kind":"file-offset","offset":0}],"evidence_links":[]}
@@ -0,0 +1,81 @@
{
"evidence_id": "ev_ebf387aa6244f7c50aedf83bac6efbbbcdc5bc78557081ae39c118c5a56bba6b",
"analysis_profile": {
"provider": {
"id": "rea-workflow",
"name": "REA composed investigation workflow",
"version": "1"
},
"parameters": {
"upstream_analysis_profile": {
"provider": {
"id": "ghidra",
"name": "Ghidra",
"version": "12.1.4"
},
"parameters": {
"target_kind": "executable",
"target_format": "pe",
"executable_role": "application",
"managed": false,
"native_aot_metadata": {
"contract_revision": "rtr-9.1-x64-pe-read-only-v5",
"source_bytes": 134217728,
"work_units": 67108864,
"working_memory_bytes": 67108864,
"report_bytes": 4194304
},
"architecture": "x86",
"available_architectures": [
"x86"
],
"import_mode": "ephemeral-source-immutable",
"pdb_observations": "program-info-v5",
"annotation_policy": "atomic-function-entry-metadata-v1",
"load_image_observations": "source-mappings-entry-context-v2",
"function_body_evidence": "complete-inclusive-ranges-v1",
"function_references": "complete-body-and-entry-reference-manager-v2",
"call_relationship_coverage": "function-body-call-coverage-v5",
"function_dossier_coverage": "observed-facets-and-call-relationships-v1",
"string_inventory_evidence": "defined-data-coverage-v1",
"location_resolution": "explicit-address-exact-entry-symbol-first-v3",
"procedure_file_offset_resolution": "address-first-unique-target-source-mapping-v2",
"instruction_flow_evidence": "decoded-return-pcode-v1",
"instruction_references": "exact-address-incoming-without-synthetic-entry-v2",
"function_boundary_observations": "ghidra-function-boundary-limitations-v4",
"no_return_repair": "disabled-windows-p0",
"process_launch": "official-headless-script-v1",
"jump_table_evidence": "typed-case-default-blocks-v1",
"decompiler_jump_loads": true,
"loader": "auto-from-header",
"language_id": "auto-from-header",
"compiler_spec_id": "auto-default",
"analyzer_preset": "ghidra-default+disabled:Decompiler Parameter ID,Decompiler Switch Analysis",
"analysis_options": {
"disabled_analyzers": [
"Decompiler Parameter ID",
"Decompiler Switch Analysis"
]
}
},
"digest": "5b345268ac99f02dfb91734fa26ae4335844f67332ebd74a4d344c8e8e0e03fe"
},
"source_limitations": "provider-operation-caveats-v1",
"workflow_revision": 4
},
"digest": "0370d59e99dbd083caa89a535c6e7f410293d83184fd5840011668809499d385"
},
"limitations": [
"Derived by an REA composed workflow.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Counts use the complete defined-string inventory and the same local/external function inventory as list_strings and list_procedures. They do not establish discovery of undefined strings or unidentified functions.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use \u003cpercent-encoded-space\u003e:0x\u003chex\u003e.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Memory-block end addresses are exclusive; segment lengths use those observed address coordinates.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: The Windows bridge uses authenticated IPv4 loopback because Node path-based IPC does not expose Java AF_UNIX sockets; the endpoint file contains no bearer token.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Windows Ghidra P0 accepts native x86, x86-64, ARMNT (Thumb-2) and ARM64 PE applications and DLLs, and explicitly selected raw 6502 images; managed, hostile, sensitive, and mutable-path targets are unsupported.",
"Ghidra (ghidra 12.1.4) read_binary_inventory_summary: Windows sessions require the matching packaged Windows x64 native addon, local NTFS targets and runtimes, and Windows 10 or later. Native handles enforce path admission, private DACLs, and Job Object ownership automatically."
]
}
@@ -0,0 +1,176 @@
[
"TDTMESTDATATABLE",
"TDTMIMAGELIST",
"TFMCREATECATEGORY",
"TFMDXCHANGEFILENAME",
"TFMFILTERCONTROLDIALOG",
"TFMZOOM",
"TFRMACCOM",
"TFRMACCOMJUNLOAD",
"TFRMACCOMLOADMETHODEST",
"TFRMACCOMOPTION",
"TFRMACCOMRATIOINPUT",
"TFRMADDGROUPITEMS",
"TFRMAPPLIEDCOST",
"TFRMBIMOGBIUL",
"TFRMBOOKVIEWER",
"TFRMCADLOAD",
"TFRMCHANGEVALUE",
"TFRMCODECHANGE",
"TFRMCOMPARE",
"TFRMCONVERTTOGANGUB",
"TFRMCOST",
"TFRMCOSTCALC",
"TFRMCOSTLEVELCHECK",
"TFRMCOSTMARGIN",
"TFRMCOSTNAMEINPUT",
"TFRMCOSTSPACEEDIT",
"TFRMCOSTTOGABGAE",
"TFRMCOSTWORDCHANGE",
"TFRMCOVER",
"TFRMDAEJUNWATER",
"TFRMDATAAUTOLINK",
"TFRMDATAUPDATE",
"TFRMDBLCLICKRTN",
"TFRMDONGWON",
"TFRMDONGWONEXCELCONVERT",
"TFRMDOWNLOADFROMSERVER",
"TFRMEDITOREXPLAN",
"TFRMEDITORSBS",
"TFRMESINFO",
"TFRMESP",
"TFRMESPWONGA",
"TFRMESPWONGALIST",
"TFRMEST",
"TFRMESTBASE",
"TFRMESTCAD",
"TFRMESTCADBASE",
"TFRMESTCADPREVIEW",
"TFRMESTCADPRINT",
"TFRMESTCADTEXTDIMCHANGE",
"TFRMESTCOSTTOWONGA",
"TFRMESTEDITOR",
"TFRMESTIMATE",
"TFRMESTIMATECOST",
"TFRMESTIMATEPRN",
"TFRMESTLOGO",
"TFRMESTMAIN",
"TFRMESTMULTI",
"TFRMESTMULTIEDIT",
"TFRMESTMULTIOPTION",
"TFRMESTPREVIEW2",
"TFRMESTPRINT2",
"TFRMESTPRINTPRIVATE",
"TFRMESTPRINTPUBLIC",
"TFRMESTPRINTRANGE",
"TFRMESTSERCH",
"TFRMESTSUBBASE",
"TFRMESTSUBSERCH",
"TFRMESTTITLESETCOLOR",
"TFRMEXCELCONVERT",
"TFRMEXCELCONVERTESTIPRN",
"TFRMEXCELCONVERTSILJUK",
"TFRMEXCELMODIFY",
"TFRMEXCELMULLANG",
"TFRMEXCELTOEST",
"TFRMFOLDERDWGLOAD",
"TFRMFOLDERFAVORITES",
"TFRMFOLDERREG",
"TFRMFOLDERSERCH",
"TFRMFORMATFILELIST",
"TFRMFORMATFILEREGE",
"TFRMFOUNDCAD",
"TFRMFOUNDDETAIL",
"TFRMFOUNDMULLANG",
"TFRMGABGAEOPTSION",
"TFRMGABGI",
"TFRMGLOBALVARLIST",
"TFRMGUNGUEDIT",
"TFRMHALJUNGBIUL",
"TFRMHEAD",
"TFRMHEADERCHANGE",
"TFRMHEADLIST",
"TFRMINVEST",
"TFRMITEMLIST",
"TFRMJDLCONVERT",
"TFRMJDLCOSTCOMPARE",
"TFRMJDLEXCELCOMPARE",
"TFRMJDLTOTALCOMPARE",
"TFRMJODALBIUL",
"TFRMLABORC",
"TFRMMACH",
"TFRMMACHDATAINPUT",
"TFRMMACHGIJUN",
"TFRMMACHGONGSIC",
"TFRMMACHINECOST",
"TFRMMACHTEXT",
"TFRMMAINTABLELIST",
"TFRMMATERIALSCOST",
"TFRMMONTHDATE",
"TFRMMULEXCEL",
"TFRMMULEXCELPAPER",
"TFRMMULLANG",
"TFRMMULLANGCAD",
"TFRMMULLANGINPUTMETHOD",
"TFRMMULLANGLIST",
"TFRMMULNAMEINPUT",
"TFRMMULPRINTRANGE",
"TFRMMULTIADD",
"TFRMMULTIDATACOPYMETHOD",
"TFRMMULTIEDITOR",
"TFRMMULTISERCH",
"TFRMMULTITLENAMEINPUT",
"TFRMMULWORD",
"TFRMNACCHALAPPLY",
"TFRMNACCHALINPUT",
"TFRMNAMEDEVIDE",
"TFRMNAMESIZECHECK",
"TFRMNEWPROJECTNAME",
"TFRMOPTION",
"TFRMOTHERLOAD",
"TFRMPERSENTCHECK",
"TFRMPRINTLISTCHECK",
"TFRMPROJECTNAMECHANGE",
"TFRMRESULTSCOST",
"TFRMSAMELIST",
"TFRMSCHEDULE",
"TFRMSENDMAIL",
"TFRMSERCHMAIN",
"TFRMSERCHPROJECT",
"TFRMSETCOSTFONT",
"TFRMSETDIGET",
"TFRMSETESTLEFTSPACE",
"TFRMSETGABBIINDEX",
"TFRMSETSUMINDEX",
"TFRMSIDEBARCUSTOMIZE",
"TFRMSILJUK",
"TFRMSILJUKSORT",
"TFRMSPECIALTEXT",
"TFRMSTUFFC",
"TFRMSTUFFCHEADCHANGE",
"TFRMTABLESORT",
"TFRMTITLESORT",
"TFRMUNITECALC",
"TFRMUNSERINFOFROMFILE",
"TFRMUPDATECHECK",
"TFRMUPDATEHISTORY",
"TFRMUPDATEINFO",
"TFRMUPGRADEMSG",
"TFRMUPLOADTOSERVER",
"TFRMUSERCOST",
"TFRMUSERINFO",
"TFRMUSESDATASERCH",
"TFRMVALUECOMPARE",
"TFRMWAGESCOST",
"TFRMWONGAACCOMH",
"TFRMWONGAACCOMV",
"TFRMWONGABASE",
"TFRMWONGADIGET",
"TFRMWONGAH",
"TFRMWONGAINVESTH",
"TFRMWONGAINVESTV",
"TFRMWONGAV",
"TFRMWORKFILELIST",
"TFRMXMLDIGETCHECK",
"TFRMXMLSOLUMSG"
]
@@ -0,0 +1,458 @@
[
{
"name": "EstPlus2.exe",
"sha256": "aaeb69e089bc7984e9973820417139cacc228d880b3a0b8f152c750bc30a45c2",
"classification": "not-managed",
"architecture": "x86",
"resources": 859,
"types": [
{
"type": "DXNAVBARSKINS",
"count": 4
},
{
"type": "DXSKINS",
"count": 2
},
{
"type": "1",
"count": 71
},
{
"type": "2",
"count": 257
},
{
"type": "3",
"count": 1
},
{
"type": "5",
"count": 13
},
{
"type": "6",
"count": 197
},
{
"type": "10",
"count": 243
},
{
"type": "12",
"count": 69
},
{
"type": "14",
"count": 1
},
{
"type": "16",
"count": 1
}
],
"rcdata_names": [
"BORLAND_SIG",
"DVCLAL",
"ELDATA",
"FORMBLACK",
"FORMBLUE",
"FORMSILVER",
"PACKAGEINFO",
"RIBBONBLACK",
"RIBBONBLUE",
"RIBBONCOMMON",
"RIBBONSILVER",
"TCXFILTERDIALOG",
"TCXFMCHECKLISTBOXDESIGNWINDOW",
"TCXFMMCLISTBOXDESIGNWINDOW",
"TCXSHELLBROWSERDLG",
"TCXSSSTYLEDESIGNER",
"TDTMESTDATATABLE",
"TDTMIMAGELIST",
"TDXBARCUSTOMCUSTOMIZATIONFORM",
"TDXBARCUSTOMIZATIONFORM",
"TDXBARITEMADDEDITOR",
"TDXBARNAMEED",
"TDXBARSUBMENUEDITOR",
"TDXFEFDIALOG",
"TDXFMADDCOMPONENT",
"TDXFMAUTOTEXT",
"TDXFMCOLORPALETTE",
"TDXFMCOMPOSITIONADDITEMS",
"TDXFMCOMPOSITIONDESIGNWINDOW",
"TDXFMCPDESIGNER",
"TDXFMCUSTOMCONTAINERDESIGNWINDOW",
"TDXFMDATETIMEFORMATS",
"TDXFMDEFINEPRINTSTYLES",
"TDXFMEDITDESCRIPTION",
"TDXFMGRIDREPORTLINKDESIGNWINDOW",
"TDXFMLVREPORTLINKDESIGNWINDOW",
"TDXFMOPTIONS",
"TDXFMPAGENUMBERFORMAT",
"TDXFMPAGESETUPDIALOG",
"TDXFMPREVIEWWDXBAR",
"TDXFMPRINTDIALOG",
"TDXFMPSREPORTPROPERTIES",
"TDXFMREPORTFOOTNOTESPROPERTIES",
"TDXFMREPORTTITLEPROPERTIES",
"TDXFMSTDPREVIEW",
"TDXFMTEXTREPORTLINKDESIGNWINDOW",
"TDXFMTVREPORTLINKDESIGNWINDOW",
"TDXLBXREPORTLINKDESIGNWINDOW",
"TDXPSPDFEXPORTDIALOGFORM",
"TDXRIBBONPRINTPREVIEWFORM",
"TFMCREATECATEGORY",
"TFMDXCHANGEFILENAME",
"TFMFILTERCONTROLDIALOG",
"TFMZOOM",
"TFRMACCOM",
"TFRMACCOMJUNLOAD",
"TFRMACCOMLOADMETHODEST",
"TFRMACCOMOPTION",
"TFRMACCOMRATIOINPUT",
"TFRMADDGROUPITEMS",
"TFRMAPPLIEDCOST",
"TFRMBIMOGBIUL",
"TFRMBOOKVIEWER",
"TFRMCADLOAD",
"TFRMCHANGEVALUE",
"TFRMCODECHANGE",
"TFRMCOMPARE",
"TFRMCONVERTTOGANGUB",
"TFRMCOST",
"TFRMCOSTCALC",
"TFRMCOSTLEVELCHECK",
"TFRMCOSTMARGIN",
"TFRMCOSTNAMEINPUT",
"TFRMCOSTSPACEEDIT",
"TFRMCOSTTOGABGAE",
"TFRMCOSTWORDCHANGE",
"TFRMCOVER",
"TFRMDAEJUNWATER",
"TFRMDATAAUTOLINK",
"TFRMDATAUPDATE",
"TFRMDBLCLICKRTN",
"TFRMDONGWON",
"TFRMDONGWONEXCELCONVERT",
"TFRMDOWNLOADFROMSERVER",
"TFRMEDITOREXPLAN",
"TFRMEDITORSBS",
"TFRMESINFO",
"TFRMESP",
"TFRMESPWONGA",
"TFRMESPWONGALIST",
"TFRMEST",
"TFRMESTBASE",
"TFRMESTCAD",
"TFRMESTCADBASE",
"TFRMESTCADPREVIEW",
"TFRMESTCADPRINT",
"TFRMESTCADTEXTDIMCHANGE",
"TFRMESTCOSTTOWONGA",
"TFRMESTEDITOR",
"TFRMESTIMATE",
"TFRMESTIMATECOST",
"TFRMESTIMATEPRN",
"TFRMESTLOGO",
"TFRMESTMAIN",
"TFRMESTMULTI",
"TFRMESTMULTIEDIT",
"TFRMESTMULTIOPTION",
"TFRMESTPREVIEW2",
"TFRMESTPRINT2",
"TFRMESTPRINTPRIVATE",
"TFRMESTPRINTPUBLIC",
"TFRMESTPRINTRANGE",
"TFRMESTSERCH",
"TFRMESTSUBBASE",
"TFRMESTSUBSERCH",
"TFRMESTTITLESETCOLOR",
"TFRMEXCELCONVERT",
"TFRMEXCELCONVERTESTIPRN",
"TFRMEXCELCONVERTSILJUK",
"TFRMEXCELMODIFY",
"TFRMEXCELMULLANG",
"TFRMEXCELTOEST",
"TFRMFOLDERDWGLOAD",
"TFRMFOLDERFAVORITES",
"TFRMFOLDERREG",
"TFRMFOLDERSERCH",
"TFRMFORMATFILELIST",
"TFRMFORMATFILEREGE",
"TFRMFOUNDCAD",
"TFRMFOUNDDETAIL",
"TFRMFOUNDMULLANG",
"TFRMGABGAEOPTSION",
"TFRMGABGI",
"TFRMGLOBALVARLIST",
"TFRMGUNGUEDIT",
"TFRMHALJUNGBIUL",
"TFRMHEAD",
"TFRMHEADERCHANGE",
"TFRMHEADLIST",
"TFRMINVEST",
"TFRMITEMLIST",
"TFRMJDLCONVERT",
"TFRMJDLCOSTCOMPARE",
"TFRMJDLEXCELCOMPARE",
"TFRMJDLTOTALCOMPARE",
"TFRMJODALBIUL",
"TFRMLABORC",
"TFRMMACH",
"TFRMMACHDATAINPUT",
"TFRMMACHGIJUN",
"TFRMMACHGONGSIC",
"TFRMMACHINECOST",
"TFRMMACHTEXT",
"TFRMMAINTABLELIST",
"TFRMMATERIALSCOST",
"TFRMMONTHDATE",
"TFRMMULEXCEL",
"TFRMMULEXCELPAPER",
"TFRMMULLANG",
"TFRMMULLANGCAD",
"TFRMMULLANGINPUTMETHOD",
"TFRMMULLANGLIST",
"TFRMMULNAMEINPUT",
"TFRMMULPRINTRANGE",
"TFRMMULTIADD",
"TFRMMULTIDATACOPYMETHOD",
"TFRMMULTIEDITOR",
"TFRMMULTISERCH",
"TFRMMULTITLENAMEINPUT",
"TFRMMULWORD",
"TFRMNACCHALAPPLY",
"TFRMNACCHALINPUT",
"TFRMNAMEDEVIDE",
"TFRMNAMESIZECHECK",
"TFRMNEWPROJECTNAME",
"TFRMOPTION",
"TFRMOTHERLOAD",
"TFRMPERSENTCHECK",
"TFRMPRINTLISTCHECK",
"TFRMPROJECTNAMECHANGE",
"TFRMRESULTSCOST",
"TFRMSAMELIST",
"TFRMSCHEDULE",
"TFRMSENDMAIL",
"TFRMSERCHMAIN",
"TFRMSERCHPROJECT",
"TFRMSETCOSTFONT",
"TFRMSETDIGET",
"TFRMSETESTLEFTSPACE",
"TFRMSETGABBIINDEX",
"TFRMSETSUMINDEX",
"TFRMSIDEBARCUSTOMIZE",
"TFRMSILJUK",
"TFRMSILJUKSORT",
"TFRMSPECIALTEXT",
"TFRMSTUFFC",
"TFRMSTUFFCHEADCHANGE",
"TFRMTABLESORT",
"TFRMTITLESORT",
"TFRMUNITECALC",
"TFRMUNSERINFOFROMFILE",
"TFRMUPDATECHECK",
"TFRMUPDATEHISTORY",
"TFRMUPDATEINFO",
"TFRMUPGRADEMSG",
"TFRMUPLOADTOSERVER",
"TFRMUSERCOST",
"TFRMUSERINFO",
"TFRMUSESDATASERCH",
"TFRMVALUECOMPARE",
"TFRMWAGESCOST",
"TFRMWONGAACCOMH",
"TFRMWONGAACCOMV",
"TFRMWONGABASE",
"TFRMWONGADIGET",
"TFRMWONGAH",
"TFRMWONGAINVESTH",
"TFRMWONGAINVESTV",
"TFRMWONGAV",
"TFRMWORKFILELIST",
"TFRMXMLDIGETCHECK",
"TFRMXMLSOLUMSG",
"TFRRCOST",
"TFRRESP",
"TFRREST",
"TFRRESTBASE",
"TFRRESTIMATE",
"TFRRESTSUBBASE",
"TFRRHEAD",
"TFRRLABORC",
"TFRRMACH",
"TFRRSILJUK",
"TFRRSTUFFC",
"TFRRWONGA",
"TLOGINDIALOG",
"TPASSWORDDIALOG",
"TWPPAGEPROP",
"TWPPARAGRAPHBORD",
"TWPPARAGRAPHPROP",
"TWPPREVIEWFORM",
"TWPTABLEDIALOG",
"TWPTABLESELECT",
"TWPTCOLORSELECTOR"
]
},
{
"name": "EstViewer.exe",
"sha256": "e0b615493619acc7a4937e4e97d126f0ae8cdd495136cb7c5b016f6f6614cba8",
"classification": "not-managed",
"architecture": "x86",
"resources": null,
"types": [
],
"rcdata_names": [
]
},
{
"name": "ProductBook.exe",
"sha256": "925117d4f62bf911d257aa2413cc56cacb9d2ff46820fda1d159b9f3ce4698f0",
"classification": "not-managed",
"architecture": "x86",
"resources": 694,
"types": [
{
"type": "DXSKINS",
"count": 2
},
{
"type": "PNG",
"count": 28
},
{
"type": "SVG",
"count": 14
},
{
"type": "1",
"count": 148
},
{
"type": "2",
"count": 100
},
{
"type": "3",
"count": 1
},
{
"type": "5",
"count": 2
},
{
"type": "6",
"count": 253
},
{
"type": "10",
"count": 82
},
{
"type": "12",
"count": 61
},
{
"type": "14",
"count": 1
},
{
"type": "16",
"count": 1
},
{
"type": "24",
"count": 1
}
],
"rcdata_names": [
"DVCLAL",
"DXRECANCHOR",
"DXRECPMIMAGES",
"FILTERCONTROLGROUPIMAGES",
"FILTERCONTROLOPERATORIMAGES",
"PACKAGEINFO",
"PLATFORMTARGETS",
"RECRULERFIRSTLINEINDENT",
"RECRULERFIRSTLINEINDENTDISABLED",
"RECRULERHALFTICK",
"RECRULERLEFTINDENT",
"RECRULERLEFTINDENTBOTTOM",
"RECRULERLEFTINDENTBOTTOMDISABLED",
"RECRULERLEFTINDENTDISABLED",
"RECRULERQUARTERTICK",
"RECRULERRIGHTINDENT",
"RECRULERRIGHTINDENTDISABLED",
"RECRULERTABLECOLUMNBORDER",
"RECRULERTABLECOLUMNBORDERDISABLED",
"RECRULERTABLEROWBORDER",
"RECRULERTABLEROWBORDERDISABLED",
"TCXFILTERDIALOG",
"TCXGRIDDETACHEDEDITFORM",
"TCXGRIDLAYOUTVIEWCUSTOMIZATIONFORM",
"TCXGRIDROWLAYOUTCUSTOMIZATIONFORM",
"TCXGRIDTABLEROWLAYOUTCUSTOMIZATIONFORM",
"TCXGRIDTABLEVIEWINPLACEEDITFORMCUSTOMIZATIONFORM",
"TCXGRIDVIEWLAYOUTCUSTOMIZATIONFORM",
"TDXBARCUSTOMCUSTOMIZATIONFORM",
"TDXBARCUSTOMIZATIONFORM",
"TDXBARITEMADDEDITOR",
"TDXBARNAMEED",
"TDXBARSUBMENUEDITOR",
"TDXCOLORDIALOGFORM",
"TDXEXPRESSIONEDITOR",
"TDXFLOATINGOBJECTLAYOUTDIALOGFORM",
"TDXFRMCOMMONFILEDIALOG",
"TDXLAYOUTCONTROLCUSTOMIZEFORM",
"TDXPASSWORDDIALOGFORM",
"TDXQUERYPASSWORDFORM",
"TDXRANGEEDITINGPERMISSIONSFORM",
"TDXRICHEDITBOOKMARKDIALOGFORM",
"TDXRICHEDITBORDERSHADINGDIALOGFORM",
"TDXRICHEDITBULLETEDLISTDIALOGFORM",
"TDXRICHEDITCOLUMNSSETUPDIALOGFORM",
"TDXRICHEDITCUSTOMDIALOGFORM",
"TDXRICHEDITCUSTOMINSERTDELETETABLECELLSDIALOGFORM",
"TDXRICHEDITCUSTOMNUMBERINGLISTFORM",
"TDXRICHEDITCUSTOMSIMPLENUMBERINGLISTFORM",
"TDXRICHEDITCUSTOMTABLEOPTIONSDIALOGFORM",
"TDXRICHEDITDELETETABLECELLSDIALOGFORM",
"TDXRICHEDITDIALOGINPUTBOX",
"TDXRICHEDITEDITSTYLEDIALOGFORM",
"TDXRICHEDITFONTDIALOGFORM",
"TDXRICHEDITHYPERLINKDIALOGFORM",
"TDXRICHEDITINSERTMERGEFIELDFORM",
"TDXRICHEDITINSERTTABLECELLSDIALOGFORM",
"TDXRICHEDITINSERTTABLEFORM",
"TDXRICHEDITLINENUMBERINGDIALOGFORM",
"TDXRICHEDITMERGEOPTIONSDIALOGFORM",
"TDXRICHEDITMULTILEVELNUMBERINGLISTDIALOGFORM",
"TDXRICHEDITNUMBERINGLISTDIALOGFORM",
"TDXRICHEDITPAGESETUPDIALOGFORM",
"TDXRICHEDITPARAGRAPHDIALOGFORM",
"TDXRICHEDITSEARCHTEXTDIALOGFORM",
"TDXRICHEDITSIMPLENUMBERINGLISTDIALOGFORM",
"TDXRICHEDITSPLITTABLECELLSDIALOGFORM",
"TDXRICHEDITSYMBOLDIALOGFORM",
"TDXRICHEDITTABLECELLOPTIONSDIALOGFORM",
"TDXRICHEDITTABLEOFCONTENTSFORM",
"TDXRICHEDITTABLEOPTIONSDIALOGFORM",
"TDXRICHEDITTABLEPROPERTIESDIALOGFORM",
"TDXRICHEDITTABLESTYLEDIALOGFORM",
"TDXRICHEDITTABSDIALOGFORM",
"TFMFILTERCONTROLDIALOG",
"TFMSHELLDIALOGCOLUMNCUSTOMIZATION",
"TFRMADDGROUPITEMS",
"TFRMCAMERADIALOG",
"TFRMPRODUCTBOOK",
"TLAYOUTEDITFORM",
"TLOGINDIALOG",
"TPASSWORDDIALOG"
]
}
]
@@ -0,0 +1,5 @@
{
"path": "C:\\Dasansoft\\Est Plus 2\\EstPlus2.exe",
"sha256": "aaeb69e089bc7984e9973820417139cacc228d880b3a0b8f152c750bc30a45c2",
"matches_initial": true
}
@@ -0,0 +1,48 @@
# 화면 구성·이벤트 연결 조사
## 범위와 근거
REA가 확인한 주 실행 파일의 PE 리소스 오프셋·길이·SHA-256을 기준으로 추출한 TPF0 자료 232개를 보조 파서로 해석했다. 이전 프로그램의 분석 결과는 읽지 않았고 범용 DFM 판독 코드만 재사용했다. 이 결과는 REA 자체의 화면 해석 출력과 구분한다.
232개 모두 입력 끝까지 소비했고 문자 해석 오류는 0건이다. CP949는 ANSI 형식 값의 해석 가정이며, UTF-16·UTF-8은 해당 형식 태그를 따른다. 전체 바이트 소비와 문자 오류 0건이 의미 해석까지 보장하지는 않는다.
## 확인 결과
- 리소스 루트 232개, 구성요소 8,126개. 루트에는 대화상자·데이터 모듈·외부 라이브러리 화면도 포함되므로 사용자 업무 화면 232개로 세지 않는다.
- 이벤트 속성 연결 3,123개, 서로 다른 처리기 이름 1,556개.
- 주 화면 리소스 TFRMESTMAIN: 구성요소 244개, 저장 제목 EST PLUS5.
- Windows 파일 버전 정보: EstPlus2.exe 5.2.6.0. 폴더명 Est Plus 2와 구분한다.
- 주요 UI 클래스에는 DevExpress 계열로 보이는 TcxGrid·TdxBarButton, TWP 계열 편집 구성요소 등이 있다. 정확한 라이브러리 버전은 미확인이다.
## 주 화면에 저장된 기능 구성
| 영역 | 리소스에 저장된 메뉴 예시 |
|---|---|
| 파일 | 새내역서 만들기, 불러오기, 저장하기, 다른이름으로 저장, 공내역 파일로 저장 |
| 업무 모드 | 내역서, 설계변경, 표준내역서, 표준설계변경, 기성고, 연차공사, 계약심사 |
| 작업 자료 | 내역서, 일위, 단가, 기계, 견적, 표준, 자재, 노임, 수량, 도면 |
| 재계산 | 일건서류전체, 내역서, 일건서류 전체(수량산출+) |
| 자리수 | 절하, 절상, 사사오입, AUTO 및 소수 0~6위 표시 |
| 문서·출력 | 원가계산서, 수량산출서, 도면, 표지, 공사설명서, 시방서, 예정공정표, 갑지, 견적서 |
| 변환 | Excel 양방향, 조달청 XML 양방향, 변환 후 단가 비교 |
메뉴의 존재는 리소스에서 확인한 사실이며, 실행 시 표시·권한·성공 여부는 미확인이다. 외부 전송·업데이트 메뉴는 실행하지 않았다.
## 이벤트 주소 후보
Delphi 형식으로 보이는 메서드 엔트리의 길이·이름·실행 구역 주소를 대조했다. 처리기 이름 1,556개 중 단일 주소 후보 1,239개, 복수 후보 292개, 미발견 25개다. 복수 후보는 상이한 클래스의 같은 메서드 이름일 수 있으므로 임의로 하나를 선택하지 않는다. 이 검사는 보조 정적 검사이며 REA 함수·명령어 확인으로 후속 검증한다.
선택한 주요 이벤트는 selected_event_candidates.json, 전체 후보는 event_address_candidates.json에 기록했다. 저장·불러오기·재계산과 자리수 변경은 단일 주소 후보가 확인됐다. 자리수 메뉴 여러 개가 같은 mnuDigetAutoClick 처리기를 공유하므로 메뉴별 속성 값과 코드 분기 확인이 필요하다.
## 저장 자료 연결의 단서
UI의 필드 바인딩 622개에서 서로 다른 필드명 122개를 얻었다. DBISAM 테이블 구성요소와 메모리 테이블 구성요소가 함께 존재한다. 화면 바인딩은 실제 디스크 스키마·필드형·외래키를 증명하지 않는다. 저장 구조 조사는 별도 폴더에 보존했다.
## 산출물
forms.json, captions.json, events.json, classes.json, parsed/, parse_summary.json, event_address_candidates.json. 모든 텍스트 산출물은 UTF-8이다.
## 자리수 메뉴의 저장된 속성
공통 처리기 mnuDigetAutoClick에 연결된 메뉴에서 AUTO의 Tag는 -1, 절하 소수 1~6위는 1~6, 절상 소수 0~6위는 100~106, 사사오입 소수 0~6위는 200~206이다. 절하 0위 항목은 Tag 속성이 명시 저장되지 않았다. 기본값을 코드 확인 없이 임의로 확정하지 않는다. 원시 속성 표는 rounding_menu_tags.json에 보존했다. 이 구조만으로 음수 처리·실수 오차·합계 시점·절사 단위를 확정하지 않는다.
@@ -0,0 +1,317 @@
# Data module grid bindings
Auxiliary DFM interpretation; field types and storage tables are not verified.
| View | Tag | Field | Stored label |
|---|---|---|---|
| tvbWongaH | 125 | NumStr | 구분 |
| tvbWongaH | 125 | Name | 비 목 |
| tvbWongaH | 125 | SC | 당초금액 |
| tvbWongaH | 125 | Cost | 금 액 |
| tvbWongaH | 125 | Youl | 요율 |
| tvbWongaH | 125 | VSusic | 산 출 근 거 |
| tvbLaborc | 6 | Index | No |
| tvbLaborc | 6 | Code | 코 드 |
| tvbLaborc | 6 | Name | 품 명 |
| tvbLaborc | 6 | Size | 규 격 |
| tvbLaborc | 6 | Unite | 단위 |
| tvbLaborc | 6 | Cost1 | 단가1 |
| tvbLaborc | 6 | Cost2 | 단가2 |
| tvbLaborc | 6 | Cost3 | 단가3 |
| tvbLaborc | 6 | Cost4 | 단가4 |
| tvbLaborc | 6 | Cost5 | 단가5 |
| tvbLaborc | 6 | Cost6 | 단가6 |
| tvbLaborc | 6 | OTC | 당초단가 |
| tvbLaborc | 6 | Ratio | 할증(%) |
| tvbLaborc | 6 | NachalRatio | 낙찰율(%) |
| tvbLaborc | 6 | TC | 적용단가 |
| tvbLaborc | 6 | ValueIndex | 적용방법 |
| tvbLaborc | 6 | Date | 적용일자 |
| tvbLaborc | 6 | Bigo | 비 고 |
| tvbStuffc | 5 | Index | No |
| tvbStuffc | 5 | Code | 코 드 |
| tvbStuffc | 5 | Name | 품 명 |
| tvbStuffc | 5 | Size | 규 격 |
| tvbStuffc | 5 | Unite | 단위 |
| tvbStuffc | 5 | Cost1 | 단 가 |
| tvbStuffc | 5 | Page1 | Page |
| tvbStuffc | 5 | Cost2 | 단 가 |
| tvbStuffc | 5 | Page2 | Page |
| tvbStuffc | 5 | Cost3 | 단 가 |
| tvbStuffc | 5 | Page3 | Page |
| tvbStuffc | 5 | Cost4 | 단 가 |
| tvbStuffc | 5 | Page4 | Page |
| tvbStuffc | 5 | Cost5 | 단 가 |
| tvbStuffc | 5 | Page5 | Page |
| tvbStuffc | 5 | Cost6 | 단 가 |
| tvbStuffc | 5 | Page6 | Page |
| tvbStuffc | 5 | OTC | 당초단가 |
| tvbStuffc | 5 | Ratio | 할증(%) |
| tvbStuffc | 5 | NachalRatio | 낙찰율(%) |
| tvbStuffc | 5 | TC | 적용단가 |
| tvbStuffc | 5 | ValueIndex | 적용방법 |
| tvbStuffc | 5 | Date | 적용일자 |
| tvbStuffc | 5 | Gangub | 구분 |
| tvbStuffc | 5 | Bigo | 비 고 |
| tvbEstiMate | 101 | Index | No |
| tvbEstiMate | 101 | Code | 코 드 |
| tvbEstiMate | 101 | Name | 품 명 |
| tvbEstiMate | 101 | Size | 규 격 |
| tvbEstiMate | 101 | GN | |
| tvbEstiMate | 101 | Unite | 단위 |
| tvbEstiMate | 101 | TU | |
| tvbEstiMate | 101 | OTC | 합 계 |
| tvbEstiMate | 101 | NU | |
| tvbEstiMate | 101 | ONC | 노무비 |
| tvbEstiMate | 101 | GU | |
| tvbEstiMate | 101 | OGC | 재료비 |
| tvbEstiMate | 101 | JU | |
| tvbEstiMate | 101 | OJC | 경 비 |
| tvbEstiMate | 101 | SU | |
| tvbEstiMate | 101 | Ratio | 할증(%) |
| tvbEstiMate | 101 | NachalRatio | 낙찰율(%) |
| tvbEstiMate | 101 | TC | 적용단가 |
| tvbEstiMate | 101 | Bigo | 비 고 |
| tvbSiljuk | 21 | Index | No |
| tvbSiljuk | 21 | Code | 코 드 |
| tvbSiljuk | 21 | Name | 품 명 |
| tvbSiljuk | 21 | Size | 규 격 |
| tvbSiljuk | 21 | Unite | 단위 |
| tvbSiljuk | 21 | OTC | 당초단가 |
| tvbSiljuk | 21 | Ratio | 할증(%) |
| tvbSiljuk | 21 | ONC | 노무비 |
| tvbSiljuk | 21 | OGC | 재료비 |
| tvbSiljuk | 21 | OJC | 경 비 |
| tvbSiljuk | 21 | NCRatio | 노무비율(%) |
| tvbSiljuk | 21 | NachalRatio | 낙찰율(%) |
| tvbSiljuk | 21 | TC | 적용단가 |
| tvbSiljuk | 21 | Bigo | 비 고 |
| tvbSiljuk | 21 | Date | 적용일자 |
| tvbMach | 4 | Index | No |
| tvbMach | 4 | Code | 코 드 |
| tvbMach | 4 | Name | 명 칭 |
| tvbMach | 4 | Size | 규 격 |
| tvbMach | 4 | VSusic | 산 출 근 거 |
| tvbMach | 4 | TC | 합 계 |
| tvbMach | 4 | NC | 노무비 |
| tvbMach | 4 | GC | 재료비 |
| tvbMach | 4 | JC | 경 비 |
| tvbMach | 4 | SC | 실 적 |
| tvbMach | 4 | Bigo | 비 고 |
| tvbMachTitle | 105 | Index | No |
| tvbMachTitle | 105 | Code | 코 드 |
| tvbMachTitle | 105 | Name | 품 명 |
| tvbMachTitle | 105 | Size | 규 격 |
| tvbMachTitle | 105 | Unite | 단위 |
| tvbMachTitle | 105 | TC | 합 계 |
| tvbMachTitle | 105 | NC | 노무비 |
| tvbMachTitle | 105 | GC | 재료비 |
| tvbMachTitle | 105 | JC | 경 비 |
| tvbMachTitle | 105 | SC | 실 적 |
| tvbMachTitle | 105 | Bigo | 비 고 |
| tvbCost | 3 | Code | 코 드 |
| tvbCost | 3 | LineData | 산 출 근 거 |
| tvbCost | 3 | TC | 합 계 |
| tvbCost | 3 | NC | 노무비 |
| tvbCost | 3 | GC | 재료비 |
| tvbCost | 3 | JC | 경 비 |
| tvbCost | 3 | SC | 실 적 |
| tvbCostTitle | 104 | Index | No |
| tvbCostTitle | 104 | Code | 코 드 |
| tvbCostTitle | 104 | Name | 품 명 |
| tvbCostTitle | 104 | Size | 규 격 |
| tvbCostTitle | 104 | Unite | 단위 |
| tvbCostTitle | 104 | TC | 합 계 |
| tvbCostTitle | 104 | NC | 노무비 |
| tvbCostTitle | 104 | GC | 재료비 |
| tvbCostTitle | 104 | JC | 경 비 |
| tvbCostTitle | 104 | SC | 실 적 |
| tvbCostTitle | 104 | NachalRatio | 낙찰율(%) |
| tvbCostTitle | 104 | Bigo | 비 고 |
| tvbHead | 2 | Code | 코 드 |
| tvbHead | 2 | Index | 호 표 |
| tvbHead | 2 | Name | 품 명 |
| tvbHead | 2 | Size | 규 격 |
| tvbHead | 2 | GN | 수 량 |
| tvbHead | 2 | Unite | 단위 |
| tvbHead | 2 | TU | 단 가 |
| tvbHead | 2 | TC | 금 액 |
| tvbHead | 2 | NU | 단 가 |
| tvbHead | 2 | NC | 금 액 |
| tvbHead | 2 | GU | 단 가 |
| tvbHead | 2 | GC | 금 액 |
| tvbHead | 2 | JU | 단 가 |
| tvbHead | 2 | JC | 금 액 |
| tvbHead | 2 | SU | 단 가 |
| tvbHead | 2 | SC | 금 액 |
| tvbHead | 2 | Bigo | 비 고 |
| tvbHeadTitle | 103 | Code | 코 드 |
| tvbHeadTitle | 103 | Index | 호 표 |
| tvbHeadTitle | 103 | Name | 품 명 |
| tvbHeadTitle | 103 | Size | 규 격 |
| tvbHeadTitle | 103 | Unite | 단위 |
| tvbHeadTitle | 103 | TC | 합 계 |
| tvbHeadTitle | 103 | NC | 노무비 |
| tvbHeadTitle | 103 | GC | 재료비 |
| tvbHeadTitle | 103 | JC | 경 비 |
| tvbHeadTitle | 103 | SC | 실 적 |
| tvbHeadTitle | 103 | NachalRatio | 낙찰율(%) |
| tvbHeadTitle | 103 | Bigo | 비 고 |
| tvbEst | 1 | Code | 코 드 |
| tvbEst | 1 | Pr | 공종 |
| tvbEst | 1 | Name | 품 명 |
| tvbEst | 1 | Size | 규 격 |
| tvbEst | 1 | GN | 수 량 |
| tvbEst | 1 | Unite | 단위 |
| tvbEst | 1 | TU | 단 가 |
| tvbEst | 1 | TC | 금 액 |
| tvbEst | 1 | NU | 단 가 |
| tvbEst | 1 | NC | 금 액 |
| tvbEst | 1 | GU | 단 가 |
| tvbEst | 1 | GC | 금 액 |
| tvbEst | 1 | JU | 단 가 |
| tvbEst | 1 | JC | 금 액 |
| tvbEst | 1 | SU | 단 가 |
| tvbEst | 1 | SC | 금 액 |
| tvbEst | 1 | NachalRatio | 낙찰율(%) |
| tvbEst | 1 | Bigo | 비 고 |
| tvbEstTitle | 106 | Code | 코 드 |
| tvbEstTitle | 106 | Pr | 공종 |
| tvbEstTitle | 106 | Name | 품 명 |
| tvbEstTitle | 106 | Size | 규 격 |
| tvbEstTitle | 106 | GN | 수 량 |
| tvbEstTitle | 106 | Unite | 단위 |
| tvbEstTitle | 106 | TC | 합 계 |
| tvbEstTitle | 106 | NC | 노무비 |
| tvbEstTitle | 106 | GC | 재료비 |
| tvbEstTitle | 106 | JC | 경 비 |
| tvbEstTitle | 106 | SC | 실 적 |
| tvbEstTitle | 106 | Bigo | 비 고 |
| tvbWongaV | 7 | Bimog1 | 비 목 |
| tvbWongaV | 7 | Bimog2 | 비 목 |
| tvbWongaV | 7 | Name | 비 목 |
| tvbWongaV | 7 | Gubun | 구분 |
| tvbWongaV | 7 | SC | 당초금액 |
| tvbWongaV | 7 | Cost | 금 액 |
| tvbWongaV | 7 | Youl | 요율 |
| tvbWongaV | 7 | CalcIndex | |
| tvbWongaV | 7 | VSusic | 산 출 근 거 |
| tvbWongaV | 7 | Checked | |
| tvbMulDaeBi | 108 | Code | 코 드 |
| tvbMulDaeBi | 108 | Pr | 공종 |
| tvbMulDaeBi | 108 | Name | 품 명 |
| tvbMulDaeBi | 108 | Size | 규 격 |
| tvbMulDaeBi | 108 | Unite | 단위 |
| tvbMulDaeBi | 108 | OldGN | 당 초 |
| tvbMulDaeBi | 108 | NewGN | 변 경 |
| tvbMulDaeBi | 108 | GNPlus | 증(+) |
| tvbMulDaeBi | 108 | GNMns | 감(-) |
| tvbMulDaeBi | 108 | OldCost | 당 초 |
| tvbMulDaeBi | 108 | NewCost | 변 경 |
| tvbMulDaeBi | 108 | CostPlus | 증(+) |
| tvbMulDaeBi | 108 | CostMns | 감(-) |
| tvbMulDaeBi | 108 | Bigo | 비 고 |
| tvbDaeBi | 107 | Pr | 공종 |
| tvbDaeBi | 107 | Name | 품 명 |
| tvbDaeBi | 107 | Size | 규 격 |
| tvbDaeBi | 107 | GN | 수 량 |
| tvbDaeBi | 107 | Unite | 단위 |
| tvbDaeBi | 107 | OldCost | 당 초 |
| tvbDaeBi | 107 | NewCost | 변 경 |
| tvbDaeBi | 107 | CostPlus | 증(+) |
| tvbDaeBi | 107 | CostMns | 감(-) |
| tvbDaeBi | 107 | Bigo | 비 고 |
| tvbAccom | 18 | Code | 코 드 |
| tvbAccom | 18 | Pr | 공종 |
| tvbAccom | 18 | Name | 품 명 |
| tvbAccom | 18 | Size | 규 격 |
| tvbAccom | 18 | Unite | 단위 |
| tvbAccom | 18 | GN | 수 량 |
| tvbAccom | 18 | BimogTC | 비 목 |
| tvbAccom | 18 | TU | 단 가 |
| tvbAccom | 18 | TC | 금 액 |
| tvbAccom | 18 | JunGN | 수 량 |
| tvbAccom | 18 | JunTC | 금 액 |
| tvbAccom | 18 | JunRatio | 비율 |
| tvbAccom | 18 | GumGN | 수 량 |
| tvbAccom | 18 | GumTC | 금 액 |
| tvbAccom | 18 | GumRatio | 비율 |
| tvbAccom | 18 | SaGN | 수 량 |
| tvbAccom | 18 | SaTC | 금 액 |
| tvbAccom | 18 | SaRatio | 비율 |
| tvbAccom | 18 | TotalGN | 수 량 |
| tvbAccom | 18 | TotalTC | 금 액 |
| tvbAccom | 18 | TotalRatio | 비율 |
| tvbAccom | 18 | Bigo | 비 고 |
| tvbAccomTitle | 153 | Pr | 공종 |
| tvbAccomTitle | 153 | Name | 품 명 |
| tvbAccomTitle | 153 | Size | 규 격 |
| tvbAccomTitle | 153 | Unite | 단위 |
| tvbAccomTitle | 153 | GN | 수 량 |
| tvbAccomTitle | 153 | BimogTC | 비 목 |
| tvbAccomTitle | 153 | TC | 도 급 액 |
| tvbAccomTitle | 153 | JunGN | 수 량 |
| tvbAccomTitle | 153 | JunTC | 금 액 |
| tvbAccomTitle | 153 | JunRatio | 비율 |
| tvbAccomTitle | 153 | GumGN | 수 량 |
| tvbAccomTitle | 153 | GumTC | 금 액 |
| tvbAccomTitle | 153 | GumRatio | 비율 |
| tvbAccomTitle | 153 | SaGN | 수 량 |
| tvbAccomTitle | 153 | SaTC | 금 액 |
| tvbAccomTitle | 153 | SaRatio | 비율 |
| tvbAccomTitle | 153 | TotalGN | 수 량 |
| tvbAccomTitle | 153 | TotalTC | 금 액 |
| tvbAccomTitle | 153 | TotalRatio | 비율 |
| tvbAccomTitle | 153 | Bigo | 비 고 |
| tvbEstMulti | 20 | Code | 코 드 |
| tvbEstMulti | 20 | Pr | 공종 |
| tvbEstMulti | 20 | Name | 품 명 |
| tvbEstMulti | 20 | Size | 규 격 |
| tvbEstMulti | 20 | ValueIndex | 구 분 |
| tvbEstMulti | 20 | GN | 수 량 |
| tvbEstMulti | 20 | Unite | 단위 |
| tvbEstMulti | 20 | TU | 단 가 |
| tvbEstMulti | 20 | TC | 금 액 |
| tvbEstMulti | 20 | NU | 단 가 |
| tvbEstMulti | 20 | NC | 금 액 |
| tvbEstMulti | 20 | GU | 단 가 |
| tvbEstMulti | 20 | GC | 금 액 |
| tvbEstMulti | 20 | JU | 단 가 |
| tvbEstMulti | 20 | JC | 금 액 |
| tvbEstMulti | 20 | SU | 단 가 |
| tvbEstMulti | 20 | SC | 금 액 |
| tvbEstMulti | 20 | Bigo | 비 고 |
| tvbEstMultiTitle | 154 | Code | 코 드 |
| tvbEstMultiTitle | 154 | Pr | 공종 |
| tvbEstMultiTitle | 154 | Name | 품 명 |
| tvbEstMultiTitle | 154 | Size | 규 격 |
| tvbEstMultiTitle | 154 | Unite | 단위 |
| tvbEstMultiTitle | 154 | ValueIndex | 구 분 |
| tvbEstMultiTitle | 154 | TC | 합 계 |
| tvbEstMultiTitle | 154 | NC | 노무비 |
| tvbEstMultiTitle | 154 | GC | 재료비 |
| tvbEstMultiTitle | 154 | JC | 경 비 |
| tvbEstMultiTitle | 154 | SC | 실 적 |
| tvbEstMultiTitle | 154 | Bigo | 비 고 |
| tvbDongWon | 13 | Index | No |
| tvbDongWon | 13 | Code | 코 드 |
| tvbDongWon | 13 | Name | 명 칭 |
| tvbDongWon | 13 | Size | 규 격 |
| tvbDongWon | 13 | GN | 수 량 |
| tvbDongWon | 13 | Unite | 단위 |
| tvbDongWon | 13 | TU | 단 가 |
| tvbDongWon | 13 | TC | 금 액 |
| tvbWongaInvestV | 171 | Bimog1 | 비 목 |
| tvbWongaInvestV | 171 | Bimog2 | 비 목 |
| tvbWongaInvestV | 171 | Name | 비 목 |
| tvbWongaInvestV | 171 | Gubun | 구분 |
| tvbWongaInvestV | 171 | Cost_ | 요 청 금 액 |
| tvbWongaInvestV | 171 | Cost | 심 사 금 액 |
| tvbWongaInvestV | 171 | Youl | 증 감 액 |
| tvbWongaInvestV | 171 | Biul | 비 고 |
| tvbWongaInvestH | 172 | NumStr | 구분 |
| tvbWongaInvestH | 172 | Name | 비 목 |
| tvbWongaInvestH | 172 | Cost_ | 요 청 금 액 |
| tvbWongaInvestH | 172 | Cost | 심 사 금 액 |
| tvbWongaInvestH | 172 | Youl | 증 감 액 |
| tvbWongaInvestH | 172 | Biul | 비 고 |
@@ -0,0 +1,414 @@
[
{
"resource": "TFRMBIMOGBIUL",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMBOOKVIEWER",
"component": "cmData",
"class": "TDBISAMTable",
"properties": {
"DatabaseName": "AAA"
}
},
{
"resource": "TFRMBOOKVIEWER",
"component": "cmDataSource",
"class": "TDataSource",
"properties": {
"DataSet": "cmData",
"OnDataChange": "cmDataSourceDataChange"
}
},
{
"resource": "TFRMBOOKVIEWER",
"component": "cmDatabase",
"class": "TDBISAMDatabase",
"properties": {
"DatabaseName": "AAA"
}
},
{
"resource": "TFRMBOOKVIEWER",
"component": "cmSearchDS",
"class": "TDataSource",
"properties": {
"DataSet": "cmSearch"
}
},
{
"resource": "TFRMCHANGEVALUE",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "MainListTable"
}
},
{
"resource": "TFRMCODECHANGE",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMCODECHANGE",
"component": "CodeDataSource",
"class": "TDataSource",
"properties": {
"DataSet": "CodeDataTable"
}
},
{
"resource": "TFRMCOMPARE",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMCOVER",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable",
"OnDataChange": "DataSourceDataChange"
}
},
{
"resource": "TFRMCOVER",
"component": "MarginSource",
"class": "TDataSource",
"properties": {
"DataSet": "MarginTable"
}
},
{
"resource": "TFRMDAEJUNWATER",
"component": "ADOConnection1",
"class": "TADOConnection",
"properties": {
"ConnectionString": "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\ESTPLUS3000\\EstPlus\\Convert\\DaejunWater.mdb;Persist Security Info=False"
}
},
{
"resource": "TFRMDATAUPDATE",
"component": "DataSrc",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMDATAUPDATE",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "MainListTable"
}
},
{
"resource": "TFRMDONGWON",
"component": "DataSourceTitle",
"class": "TDataSource",
"properties": {
"DataSet": "DongWonTable"
}
},
{
"resource": "TFRMDONGWON",
"component": "DataSourceDetail",
"class": "TDataSource",
"properties": {
"DataSet": "DetailTable"
}
},
{
"resource": "TFRMESTCADPRINT",
"component": "dtSrcTitle",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable",
"OnDataChange": "dtSrcTitleDataChange"
}
},
{
"resource": "TFRMESTEDITOR",
"component": "WpView",
"class": "TDBWPRichText",
"properties": {
"DataSource": "DataSource"
}
},
{
"resource": "TFRMESTEDITOR",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMESTPRINT2",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "PrintInfoTable"
}
},
{
"resource": "TFRMESTPRINTPRIVATE",
"component": "FromatSource",
"class": "TDataSource",
"properties": {
"DataSet": "FormatTable"
}
},
{
"resource": "TFRMEXCELMULLANG",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMFOLDERDWGLOAD",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMFOLDERSERCH",
"component": "dtsrcSerch",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMFORMATFILELIST",
"component": "dataSrcMain",
"class": "TDataSource",
"properties": {
"DataSet": "MainTable"
}
},
{
"resource": "TFRMFORMATFILELIST",
"component": "dataSrcUser",
"class": "TDataSource",
"properties": {
"DataSet": "UserTable"
}
},
{
"resource": "TFRMGABGI",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable",
"OnDataChange": "DataSourceDataChange"
}
},
{
"resource": "TFRMGABGI",
"component": "MarginSource",
"class": "TDataSource",
"properties": {
"DataSet": "MarginTable"
}
},
{
"resource": "TFRMJDLCOSTCOMPARE",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMJDLEXCELCOMPARE",
"component": "SrcHead",
"class": "TDataSource",
"properties": {
"DataSet": "DataTableHead"
}
},
{
"resource": "TFRMJDLEXCELCOMPARE",
"component": "SrcCost",
"class": "TDataSource",
"properties": {
"DataSet": "DataTableCost"
}
},
{
"resource": "TFRMJDLEXCELCOMPARE",
"component": "SrcMach",
"class": "TDataSource",
"properties": {
"DataSet": "DataTableMach"
}
},
{
"resource": "TFRMJDLTOTALCOMPARE",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMMACHGONGSIC",
"component": "dbsrcMachText",
"class": "TDataSource",
"properties": {
"DataSet": "dbMachText"
}
},
{
"resource": "TFRMMACHTEXT",
"component": "dbsrcMachText",
"class": "TDataSource",
"properties": {
"DataSet": "dbMachText"
}
},
{
"resource": "TFRMMAINTABLELIST",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "MainListTable"
}
},
{
"resource": "TFRMMULTIDATACOPYMETHOD",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMNAMESIZECHECK",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMNAMESIZECHECK",
"component": "DataSourceDoubleList",
"class": "TDataSource",
"properties": {
"DataSet": "DoubleList"
}
},
{
"resource": "TFRMNAMESIZECHECK",
"component": "DataSourceDoubleCodeList",
"class": "TDataSource",
"properties": {
"DataSet": "DoubleCodeList"
}
},
{
"resource": "TFRMPERSENTCHECK",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMPRINTLISTCHECK",
"component": "DataSource",
"class": "TDataSource",
"properties": {
"DataSet": "PrintInfoTable"
}
},
{
"resource": "TFRMSERCHMAIN",
"component": "dtsrcMainSerch",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMSPECIALTEXT",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMTABLESORT",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMUPDATEHISTORY",
"component": "DataSrc",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMUSESDATASERCH",
"component": "DataSourceS",
"class": "TDataSource",
"properties": {
"DataSet": "SourceTable"
}
},
{
"resource": "TFRMUSESDATASERCH",
"component": "DataSourceT",
"class": "TDataSource",
"properties": {
"DataSet": "TargetTable"
}
},
{
"resource": "TFRMWORKFILELIST",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
},
{
"resource": "TFRMXMLSOLUMSG",
"component": "Wp",
"class": "TDBWPRichText",
"properties": {
"DataSource": "DataSource1"
}
},
{
"resource": "TFRMXMLSOLUMSG",
"component": "DataSource1",
"class": "TDataSource",
"properties": {
"DataSet": "DataTable"
}
}
]

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