212 lines
6.7 KiB
Plaintext
212 lines
6.7 KiB
Plaintext
{*******************************************************}
|
|
{ }
|
|
{ CttSchDefine }
|
|
{ }
|
|
{ Copyright (C) 2022 kku }
|
|
{ }
|
|
{*******************************************************}
|
|
|
|
unit CttSchDefine;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, superobject;
|
|
|
|
const
|
|
EXE_KVCTTSCH = 'KvCttSch.exe';
|
|
|
|
// DOC_EXTS_TAG = 'txt|doc|docx|xls|xlsx|ppt|pptx|hwp|hwpx|pdf|rtf|csv';
|
|
DOC_EXTS_TAG = 'txt|doc|docx|xls|xlsx|ppt|pptx|hwp|hwpx|pdf|rtf|csv|docm|dot|dotx|xlsm|xlsb|pps|pot';
|
|
// 변경, 391개 23_0216 15:01:28 kku
|
|
DOC_EXTS = 'TXT|LOG|DOC|WPS|PDF|XLS|PPT|HWP|DOCX|DOTX|XLSX|XLTX|PPTX|POTX|' +
|
|
'PPSX|HW|RTF|MW|OW| WP|WP4|WPD|WOP|WM|PW|WMF|WS|WSD|DIF|MWK|W40|' +
|
|
'WDB|CSV|WS2|SMTP|EML|MBX|STE|AW|UNI|WKS|WK1|WK3|WK4|FM3|LWP|MWP|' +
|
|
'XLC|XLM|123|PWD|MPP|VSD|MSG|OFT|VDX|SXW|SXC|STC|SXI|NSF|DOCM|' +
|
|
'DOTM|XLSM|XLTM|XLAM|PPTM|POTM|PPSM|PPAM|XLSB|XPS|DXL|ODT|ODS|' +
|
|
'ODP|ONM|GRV|PAGES|NUMBERS|KEY|XDW|ONE|DCM|MLS|ML3|ML4|ML5|ML6|' +
|
|
'ML7|ML8|ML9|MLA|EMCMF|ACCDT|GUL|JNT|MAT|FIG|OLM|VCF|ICS|VCS|IWA|' +
|
|
'VSSX|VSTX|VSTM|SDW|SGL|VOR|SDC|SDD|SDA|SMF|YML|SCPT|MB|JT|MO|QM|' +
|
|
'IV|PBIX|IBOOKS|FDF|XFDF|MSO|RSS|SMIL|XSPF|FB2|PPJ|RDF|RSD|SBML|' +
|
|
'SRU|SSML|PLS|TEI|METS|MODS|OPF|SRGS|SRX|VXML|CCXML|YIN|CML|VTU|' +
|
|
'SXD|SXG|ODM|OTH|FODP|FODS|FODT|OXT|SVM|XDF|HTM|HTML|ASF|MHT|MHTML|' +
|
|
'MXML|MXL|XML|ASP|METALINK|XDP|XUL|ABAP|AMPL|APL|ASN|AGDA|ALS|CLS|' +
|
|
'INO|AJ|AWK|BMX|BSV|B|BF|BRS|CLP|CMAKE|CBL|CCP|COB|CPY|W|MSS|CEYLON|' +
|
|
'CHPL|CLW|DCL|ICL|CP|CL|CREOLE|CR|ORC|CSD|CU|D|DART|ECL|ELM|EM|FAN|' +
|
|
'FTL|FR|G|GMS|GD|GLSL|GML|GNU|GP|GOLO|GS|GRADLE|GRAPHQL|DOT|HLSL|' +
|
|
'HAML|HBS|HY|IPF|IDR|I7X|IK|IJS|JQ|JSX|JL|SCH|KT|LFE|LOL|LAS|LASSO|' +
|
|
'LS|MS|MD|MXT|MOD|MONKEY|MOO|NL|NSI|NLOGO|VHOST|NIX|NU|SCAD|OX|' +
|
|
'OXYGENE|OZ|PWN|PLSQL|PAN|PASM|PIKE|PONY|PDE|PB|RAML|RDOC|REXX|RSC|' +
|
|
'REB|REBOL|RED|RPY|RING|ROBOT|SAS|SQL|SLS|SCI|NUT|STAN|STYL|SV|TXL|' +
|
|
'TTL|UR|URS|VIM|VB|WAT|WEBIDL|X10|XQM|XTEND|YANG|ZEP|EC|TSD|ODC|' +
|
|
'ODB|ODI|OTC|OTF|OTG|OTI|OTP|OTS|OTT|FODC|FODG|FODF|FODI|DBB|FOR|' +
|
|
'FORTH|PST|OST|CHM|EVT|EVTX|INI|PDB|COM|HLP|HQX|DIB|MDB|O|SO|PGP|' +
|
|
'HL7|EFX|CLASS|VSSM|APPLESCRIPT|C|H|CS|CPP|HPP|CSS|CLJ|CL2|COFFEE|' +
|
|
'CAKE|EL|E|ERL|ES|FS|F|GO|GRT|GVY|HS|JAVA|JS|LUA|MAKE|M|J|PHP|' +
|
|
'PASCAL|PL|PS1|PRO|PROLOG|PP|PY|R|RB|RS|SC|SH|ST|ML|SWIFT|TM|TS|' +
|
|
'V|QHC|FRM|PCAP|HXD|HXW|HXH|XWD|ASC';
|
|
AIP_EXTS = 'DOC|DOCX|XLS|XLSX|PPT|PPTX|PDF|XLSM|XLSB|XLTX|XLTM|XLT|XPS|DOCM|DOTX|' +
|
|
'DOTM|DOT|PPTM|XPS|PPSX|PPSM|PPS|POT';
|
|
OCR_IMG_EXTS = 'PNG|JPG|JPE|JPEG|BMP|TIF|TIFF|WEBP'; // 'JPG|PNG|JPE|JPEG|BMP|GIF|TIFF|PCX';
|
|
|
|
// COMPRESS_EXTS = 'ZIP|TGZ|7Z|LZH|TAR|GZ|XZ|EGG|ALZ|JAR|TBZ|RAR';
|
|
COMPRESS_EXTS = 'ZIP|7Z|LZH|GZ|EGG|ALZ|JAR|TBZ';
|
|
|
|
WM_CTTSCH_INIT = WM_USER + 2587;
|
|
WM_CTTSCH_REQUEST = WM_CTTSCH_INIT + 1;
|
|
WM_POPUP_PRTW_PROGRESS = WM_CTTSCH_REQUEST + 1;
|
|
|
|
KV_REQUEST_SEARCH_PATH = 1;
|
|
KV_RESPONSE_SEARCH_PATH = 2;
|
|
KV_SEARCH_RESULT = 3;
|
|
KV_HOOK_PRINT = 4;
|
|
|
|
// COPYDATA Command
|
|
// KV_PRTWM_PROGRESS = 501;
|
|
|
|
RESULT_SEPARATOR = '|!*!|';
|
|
|
|
DEF_TIMEOUT_SEC = 12;
|
|
|
|
KVC_REQUEST_EXTRACT_TEXT = 11001;
|
|
KVC_RESPONSE_EXTRACT_TEXT = 11002;
|
|
KVC_REQUEST_KEYWORD_SEARCH = 11003;
|
|
KVC_RESPONSE_KEYWORD_SEARCH = 11004;
|
|
|
|
type
|
|
TCttSchTaskType = (csttNone, csttTest, csttExtrSimple, csttExtrDocInfo,
|
|
csttWaterMarkImg, csttSchMulti, csttSchConnect, csttPrint);
|
|
|
|
TCttSimpleOpt = record
|
|
sSrcPath,
|
|
sDestPath,
|
|
sAssocInfo: String;
|
|
end;
|
|
|
|
PSchResult = ^TSchResult;
|
|
TSchResult = record
|
|
nHitCnt: Integer;
|
|
sFName,
|
|
sPath,
|
|
sSchName,
|
|
sExtrTxt,
|
|
sResultStr: String;
|
|
bDrm,
|
|
bMakeDrm,
|
|
bOtherDrm: Boolean;
|
|
end;
|
|
|
|
TCttSchOpt = record
|
|
hRcvHwnd: HWND;
|
|
sMK,
|
|
sSchTxt,
|
|
sZipExts, // 압축파일 안에서 나온 확장자 검색지정
|
|
sKvMdPath,
|
|
sAipExt,
|
|
sAipDMail, // 위임 계정 (메일형식), UPN
|
|
sAipPxMail, // proxyAddress 이메일 주소 형식
|
|
sAipMdPath,
|
|
sAipLabelId: String;
|
|
nUnzipDepth,
|
|
nWorkPriority,
|
|
nKvTimeoutSec: Integer;
|
|
|
|
bIncDrm,
|
|
bIncZip,
|
|
bIncFName, // 파일 이름도 검색되도록 포함
|
|
bMakeDrm,
|
|
bMakeDrmN, // 검출되지 않은 파일도 암호화, for HEC
|
|
bExtrTxt,
|
|
bSaveContent: Boolean;
|
|
bNoMatchNoti: Boolean; // 증분검사, 기존결과유지 사용 시 활성화 되서 검출되지 않은 파일 정보 전달 24_0611 08:50:05 kku
|
|
sTaskDir,
|
|
sCustomKwdPtrn,
|
|
sSvContentPath: String;
|
|
end;
|
|
|
|
TFileScanOpt = record
|
|
CttSchOpt: TCttSchOpt;
|
|
sScanExt: String;
|
|
|
|
// {$IFDEF _HE_} // 다른 프로세스와 맞추기 위해 구분 없앰 24_0610 14:31:55 kku
|
|
sScanId,
|
|
sSchTitle: String;
|
|
bShowSchTitle: Boolean;
|
|
// {$ENDIF}
|
|
|
|
sTgDirs,
|
|
sSchPtrns: String;
|
|
nLangId,
|
|
nLimitSizeMB,
|
|
nSchTimeoutSec: Integer;
|
|
bSaveFileList,
|
|
bSaveDirList,
|
|
bSaveScanList: Boolean;
|
|
sSvFilePath,
|
|
sSvDirPath,
|
|
sSvScanPath,
|
|
sIgrWordPath: String;
|
|
bPartScan: Boolean;
|
|
dtRecent: TDateTime;
|
|
end;
|
|
|
|
PPrtWaterEnt = ^TPrtWaterEnt;
|
|
TPrtWaterEnt = record
|
|
sPtrName,
|
|
sDocName,
|
|
sImgPath,
|
|
sPdfPath,
|
|
sPrtDocId: String;
|
|
// dwPageSizeT,
|
|
dwCopy,
|
|
dwTotalPage: DWORD;
|
|
bPaperV: Boolean;
|
|
sPrtIp,
|
|
DevMode,
|
|
sPaperInfo: String; // BinStr
|
|
bColor,
|
|
bUseWM: Boolean;
|
|
LogJson,
|
|
sPostApvId: String;
|
|
end;
|
|
|
|
function CttCodeToStr(sCode: String): String;
|
|
|
|
implementation
|
|
|
|
function CttCodeToStr(sCode: String): String;
|
|
begin
|
|
Result := sCode;
|
|
|
|
if Result = '1056002' then
|
|
Result := '주민등록번호'
|
|
else if Result = '1056003' then
|
|
Result := '여권번호'
|
|
else if Result = '1056004' then
|
|
Result := '전화번호'
|
|
else if Result = '1056005' then
|
|
Result := '이메일주소'
|
|
else if Result = '1056006' then
|
|
Result := '환각성약물'
|
|
else if Result = '1056007' then
|
|
Result := '금지약물'
|
|
else if Result = '1056008' then
|
|
Result := '주소'
|
|
else if Result = '1056009' then
|
|
Result := '차량번호'
|
|
else if Result = '1056010' then
|
|
Result := 'IP'
|
|
else if Result = '1056011' then
|
|
Result := '의료보장번호'
|
|
else if Result = '1056012' then
|
|
Result := '도메인'
|
|
else if Result = '1056013' then
|
|
Result := 'MAC주소'
|
|
else if Result = '1056014' then
|
|
Result := '우편번호'
|
|
else if Result = '1056015' then
|
|
Result := '계좌번호'
|
|
end;
|
|
|
|
end.
|