From 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期一, 30 三月 2026 14:24:17 +0800
Subject: [PATCH] fix: 更新內部引用方法參照

---
 scripts/dist/CB_IMGPSScanImp.remaining.txt | 1051 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,051 insertions(+), 0 deletions(-)

diff --git a/scripts/dist/CB_IMGPSScanImp.remaining.txt b/scripts/dist/CB_IMGPSScanImp.remaining.txt
new file mode 100644
index 0000000..e9fe9c3
--- /dev/null
+++ b/scripts/dist/CB_IMGPSScanImp.remaining.txt
@@ -0,0 +1,1051 @@
+[1] unit CB_IMGPSScanImp;
+[2] //TEST
+[3] {$WARN SYMBOL_PLATFORM OFF}
+[4] 
+[5] interface
+[6] 
+[7] uses
+[8]   EnScan,   { for Scanner }
+[9]   EnDiGrph, { for TDibGraphic }
+[10]   EnMisc,   { for MinFloat }
+[11]   EnTifGr,  { for TTifGraphic }
+[12]   {$IFDEF Production}
+[13]   CB_IMGPSScan_TLB,
+[14]   {$ENDIF}
+[15]   {$IFDEF Test}
+[16]   CB_IMGPSScan_test_TLB,
+[17]   {$ENDIF}
+[18] 
+[19]   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+[20]   ActiveX, AxCtrls, StdVcl, VCLUnZip, VCLZip, Encryp,
+[21]   ExtCtrls, ComCtrls, Menus, StdCtrls, Gauges, EnImgScr, PJMenuSpeedButtons,
+[22]   Buttons, ImgList, SBSimpleSSL, SBHTTPSClient, SBWinCertStorage, SBX509,
+[23]   SBCustomCertStorage, SBUtils,mpsBarco,BarcodesFinder,HTTPApp,ErrList,
+[24]   Xmltool,inifiles,printers,IdHashMessageDigest, idHash, LogFile,ShellApi,
+[25]   SBSocket,IIS_Ftp, SBSimpleFTPS;
+[26] Type
+[27]   TTransMode =(tsHttp,tsFtp,tsNone);
+[28] 
+[29] var
+[30]   Ch_WriteNote : Boolean;
+[31]   RejectCase : Boolean;
+[32]   ErrIndex : Integer;
+[33] 
+[34]   //*****預設區*****//
+[35]     Def_DeviceDelete : Boolean;  //空白頁刪除啟動
+[36]     Def_DeviceDeleteSize : Integer;  //空白頁Size
+[37]     Def_ScannerReverse : Boolean; //是否需反相
+[38]     Def_BoardClear : Boolean; //是否清黑邊
+[39]     Def_ScanDpi : Integer;    //掃瞄DPI
+[40]     Def_ScanDuplex : Boolean; //是否雙面掃瞄
+[41]     Def_ScanRotate : Integer; //掃瞄時旋轉角度
+[42]     Def_ScanDeskew : Boolean; //是否傾斜矯正
+[43]     Def_ScanBright : Integer; //亮度
+[44]     Def_ScanContrast : Integer; //對比
+[45]     Def_ScanImgShowMode : Integer; //0:清楚影像 1:不清楚影像 2:不顯示
+[46]     Def_ScanImgSetUse : Boolean; //是否使用亮度對比設定
+[47]   //*****預設區*****//
+[48] 
+[49] Const
+[50]   ISBName = 'PreViewISB';
+[51] 
+[52] {獲取自身版本號所需要 }
+[53] type
+[54]   TVersionLanguage = (vlArabic, vlBulgarian, vlCatalan, vlTraditionalChinese,
+[55]      vlCzech, vlDanish, vlGerman, vlGreek, vlUSEnglish, vlCastilianSpanish,
+[56]      vlFinnish, vlFrench, vlHebrew, vlHungarian, vlIcelandic, vlItalian,
+[57]      vlJapanese, vlKorean, vlDutch, vlNorwegianBokmel, vlPolish,
+[58]      vlBrazilianPortuguese, vlRhaetoRomanic, vlRomanian, vlRussian,
+[59]      vlCroatoSerbian, vlSlovak, vlAlbanian, vlSwedish, vlThai, vlTurkish,
+[60]      vlUrdu, vlBahasa, vlSimplifiedChinese, vlSwissGerman, vlUKEnglish,
+[61]      vlMexicanSpanish, vlBelgianFrench, vlSwissItalian, vlBelgianDutch,
+[62]      vlNorwegianNynorsk, vlPortuguese, vlSerboCroatian, vlCanadianFrench,
+[63]      vlSwissFrench, vlUnknown);
+[64] 
+[65] const LanguageValues: array[TVersionLanguage] of Word = ($0401, $0402, $0403,
+[66]    $0404, $0405, $0406, $0407, $0408, $0409, $040A, $040B, $040C, $040D,
+[67]    $040E, $040F, $0410, $0411, $0412, $0413, $0414, $0415, $0416, $0417,
+[68]    $0418, $0419, $041A, $041B, $041C, $041D, $041E, $041F, $0420, $0421,
+[69]    $0804, $0807, $0809, $080A, $080C, $0810, $0813, $0814, $0816, $081A,
+[70]    $0C0C, $100C, $0000);
+[71] {獲取自身版本號所需要 end}
+[72] 
+[73] 
+[74] type
+[75]   TScanMode = (smNew, smReplace, smInsert, smSample, smRTS);
+[76]   TpScanInfo = ^TScanInfo;
+[77]   TScanInfo = record
+[78]     MultiPage  : Boolean;
+[79]     { supplementary info when MultiPage is True }
+[80]     Graphic    : TTiffGraphic;
+[81]     Stream     : TFileStream;
+[82]     ImageCount : LongInt;
+[83]   end;
+[84]   TOMRErrInfo = record
+[85]     Display : Boolean;  //是否顯示
+[86]     Ignore : Boolean; //可否刪除
+[87]     Info : String;
+[88]     Mode : String;
+[89]   end;
+[90]   TScrollRec = Record
+[91]     HScroll : Integer;
+[92]     VScroll : Integer;
+[93]     Rate    : Single;
+[94]   end;
+[95] 
+[96] type
+[97]   TCB_IMGPSScanX = class(TActiveForm, ICB_IMGPSScanX)
+[98]     Panel1: TPanel;
+[99]     TransBtn: TBitBtn;
+[100]     Panel21: TPanel;
+[101]     ViewModeBtn: TPJMenuSpeedButton;
+[102]     Button2: TButton;
+[103]     Button1: TButton;
+[104]     OptionBtn: TBitBtn;
+[105]     SelectScanBtn: TBitBtn;
+[106]     NextPageBtn: TBitBtn;
+[107]     PrePageBtn: TBitBtn;
+[108]     FC6: TBitBtn;
+[109]     FC5: TBitBtn;
+[110]     FC4: TBitBtn;
+[111]     FC3: TBitBtn;
+[112]     FC2: TBitBtn;
+[113]     FC1: TBitBtn;
+[114]     FC0: TBitBtn;
+[115]     Panel23: TPanel;
+[116]     PJLinkedMenuSpeedButton2: TPJLinkedMenuSpeedButton;
+[117]     NewScanBtn: TBitBtn;
+[118]     AddScanBtn: TBitBtn;
+[119]     Panel4: TPanel;
+[120]     Panel2: TPanel;
+[121]     Splitter1: TSplitter;
+[122]     Panel3: TPanel;
+[123]     Label7: TLabel;
+[124]     Panel6: TPanel;
+[125]     CB1: TCheckBox;
+[126]     ScanDuplexCB: TCheckBox;
+[127]     ScanFlatCB: TCheckBox;
+[128]     Panel18: TPanel;
+[129]     Panel12: TPanel;
+[130]     Panel7: TPanel;
+[131]     Panel9: TPanel;
+[132]     Shape1: TShape;
+[133]     ImageScrollBox1: TImageScrollBox;
+[134]     imgp8: TPanel;
+[135]     lb8: TLabel;
+[136]     ISB8: TImageScrollBox;
+[137]     imgp7: TPanel;
+[138]     lb7: TLabel;
+[139]     ISB7: TImageScrollBox;
+[140]     imgp6: TPanel;
+[141]     lb6: TLabel;
+[142]     ISB6: TImageScrollBox;
+[143]     imgp5: TPanel;
+[144]     lb5: TLabel;
+[145]     ISB5: TImageScrollBox;
+[146]     imgp4: TPanel;
+[147]     lb4: TLabel;
+[148]     ISB4: TImageScrollBox;
+[149]     imgp3: TPanel;
+[150]     lb3: TLabel;
+[151]     ISB3: TImageScrollBox;
+[152]     imgp2: TPanel;
+[153]     lb2: TLabel;
+[154]     ISB2: TImageScrollBox;
+[155]     imgp1: TPanel;
+[156]     lb1: TLabel;
+[157]     Memo1: TMemo;
+[158]     Display1: TMemo;
+[159]     Panel22: TPanel;
+[160]     Panel8: TPanel;
+[161]     Label2: TLabel;
+[162]     Gauge1: TGauge;
+[163]     ScrollBar1: TScrollBar;
+[164]     Panel10: TPanel;
+[165]     PageLV: TListView;
+[166]     StatusBar1: TStatusBar;
+[167]     ImageList4: TImageList;
+[168]     ImageList3: TImageList;
+[169]     ImageList1: TImageList;
+[170]     PopupMenu2: TPopupMenu;
+[171]     mode1: TMenuItem;
+[172]     mode2: TMenuItem;
+[173]     mode3: TMenuItem;
+[174]     mode4: TMenuItem;
+[175]     N51: TMenuItem;
+[176]     ImageList2: TImageList;
+[177]     OpenDialog1: TOpenDialog;
+[178]     PopupMenu3: TPopupMenu;
+[179]     PM301: TMenuItem;
+[180]     PM302: TMenuItem;
+[181]     PM303: TMenuItem;
+[182]     Timer1: TTimer;
+[183]     TomEncryption1: TTomEncryption;
+[184]     SaveDialog1: TSaveDialog;
+[185]     Timer2: TTimer;
+[186]     VCLZip1: TVCLZip;
+[187]     PopupMenu4: TPopupMenu;
+[188]     PM401: TMenuItem;
+[189]     PM402: TMenuItem;
+[190]     PM403: TMenuItem;
+[191]     PM404: TMenuItem;
+[192]     ElWinCertStorage: TElWinCertStorage;
+[193]     ElMemoryCertStorage: TElMemoryCertStorage;
+[194]     Panel5: TPanel;
+[195]     AddCredit1RG: TRadioGroup;
+[196]     Panel11: TPanel;
+[197]     SampleScanBtn: TBitBtn;
+[198]     WNoteBtn: TBitBtn;
+[199]     PopupMenu1: TPopupMenu;
+[200]     PM101: TMenuItem;
+[201]     N12: TMenuItem;
+[202]     PM102: TMenuItem;
+[203]     MenuItem1: TMenuItem;
+[204]     PM103: TMenuItem;
+[205]     PM104: TMenuItem;
+[206]     N7: TMenuItem;
+[207]     PM106: TMenuItem;
+[208]     PM107: TMenuItem;
+[209]     PM108: TMenuItem;
+[210]     PM109: TMenuItem;
+[211]     PopupMenu5: TPopupMenu;
+[212]     PM501: TMenuItem;
+[213]     PM502: TMenuItem;
+[214]     PM503: TMenuItem;
+[215]     PM504: TMenuItem;
+[216]     N5: TMenuItem;
+[217]     PM505: TMenuItem;
+[218]     PM506: TMenuItem;
+[219]     N29: TMenuItem;
+[220]     PM510: TMenuItem;
+[221]     PM509: TMenuItem;
+[222]     PM507: TMenuItem;
+[223]     N15: TMenuItem;
+[224]     PM508: TMenuItem;
+[225]     ExportBt: TButton;
+[226]     ImportBt: TButton;
+[227]     CheckCaseBtn: TBitBtn;
+[228]     DenialTimeLb: TLabel;
+[229]     Panel14: TPanel;
+[230]     ScrollBox1: TScrollBox;
+[231]     Label1: TLabel;
+[232]     Button3: TButton;
+[233]     Panel15: TPanel;
+[234]     Button4: TButton;
+[235]     PopupMenu6: TPopupMenu;
+[236]     PM602: TMenuItem;
+[237]     PM601: TMenuItem;
+[238]     PM605: TMenuItem;
+[239]     PM603: TMenuItem;
+[240]     PM604: TMenuItem;
+[241]     N8: TMenuItem;
+[242]     Panel16: TPanel;
+[243]     SpeedButton3: TSpeedButton;
+[244]     SpeedButton14: TSpeedButton;
+[245]     SpeedButton15: TSpeedButton;
+[246]     SpeedButton16: TSpeedButton;
+[247]     SpeedButton17: TSpeedButton;
+[248]     SpeedButton18: TSpeedButton;
+[249]     SpeedButton19: TSpeedButton;
+[250]     SpeedButton20: TSpeedButton;
+[251]     SpeedButton21: TSpeedButton;
+[252]     SpeedButton22: TSpeedButton;
+[253]     Edit1: TEdit;
+[254]     PM110: TMenuItem;
+[255]     Image1: TImage;
+[256]     UseOldCaseLb: TLabel;
+[257]     PM111: TMenuItem;
+[258]     SmoothCB: TCheckBox;
+[259]     ISB_BW: TImageScrollBox;
+[260]     N1: TMenuItem;
+[261]     N2: TMenuItem;
+[262]     ISB1: TImageScrollBox;
+[263]     Label3: TLabel;
+[264]     LogFile1: TLogFile;
+[265]     ScanGrayCB: TCheckBox;
+[266]     AttFileGB: TGroupBox;
+[267]     AttListBox: TListBox;
+[268]     Panel20: TPanel;
+[269]     AddAttFileLB: TLabel;
+[270]     DelAttFileLB: TLabel;
+[271]     Splitter2: TSplitter;
+[272]     Panel17: TPanel;
+[273]     TreeView1: TTreeView;
+[274]     Panel13: TPanel;
+[275]     PrtLb: TLabel;
+[276]     CaseHelpBtn: TBitBtn;
+[277]     HTTPSClient: TElHTTPSClient;
+[278]     Button5: TButton;
+[279]     FTPSClient1: TElSimpleFTPSClient;
+[280]     Button6: TButton;
+[281]     procedure ActiveFormCreate(Sender: TObject);
+[282]     procedure Panel9Resize(Sender: TObject);
+[283]     procedure ISB1Click(Sender: TObject);
+[284]     procedure WNoteBtnClick(Sender: TObject);
+[285]     procedure CaseHelpBtnClick(Sender: TObject);
+[286]     procedure FC0Click(Sender: TObject);
+[287]     procedure FC1Click(Sender: TObject);
+[288]     procedure FC2Click(Sender: TObject);
+[289]     procedure FC3Click(Sender: TObject);
+[290]     procedure FC4Click(Sender: TObject);
+[291]     procedure FC5Click(Sender: TObject);
+[292]     procedure FC6Click(Sender: TObject);
+[293]     procedure PrePageBtnClick(Sender: TObject);
+[294]     procedure NextPageBtnClick(Sender: TObject);
+[295]     procedure OptionBtnClick(Sender: TObject);
+[296]     procedure SelectScanBtnClick(Sender: TObject);
+[297]     procedure mode1Click(Sender: TObject);
+[298]     procedure mode2Click(Sender: TObject);
+[299]     procedure mode3Click(Sender: TObject);
+[300]     procedure mode4Click(Sender: TObject);
+[301]     procedure N51Click(Sender: TObject);
+[302]     procedure ScrollBar1Change(Sender: TObject);
+[303]     procedure ISB1EndScroll(Sender: TObject);
+[304]     procedure ISB1ImageMouseDown(Sender: TObject; Button: TMouseButton;
+[305]       Shift: TShiftState; X, Y: Integer);
+[306]     procedure ISB1ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
+[307]       Y: Integer);
+[308]     procedure ISB1ImageMouseUp(Sender: TObject; Button: TMouseButton;
+[309]       Shift: TShiftState; X, Y: Integer);
+[310]     procedure PM508Click(Sender: TObject);
+[311]     procedure PM401Click(Sender: TObject);
+[312]     procedure PM402Click(Sender: TObject);
+[313]     procedure PM403Click(Sender: TObject);
+[314]     procedure PM404Click(Sender: TObject);
+[315]     procedure TreeView1Click(Sender: TObject);
+[316]     procedure NewScanBtnClick(Sender: TObject);
+[317]     procedure AddScanBtnClick(Sender: TObject);
+[318]     procedure PageLVClick(Sender: TObject);
+[319]     procedure PageLVKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
+[320]     procedure PageLVMouseDown(Sender: TObject; Button: TMouseButton;
+[321]       Shift: TShiftState; X, Y: Integer);
+[322]     procedure PM101Click(Sender: TObject);
+[323]     procedure PM104Click(Sender: TObject);
+[324]     procedure PM102Click(Sender: TObject);
+[325]     procedure PM103Click(Sender: TObject);
+[326]     procedure PM106Click(Sender: TObject);
+[327]     procedure PM107Click(Sender: TObject);
+[328]     procedure PM108Click(Sender: TObject);
+[329]     procedure PM109Click(Sender: TObject);
+[330]     procedure PM301Click(Sender: TObject);
+[331]     procedure PM302Click(Sender: TObject);
+[332]     procedure PM303Click(Sender: TObject);
+[333]     procedure PM501Click(Sender: TObject);
+[334]     procedure PM502Click(Sender: TObject);
+[335]     procedure PM503Click(Sender: TObject);
+[336]     procedure PM504Click(Sender: TObject);
+[337]     procedure PM505Click(Sender: TObject);
+[338]     procedure PM510Click(Sender: TObject);
+[339]     procedure PM509Click(Sender: TObject);
+[340]     procedure PM507Click(Sender: TObject);
+[341]     procedure PopupMenu1Popup(Sender: TObject);
+[342]     procedure PopupMenu4Popup(Sender: TObject);
+[343]     procedure PopupMenu5Popup(Sender: TObject);
+[344]     procedure SampleScanBtnClick(Sender: TObject);
+[345]     procedure StatusBar1DblClick(Sender: TObject);
+[346]     procedure ExportBtClick(Sender: TObject);
+[347]     procedure ImportBtClick(Sender: TObject);
+[348]     procedure HTTPSClientCertificateValidate(Sender: TObject;
+[349]       X509Certificate: TElX509Certificate; var Validate: Boolean);
+[350]     procedure ScanDuplexCBClick(Sender: TObject);
+[351]     procedure CheckCaseBtnClick(Sender: TObject);
+[352]     procedure Timer1Timer(Sender: TObject);
+[353]     procedure Timer2Timer(Sender: TObject);
+[354]     procedure TransBtnClick(Sender: TObject);
+[355]     procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
+[356]     procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
+[357]       State: TDragState; var Accept: Boolean);
+[358]     procedure TreeView1KeyUp(Sender: TObject; var Key: Word;
+[359]       Shift: TShiftState);
+[360]     procedure TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
+[361]       Shift: TShiftState; X, Y: Integer);
+[362]     procedure ViewModeBtnMouseEnter(Sender: TObject);
+[363]     procedure Button3Click(Sender: TObject);
+[364]     procedure AddCredit1RGClick(Sender: TObject);
+[365]     procedure CB1Click(Sender: TObject);
+[366]     procedure Button4Click(Sender: TObject);
+[367]     procedure ISB1Enter(Sender: TObject);
+[368]     procedure TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
+[369]       Y: Integer);
+[370]     procedure PM601Click(Sender: TObject);
+[371]     procedure PopupMenu6Popup(Sender: TObject);
+[372]     procedure PM604Click(Sender: TObject);
+[373]     procedure PM605Click(Sender: TObject);
+[374]     procedure SpeedButton3Click(Sender: TObject);
+[375]     procedure SpeedButton14Click(Sender: TObject);
+[376]     procedure SpeedButton15Click(Sender: TObject);
+[377]     procedure SpeedButton16Click(Sender: TObject);
+[378]     procedure SpeedButton17Click(Sender: TObject);
+[379]     procedure SpeedButton18Click(Sender: TObject);
+[380]     procedure SpeedButton19Click(Sender: TObject);
+[381]     procedure SpeedButton20Click(Sender: TObject);
+[382]     procedure SpeedButton21Click(Sender: TObject);
+[383]     procedure SpeedButton22Click(Sender: TObject);
+[384]     procedure ActiveFormKeyUp(Sender: TObject; var Key: Word;
+[385]       Shift: TShiftState);
+[386]     procedure PM110Click(Sender: TObject);
+[387]     procedure PM602Click(Sender: TObject);
+[388]     procedure PrtLbClick(Sender: TObject);
+[389]     procedure Panel1DblClick(Sender: TObject);
+[390]     procedure Panel11DblClick(Sender: TObject);
+[391]     procedure UseOldCaseLbClick(Sender: TObject);
+[392]     procedure PM111Click(Sender: TObject);
+[393]     procedure ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);
+[394]     procedure SmoothCBClick(Sender: TObject);
+[395]     procedure N1Click(Sender: TObject);
+[396]     procedure TreeView1MouseEnter(Sender: TObject);
+[397]     procedure ScrollBox1MouseEnter(Sender: TObject);
+[398]     procedure ScanGrayCBClick(Sender: TObject);
+[399]     procedure AddAttFileLBClick(Sender: TObject);
+[400]     procedure DelAttFileLBClick(Sender: TObject);
+[401]     procedure AttListBoxDblClick(Sender: TObject);
+[402]     procedure AttListBoxClick(Sender: TObject);
+[403]     procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
+[404]       Shift: TShiftState; X, Y: Integer);
+[405]     procedure HTTPSClientRedirection(Sender: TObject; const OldURL: string;
+[406]       var NewURL: string; var AllowRedirection: Boolean);
+[407]     procedure Button5Click(Sender: TObject);
+[408]     procedure Button6Click(Sender: TObject);
+[409]   private
+[410]     { Private declarations }
+[411]     HotKeyId1,HotKeyId2,HotKeyId3,HotKeyId4 :Integer;
+[412] 
+[413]     ////////傳入參數/////////
+[414]     FUrl : String;
+[415]     FCaseID : String;
+[416]     FMode : String;        //NSCAN:新件;ESCAN:修改 20170306 DSCAN:被配合待掃瞄清單使用
+[417]     FModeName : String;
+[418]     FWork_no : String;
+[419]     FUserID : String;
+[420]     FUserName : String;
+[421]     FUserUnit : String;
+[422]     FData : String;
+[423]     FVerify : String;
+[424]     FReWrite : String;
+[425]     FLanguage : String;
+[426]     FLoanDoc_Value : String; //新增授信卷的值
+[427]     FLoanDoc_Enable : String; //新增授信卷是否可異動
+[428]     FUseProxy : String; //是否使用Proxy
+[429]     FC_DocNoList : String; //外面傳來要新增的文件編號
+[430]     FC_DocNameList : String; //外面傳來要新增的自訂文件
+[431]     FFixFileList : String; //要鎖住的檔名
+[432]     FIs_In_Wh : String; //是否只顯示入庫文件  (Y:只顯示入庫 N:只顯示非入庫 空白:都顯示)
+[433]     FOldCaseInfo : String; //舊件資訊  CaseID_year[tab]CaseID_year
+[434]     FPrintyn : String; //是否可列印
+[435]     FIs_OldCase : String; //是否是舊案第一次進入
+[436]     FCustDocYN : String; //是否可自訂文件
+[437]     //20170222 新增
+[438]     FImgDPI:integer;//DPI  依業務別決定 150~~1200  預設300
+[439]     FScanColor:integer;///掃瞄色彩  依業務別決定   0 :黑白  1:灰階   2:彩色 預設黑白
+[440]     FFileSizeLimit:integer;//匯入單一檔案大小限  依業務別決定  以KB為單位  預設5*1024kb
+[441]     FCaseNoLength:integer;//案件編號長度檢查  依業務別決定   無預設  一定要傳入
+[442]     FImgDelete:string; // Y/N  有權限可在補件時刪除影像
+[443]     FIsExternal:string;//Y/N
+[444]     FCheck_main_form:string; //Y/N
+[445]     FWH_category:string;  //Y/N  Y是歸類時有區分入庫非入庫文件  N 是不區分
+[446]     ////////傳入參數///////
+[447] 
+[448]     TransMode : TTransMode;   //用何種方式上傳檔案
+[449]     //********Http參數********
+[450]     HttpErrStr : String; //錯誤訊息
+[451]     //********Http參數********
+[452] 
+[453]     //********Ftp參數*********
+[454]     FFtpIP : String;
+[455]     FFtpID : String;
+[456]     FFtpPwd : String;
+[457]     FFtpRootPath : String;
+[458]     FFtpExtraPath : String;
+[459]     FFtpPort : Integer;
+[460]     FFtpProtocol : TFtpProtocol;
+[461]     //********Ftp參數*********
+[462] 
+[463]     //********ini參數********
+[464]     DeviceDelete : Boolean;     //空白頁刪除啟動
+[465]     DeviceDeleteSize : Integer;  //空白頁Size
+[466]     ScannerReverse : Boolean; //是否需反相
+[467]     BoardClear : Boolean; //是否清黑邊
+[468]     ScanDpi : Integer;    //掃瞄DPI
+[469]     ScanDuplex : Boolean; //是否雙面掃瞄
+[470]     ScanRotate : Integer; //掃瞄時旋轉角度
+[471]     ScanDeskew : Boolean; //是否傾斜矯正
+[472]     ScanBright : Integer; //亮度
+[473]     ScanContrast : Integer; //對比
+[474]     ScanImgShowMode : Integer; //0:清楚影像 1:不清楚影像 2:不顯示
+[475]     ScanImgSetUse : Boolean; //是否使用亮度對比設定
+[476] 
+[477]     //********ini參數********
+[478]     ScanColor : TImageFormat;
+[479] 
+[480]     //********時間********
+[481]     ServerDate : String;
+[482]     ServerTime : String;
+[483]     Balance : Longint; //local跟server的時間差
+[484]     ScanDenialTime : String; //停止進件時間
+[485]     //********時間********
+[486]     ScanDenialHint : String; //掃描顯示提醒字串
+[487] 
+[488]     //********路徑********
+[489]     ScanPath : String;       // SpecifyDir\Workid\userunit\mode
+[490]     ImagePath : String;      // SpecifyDir\Workid\userunit\mode
+[491]     ImageSavePath : String;   // ImagePath\
+[492]     ScaniniPath : String;    // SpecifyDir\Workid\userunit\
+[493]     LngPath :String;         //多國語言檔目錄
+[494]     CheckXmlPath : String;   //檢核用的Xml存放目錄
+[495]     SitePath : String;      //登打位置(切簽名用)
+[496]     SamplePath : String;     //範本目錄
+[497]     TransPath : String;     //檔案上傳的路徑(補充件會多一層目錄)
+[498]     //********路徑********
+[499]     ScanSaveFilename : String; //掃瞄的檔名
+[500]     ScanCaseno : String;  //掃瞄時的案號
+[501]     ScanDocDir : String;  //掃描時的文件代號目錄
+[502]     //********清單區********
+[503]     Doc_Inf_List : TStringList;  //Doc_Inf 清單
+[504]     DM_FORM_INF_List :TstringList;  //DM_FORM_INF 清單
+[505]     FORM_INF_List : TStringList; //FORM_INF的清單
+[506]     CHECK_RULE_INF_List : TStringList;  //CHECK_RULE_INF  清單
+[507]     MEMO_INF_List : TStringList;  //MEMO_INF 清單
+[508]     WORK_INF_List : TStringList;  //WORK_INF 清單
+[509]     LASTEST_FORM_INF_List : TStringList;  // LASTEST_FORM_INF 清單
+[510] 
+[511]     FindResult : TStringList;    //找SQLData的結果
+[512]     CaseList : TStringList;    //記錄掃瞄案件的順序
+[513]     Context_DocnoList : TStringlist; //案件裡的Docno清單
+[514]     CaseDocNoList : TStringlist;  //案件裡的DocNo清單(不重複)
+[515]     CaseDocNo_CopiesList : TStringlist; //案件裡的DocNo份數清單
+[516]     ContextList : TStringlist; //案件裡的檔案清單
+[517]     AttContextList : TStringlist; //案件裡的附加檔案清單
+[518]     OMRFileList : TStringList; //要OMR檢核的文件(只檢查每種Form的第一頁)
+[519]     Cust_DocNoList : TStringlist; //自行定義文件名稱
+[520]     IN_WH_DocNoList : TStringlist; //入庫的文件清單
+[521] 
+[522]     FormCode_PageSize : TStringList; //文件的預設大小  FormCode_Height_Width
+[523]     DocNo_NeedDoc : TStringList; //有Docno時要相依的文件   DocNo_相依文件_相依文件
+[524]     DocNo_NoDoc : TstringList; //有Docno時互斥的文件   DocNo_互斥文件_互斥文件
+[525]     DocNo_VerinCase : TStringlist; //案件裡的DocNo+版本的清單
+[526] 
+[527]     NoSaveBarCodeList : TStringlist; //不儲存的條碼清單
+[528]     FormID_List : TStringlist;    //FormID 清單  20130403 因為原FormCode2Docno會很慢..把FormID抽出來
+[529]     DocNo_List : TStringlist;     //DocNo 清單  20130403 因為原FormCode2Docno會很慢..把DocNo抽出來
+[530]     NowShowFileList : TStringlist;  //目前顯示的影像清單
+[531]     NowSelectFileList : TStringlist; //目前被點選的影像清單
+[532]     GuideFormIDList : TStringlist; //要當導引頁表單清單
+[533]     DivPageFormIDList:TStringlist; //要當分案頁表單清單
+[534]     LastInitFormidList:TStringList;
+[535]     LastAddFormidList:TstringList;
+[536]     SampleFormIDList:TStringList; //20170627 已存在範本的formid
+[537]     ExistImgList:TStringList;  //20170724  已經存在的影像list for ESCAN  //Img的完整路徑
+[538]     reSizeExistImgList:TstringList; //20171012被縮放的舊圖MD5存入
+[539]     //********清單區********
+[540] 
+[541]     //********顯示區********
+[542]     NowCaseno : String; //目前顯示的案件編號
+[543]     NowDocNo : String;  //目前的文件編號
+[544]     NowDocDir : String; //目前的文件目錄
+[545]     NowFormCode : String; //目前顯示的表單編號
+[546]     NowFormName : String; //目前顯示的表單名稱
+[547]     NowPage : Integer;   //目前點選的頁碼
+[548]     DisplayPath : String; //目前顯示的目錄
+[549]     //********顯示區********
+[550] 
+[551]     //******索引資料*********
+[552]     Case_loandoc : String; //是否新增授信卷
+[553]     //******索引資料*********
+[554] 
+[555]     //********十字定位點資訊********
+[556]     UpLPoint : Tpoint;  //左上方的十字點
+[557]     UpRPoint : Tpoint;  //右上方的十字點
+[558]     DownLPoint : Tpoint;  //左下方的十字點
+[559]     DownRPoint : Tpoint;  //右下方的十字點
+[560]     Point_Width : String;   //十字點的寬
+[561]     Point_Height : String;   //十字點的高
+[562]     //********十字定位點資訊********
+[563] 
+[564]     CaseIDLength : Integer; //案件編號長度
+[565]     FormIDLength : Integer; //FormID長度
+[566]     DocNoLength : Integer;  //Docno長度
+[567] 
+[568]     PEFileName : String; //掃描時的檔名
+[569]     DownFileErrStr : String;  //下載影像時發生的錯誤
+[570] 
+[571]     ISB : TImageScrollBox;
+[572]     ScanInfo    : TScanInfo;
+[573]     TwainShowUI : Boolean;
+[574]     MpsBarcodeinf : TMpsBarcodeinf;
+[575]     ScanMode : TScanMode;
+[576]     Mpskey : String;
+[577]     Seg : Integer; //顯示的邊界值
+[578]     VMode : Integer; //顯示的index
+[579]     NowClick : Integer;   //目前點到的按鈕功能Index
+[580]     ScanIP : String;  //掃瞄端的IP
+[581]     DisplayISB : TImageScrollBox; //被點到的影像
+[582]     SelectISB : TImageScrollBox; //被點到的縮圖
+[583]     SelectPage : Integer; //被點到的頁數
+[584]     NewTreeNode,MyTreeNode1,MyTreeNode2,MyTreeNode3 : TTreenode;
+[585]     InitialOk : Boolean; //資訊載入是否完成
+[586]     ShowText : String; //DataLoading時要秀出的訊息
+[587]     Ext : String; //附檔名  .tif .jpg
+[588]     SafePixel : Integer;  //OMR容忍誤差值點數
+[589]     OMRErrInfo : Array[1..11] of TOMRErrInfo;  //檢核的方式及訊息
+[590]     ScrollRec : Array[1..8] of TScrollRec; //瀏覽窗的Scroll記錄
+[591]     RecHozPos,RecVerPos : Integer;  //記錄MPSViewX1的ScrollBar位置
+[592]     ReczoomPercent : Single;
+[593]     SortMode : Boolean;
+[594]     PreMytreeNode2Name:String;
+[595]     HS,VS : Integer;
+[596]     iRate : Single;
+[597]     Bt : Integer; //去直線時橫線判斷的容忍值
+[598]     BarCodeRotate : Integer; //條碼要轉的角度
+[599]     HaveAppDoc : Boolean; //補全時是否有補入要保書
+[600]     PageLVclear : Boolean;
+[601]     CaseCount,PageCount : Integer; //總案件量及總頁數
+[602]     Item : TMenuItem;
+[603]     SampleAnchorMode : String; //範本掃瞄十字線的模式  NONE:無;ANCHOR:十字;FRAME:邊框
+[604]     DownImgStatus : String;  //下載影像的狀態(NO_DATA:沒資料;NO_FILE:沒影像)
+[605]     TransForm_Field : String; //要用OMR勾選確認是否轉換FORMID的欄位名稱
+[606]     NowWork_No : String; //現在的作業別
+[607]     CropBarcode : String; //要切影像的條碼
+[608]     Has_Authorize :String; //是否有授權書影像
+[609]     AttName : String; //未歸類目錄名稱
+[610]     NowGuideFormID : String;
+[611]     NowDivPageFormID:String;
+[612] 
+[613]     FirstDocDir : String;
+[614]     FMaxUploadSize:String;// 上傳zip大小限制
+[615]     FJpgCompression:integer;// 20171211 jpg to tif 的壓縮率
+[616] 
+[617]     Draging : Boolean;
+[618]     MDown : Boolean;  //20181210 用來判斷滑鼠右鍵要Popupmenu是否有MouseDonw發生
+[619] 
+[620]     FEvents: ICB_IMGPSScanXEvents;
+[621] 
+[622]     procedure HotKeyDown (var Msg : TMessage);message WM_HOTKEY;
+[623]     Procedure InitialLanguage(Sender: TObject);   //畫面載入多國語言
+[624]     //Function _Msg(S:String):String;
+[625] 
+[626]     //*********SQL相關************
+[627]     Procedure SetSQLData(ColumeStr:String;FromList,ToList:TStringlist); //把SQL值塞入
+[628]     Function GetSQLData(TableList:TStringlist;Colname:String;colNo:Integer):String; //依欄位及索引取值
+[629]     Function FindSQLData(TableList:TStringlist;ColumeStr,KeyColumeStr,KeyStr:String;ColNo:Integer;Var ResultList:TStringlist):Boolean; //找指定的資料
+[630]     Function GetFindResult(Col:String):String;
+[631]     //*********SQL相關************
+[632] 
+[633]     //*********FTP相關************
+[634]     Function GetFtpinfo(CaseID,Action:String):Boolean;
+[635]     Procedure SetFtpInfo;     //餵入FTP資訊
+[636]     Function FtpCaseComplete(SendData:String):Boolean;
+[637]     //*********FTP相關************
+[638] 
+[639]     //*******轉換區*********
+[640]     Function FindDivFormCode(FormCode:String):Boolean; //找有沒有分案的條碼
+[641]     Function FormCode2FormName(CaseID,FormCode:String):String; //用FormCode轉成文件名稱
+[642]     Function FormCode2FileName(FormCode:String;List:TStrings):String; //用FormCode找出檔名(第一頁)
+[643]     Function FileName2FormCode(FileName:String):String; //從檔名取出FormCode
+[644]     Function FileName2FormName(CaseID,FileName:String):String; //從檔名取出文件名稱
+[645]     Function FileName2ScanPage(FileName:String):Integer; //從檔名取出掃瞄頁數
+[646]     Function FileName2NoQuene_Filename(FileName:String):String; //取出沒有序號的檔名
+[647]     Function FileName2Index(FileName:String):Integer; //從檔名取出在ContextList的序號
+[648]     Function FileName2NowDcoNo(FileName:String;CtList,DNList:TStrings):String; //從檔名取出歸屬的文件代號
+[649]     Function FormCode2DocNo(FormCode:String):String;   //FormCode轉Docno
+[650]     Function FormCode2Version(FormCode:String):String; //FormCode轉版本
+[651]     Function FormCode2Page(FormCode:String):String; //FormCode轉文件頁數
+[652]     Function DocNo2DocName(CaseID,DocNo:String):String; //Docno轉Doc名稱
+[653]     Function DocNo2FileName(DocNo:String;List:TStrings):String; //用DocNo找出檔名(第一頁)
+[654]     Function FormCode2WorkNo(FormCode:String):String; //用FormCode取出作業別
+[655]     Function DocNo2WorkNo(DocNo:String):String; //用DocNo取出作業別
+[656]     Function DocNo2DocNoDir(Path,DocNo:String):String;    //DocNo轉成DocNo(份數)目錄
+[657]     Function DocNoDir2DocNo(DocNoDir:String):String; //DocNo(份數)目錄轉成DocNo
+[658]     Function DocNoDir2Index(Path,DocNoDir:String):Integer; //DocNo(份數)目錄轉成index
+[659] 
+[660]     Function DocNoNeedDiv(DocNo:String):Boolean; //是否是需分份數的文件代號
+[661]     //Function CaseNo2DocNo(CaseNo:String):TStringList;
+[662] 
+[663]     Function CaseNode2Info(Node:TTreeNode;Mode:Char):String;   //案件Node取案件編號  Mode: I:Caseno;P:Page
+[664]     Function DocNode2Info(Node:TTreeNode;Mode:Char):String;     //文件Node取文件代號 Mode: I:Docno;N:Docname;P:Page;G:Group
+[665]     Function FormNode2Info(Node:TTreeNode;Mode:Char):String;   //表單Node取表單代號  Mode: I:FormID;N:FormName;P:Page
+[666]     //*******轉換區*********
+[667] 
+[668]     Procedure PriorPage(Page:Integer); //上一頁
+[669]     Procedure NextPage(Page:Integer); //下一頁
+[670] 
+[671]     Function DocNoExistsinTree(CaseNode:TTreeNode;DocNo:String):Boolean; //DocNo是否己存在樹裡
+[672]     Function DocnoNeedGroup(DocNo:String):Boolean; //傳入的DocNo是否需分組
+[673] 
+[674]     function GetSiteOMR(FileName, Site: String;bt: Integer): Integer;
+[675]     Function FindISB2View(Vmode:Integer):TImageScrollBox; //找空的ISB來顯示
+[676]     Procedure R_W_ScanIni(Mode:Char); //'R'讀取;'W'寫入
+[677]     Procedure GetDefScanIni; //取得掃瞄的預設值
+[678]     procedure DesableImage;
+[679]     procedure EnableImage(v:integer;Sender : TObject);
+[680]     Procedure ViewMouseMode(v:Integer);
+[681]     Procedure GoViewMode;
+[682]     Procedure DisplayMode(index,H_Count,W_Count:Integer;BasePanel:TPanel);
+[683]     Function GetServerDate : Boolean; //取主機時間
+[684]     Function GetSetInf1 : Boolean; //取系統設定資訊mode1  DOC_INF
+[685]     Function GetSetInf2 : Boolean; //取系統設定資訊mode2  DM_FORM_INF
+[686]     Function GetSetInf3 : Boolean; //取系統設定資訊mode3  FORM_INF
+[687]     Function GetSetInf4 : Boolean; //取系統設定資訊mode4  CHECK_RULE_INF
+[688]     Function GetSetInf5 : Boolean; //取系統設定資訊mode5  MEMO_INF
+[689]     Function GetSetInf6 : Boolean; //取系統設定資訊mode6  WORK_INF
+[690]     Function GetSetInf7 : Boolean; //取系統設定資訊mode7  LASTESTFORM_INF
+[691]     Procedure SetFormID_DocNo; //將FormID及Docno抽出來另存入list裡
+[692]     Procedure SetIn_WH_DocNo; //將要入庫的DocNo抽出來另存入list裡
+[693] 
+[694]     Procedure DataLoading(Loading,UseTimer:Boolean);  //資料載入中要停止點選的動作
+[695]     procedure ClearView(stkv:Integer); //清除瀏覽窗的影像
+[696]     Function DrawDocItem2(CaseNode : TTreenode;Caseno:String):Boolean;  //畫出文件名稱的Tree
+[697] 
+[698]     Procedure initkscan; //檢查掃描器的功能
+[699]     procedure LoadImgFile; //載入案件
+[700]     procedure LoadImgFile1; //載入案件
+[701]     procedure LoadAttFile(CaseID:String); //載入附加檔案
+[702]     Procedure DistinctFormCode(CaseID:String); //案件裡的FormCode取出第一頁
+[703]     Function OMRCheckCase(CaseID:String):Boolean; //OMR檢核
+[704]     Procedure OMRErr2ini(CaseID,Reason,FileName,Site,RelaFileName,RelaSite,Anchor,Anchor1:String;Del,Ingnore,Display:Boolean); //OMR檢核失敗寫入ini
+[705]     Procedure OMRErrini2List(CaseID:String;ErrlistForm : TErrlistForm); //OMR檢核失敗從ini寫入ListView
+[706]     Function DownLanguage:Boolean;  //下載多國語言檔
+[707]     Function FindMpsView(Vmode:Integer):TImageScrollBox;
+[708]     Function CaseAsk(CaseID:String):Integer;  //詢問是否可上傳  (-1:失敗;0:可以;1:不行;)
+[709]     Function CaseComplete(Path,CaseID:String;MainCase:Boolean):Boolean;  //通知傳送完成
+[710]     Function GetCaseFormID(Path:String):String;  //取案件的FormID
+[711]     Procedure CreateFormID_FormName(Path,CaseID:String);  //產生FormID_FormName.dat
+[712]     Procedure CreateDocNo_DocName(Path,CaseID:String);  //產生DocNo_DocName.dat
+[713]     Procedure CreateIn_WH(CaseID:String);  //產生In_WH.dat
+[714]     Function CreateDocNo_Info(CaseID:String):String; //產生保管袋文件 DocNo[tab]份數[tab]總頁數[tab]是否異動[換行]DocNo[tab]份數[tab]總頁數[tab]是否異動
+[715]     Function CreateCustDocNo_Info(CaseID:String):String; //產生自訂文件 DocName[tab]份數[tab]總頁數[tab]是否異動[#13#10]DocName[tab]份數[tab]總頁數[tab]是否異動
+[716]     //Function CreateCustDocNo_Info(path,CaseID:String):String; overload
+[717]     Function CreateAttach_Info(CaseID:String):String; //產生是否有Attach Y:有 N:沒有
+[718]     Function CreateDocnoFrom_Info(CaseID:String):String; //產生被引進的保管袋文件資訊  Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號
+[719]     Function CreateCustDocNoFrom_Info(CaseID:String):String; //產生被引進的自定文件資訊  Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號
+[720] 
+[721]     Function GetDocNoEdit(CaseID,DocNo,DocName:String):String; //取出DocNo是否被異動 (Y/N)
+[722]     Function GetDocNo_Count(Path,DocNo:String):Integer;  //取出文件份數
+[723]     Function GetDocNo_Page(Path,DocNo:String):Integer;  //取出文件總頁數
+[724]     Function FormIDExists(FormCode:String;CheckDate:Boolean;index:Integer):Boolean;  //檢查FormID是否存在及是否要檢查啟用停用日期
+[725]     Function Case_DocNoExists(CaseID,Docno:String):Boolean; //Docno是否存在案件裡
+[726]     Procedure ReSortFileName_New(Path:String); //檔名重新排序
+[727]     Procedure ReSortFileName(Path:String); //檔名重新排序
+[728]     Procedure ReSortFileName2Scanlist(Path:String); //檔名重新排序給Scanlist.dat
+[729]     Function GetOMRCheckSet:Boolean;  //下載OMR檢核XML檔
+[730]     Function GetKeyinSet : Boolean; //取登打設定
+[731]     Procedure CheckRule2OMRErrInfo;   //檢核規則填入OMRErrINFo Record
+[732]     Procedure ReNameContext(Path,OldName,NewName:String);
+[733]     Procedure DeleteImageFile(Path,FileName,CaseID:String); // 刪除檔案
+[734]     Procedure DeleteFormCodeFile(CaseID,DocDir,FormID:String);  //刪除指定FormID文件
+[735]     Function DeleteDocNoFile(Path,DocNo:String):Boolean;  //刪除指定DocNo文件
+[736]     Procedure DeleteShowFile(Path:String); //刪除顯示中的影像
+[737]     Function GetDataDocNoPage(MainDocNo,MainVersion:String):Integer;  //取記錄的文件_版本頁數
+[738]     Function CheckCaseDocNoPage(CaseID,DocNo,Version:String;Pages:Integer):Integer; //檢查案件裡的文件_版本頁數
+[739]     Function FindFormCodePages(CaseID,FormCode:String):Integer;  //計算案件裡FormID的頁數
+[740]     Function GetDataFormCodePages(FormCode:String):Integer;   //取記錄的FormcID的頁數
+[741]     Procedure CaseReSize(CaseID:String); //案件的影像縮放
+[742]     Procedure ImageReSize_FormID(CaseID,FileName:String);  //依十字定位點做縮放
+[743]     Procedure ImageReSize_tmp(FormID,FileName:String);  //依十字定位點做縮放(暫存檔)
+[744]     Function TransCaseID(Path,CaseID:String;MainCase:Boolean):Boolean; //傳送案件
+[745]     Procedure NewTreeNodeRefresh;
+[746]     Procedure MyTreeNode1Refresh;
+[747]     Procedure MyTreeNode2ReFresh(CaseID:String);
+[748]     Procedure MyTreeNode3ReFresh(CaseID:String);
+[749]     Function Node2DocNo(Node2:TTreeNode):String;  //MyTreeNode2取DocNo出來
+[750]     Function Node3DocNo(Node3:TTreeNode):String;  //MyTreeNode3取DocNo出來
+[751]     Function Node3FormID(Node3:TTreeNode):String;  //MyTreeNode3取FormCode出來
+[752]     Function GetNode2Name(Node2:TTreeNode):String;  //取MyTreeNode2的識別字出來(記之前點選用)
+[753]     //Function Down_Replace_Img(SPAth,DPath,CaseID:String):Boolean;
+[754]     Function DownLoadImage(Path,CaseID:String):Boolean;
+[755]     Function Down_Img(Path,CaseID:String):Boolean;
+[756]     Function GetNoNameCase(Path:string):String; //取未配號XXXX
+[757]     Procedure CaseResort(Path:String); //案件的檔案重新排序(次文件依Docno挑)
+[758]     Procedure CaseResort2Scanlist(Path:String); //案件的檔案重新排序給scanlist(次文件依FormID排)
+[759]     Procedure DistinctDocinCase(Path:String); //列出案件裡的Docno_版本
+[760]     Procedure DistinctDocNoinCase(Path:String); //列出案件裡的Docno
+[761]     Procedure ClearErrini(CaseID:String;CaseNode:TTreeNode); //清掉檢核檔案
+[762]     Procedure SetCaseList(Mode:Char;Index:Integer;text:String);  //'A:加入,I:插入,D:刪除,E:修改'
+[763]     Procedure SetDocNoList(Mode:Char;Index:Integer;CaseNo,DocDir,Copies:String);  //'A:加入,I:插入,D:刪除,E:修改'
+[764]     Procedure SetContextList(Mode:Char;Index:Integer;CaseNo,DocDir,FileName:String);  //'A:加入,I:插入,D:刪除,E:修改'
+[765]     Procedure SetAttContextList(Mode:Char;Index:Integer;CaseNo,FileName:String);  //'A:加入,I:插入,D:刪除,E:修改'
+[766] 
+[767] 
+[768]     Function checkCaseOMRDone:Boolean;  //檢查案件是否完成OMR檢核
+[769]     Function CheckCaseID_OK:Boolean;  //檢查是否有未配號的案件
+[770]     Procedure CreateEmptyCase(Path,CaseID:String);  //產生空白案號(重掃件用)
+[771]     Procedure InitScrollRec; //初始化影像Scroll記錄
+[772]     Procedure GetScrollData(ISB:TImageScrollBox;Var HS,VS:Integer;Var iRate:Single); //取影像Scroll記錄
+[773]     Procedure SetScrollData(ISB:TImageScrollBox;HS,VS:Integer;iRate:Single); //寫影像Scroll記錄
+[774]     Procedure FormIDReplace(CaseID,DocDir,OldFormID,NewFormID:String); //指定FormID更換成新的FormID
+[775]     Procedure ShowFileReplace(Path,NewFormID:String);//顯示的影像換成新的FormID
+[776]     Procedure PageReplaceFormID(Path,NowFormID,NewFormID:String); //選取頁更換FormID
+[777]     Function ModeNeedCheck(OMRMode,ScanMode:String):Boolean; //掃瞄模式是否要做檢核
+[778]     procedure WMMOUSEWHEEL(var message: TWMMouseWheel); message WM_MOUSEWHEEL;
+[779]     Function GetCasePage(Path,CaseID:String):Integer;
+[780]     Function GetFormIDPage(FileList:TStringlist;FormID:String):Integer;
+[781]     Procedure SetFile2Case(CaseID,FileName:String);
+[782]     Procedure WriteResize(ImgName,TxtName:String); //產生Resize.dat
+[783]     Function GetCase_PageCount(var CaseCount,PageCount:Integer):Boolean; //取出案件的數量及頁數 ID為空值時為取所有的
+[784]     Function BarCode2FormID : String; //Barcode依規則轉成FormID
+[785]     Function BarCode2CaseID : String; //Barcode依規則轉成CaseID
+[786]     Procedure WriteCaseIndex(Path:String);
+[787]     Procedure ReadCaseIndex(Path:String);
+[788]     Procedure ClearCaseIndex;
+[789]     Procedure GetSelectImageFile;
+[790]     Function GetDocNoDir(Path,DocNo:String):String; //取出目前DocNo的份數
+[791]     Function CheckFormIDExists(DocNoNode:TTreeNode;FormID:String):Boolean; //檢查FormID是否存在文件裡
+[792] 
+[793]     Procedure ZipMainFile(SoPath,DePath,ZipName:String); //壓縮影像檔
+[794]     Procedure ZipMaskFile(SoPath,MarkPath,DePath,ZipName:String); //壓縮遮罩影像檔
+[795]     Procedure ParserPoint(S:String); //解析十字點的字串
+[796]     Function CheckScanDenialTime:Boolean;
+[797]     Function FormID2Anchor(FormID:String):String;  //用FormID取出十字模式
+[798]     Function Index2Anchor(Anchor:String):String;   //十字模式 0->NONE;1->ANCHOR;2->FRAME
+[799]     Function MemoInfoTransfer(Mode,Str:String;ID_S,Name_S:TStringlist):String;  //註記代碼註記類別轉換  Mode 'ID':代碼轉名稱;'NAME':名稱轉代碼
+[800]     Function GetFormatID(CaseID:String):String; //取出案件的FormatID
+[801]     Function FindNoSaveBarCode : Boolean; //找是否有不要儲存影像的條碼
+[802]     Function CheckAvailable:Boolean; //檢查是否可使用元件
+[803]     Function Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像
+[804]     Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //是否是A3要切影像
+[805]     Function GetNewCustomDocNo(Path,DocName:String):String; //取出未使用的自訂文件代號
+[806]     Function GetCustomDocName(Path,DocNo:String):String; //取出自定文件名稱
+[807]     Function GetCustomFormID(Path,DocNo:String):String; //取出自定文件FormID
+[808]     Function GetCustomDocDir(Path,DocName:String):String; //取出自定文件DocDir
+[809]     Function FindCustomDocName(Path,DocName:String):Boolean; //尋找自定文件名稱是否存在
+[810]     Procedure DeleteCustomDocDir(Path,DocNo:String); //刪除自定文件DocNo
+[811]     Function CheckFormID_Prt(FormID:String):Boolean; //傳入的FormID是否預設列印
+[812]     procedure PrintImg(FileName, LoginID, Datetime,Path: WideString);
+[813]     Function FindLastestDocDir(CaseID,DocNo:String):String; //找出最新的DocDir
+[814]     Procedure Create_Cust_DocDir(CaseID:String); //產生外面傳入的文件代號及自定文件
+[815]     Procedure OldCasetoNewCase(CaseID:String); //將舊案份數轉成新規則
+[816]     Procedure ErrFormtoCurrentForm(CaseID,EFormID,CFormID:String);//將舊案的錯誤FormID改正確的FormID
+[817]     Procedure SetRecordEditedDocDir(Mode:Char;CaseID,DocDir:String);  //記錄被異動的文件目錄  'A:加入D:刪掉'
+[818]     Function GetDocDir_Page(CaseID,DocDir:String):Integer;  //取得DocDir的頁數
+[819]     Function Path2DocDir(Path,CaseID:String):String;
+[820]     Function GetDocNo_IS_WH(DocNo:String):Boolean; //DocNo是否為入庫文件
+[821]     Procedure SortDocDir_FormID(CaseID,DocDir:String); //將DocDir裡的文件編號排序
+[822]     Procedure GotoAttach(OldLevel:Integer);
+[823]     Function DocNoIs_In_WH(DocNo:String):Boolean; //DocNo是否為入庫文件
+[824]     Procedure CreateCaseNeedData(Path:String);  //先做影像截取會少二個文字檔,產生CaseDocNo.dat及DocDir.dat
+[825]     Procedure SetDocDirtoSelected(CaseNode:TTreeNode;DocDir:String);
+[826]     Function CheckSelectImg_UseCase(Path,CaseID:String):Boolean; //檢查選擇的影像是否有包含被引用的影像
+[827]     Function TransOldCaseFile(Path:String):Boolean;  //上傳引用舊件的記錄檔
+[828]     Function Writelog(CaseID:String):Boolean;
+[829]     Function FormIDAppear(FormID:String):Boolean; //FormID是否可出現
+[830]     Function DocNoAppear(DocNo:String):Boolean;   //DocNo是否可出現
+[831]     Function GetDocNoCount(CaseID,DocNo:String):Integer; //取DocNo數量
+[832]     Function GetDocDirCopies(CaseID,DocDir:String):Integer; //取DocDir份數
+[833]     Procedure SetDocDirCopies(CaseID,DocDir:String;NewCopies:Integer); //修改DocDir份數
+[834]     Function GetDocDirCopies_Rec(Path,CaseID,DocDir:String):Integer; //取記錄裡的DocDir份數
+[835]     Function GetCustomNameCount(CustomName:String):Integer;   //取外傳的名稱數量
+[836]     Function GetCustomDocNoCount(Docno:String):Integer;   //取外傳的DocNo數量
+[837]     Function ISGuideFormID(FormID:String):Boolean;
+[838]     Function CaseDelete_Enable(CaseID:String):Boolean;  //案件可否被刪除
+[839] 
+[840]     Procedure MoveImage(Path:String;mp:Integer); //移動頁數
+[841]     Procedure MoveImage_Drag(Path:String;fp,tp:Integer); //拖拉移動頁數
+[842] 
+[843] 
+[844]     Procedure SetUseCase(Mode:Char;Path,DocDir,FormCaseID,ToCaseID:String);   //記錄引用其他案件 A:加入 D:刪掉
+[845]     Function GetUseCase(Mode:Char;Path,DocDir:String):String;  //F:取被引用 To:引用
+[846] 
+[847]     Procedure Case2upload(CaseID:String);
+[848]     Procedure Download2Case(SoDir,DeDir:String);
+[849] 
+[850]     procedure view_image_FormCode(Path,FormCode:String;stpage,stview:integer); //用FormCode來找影像
+[851]     procedure view_image_DocNo(Path,DocNo,FormID:String;Pages:integer); //用DocNo來找影像
+[852] 
+[853]     Function ShapeName2PreViewISBName(SP:TShape):String; //轉出指定PreViewISBName
+[854]     Procedure CreatePreViewISB(Count:Integer);
+[855]     Procedure FreePreViewISB;
+[856]     Procedure FitPreViewISB;
+[857]     Procedure PaintShape(FromImg,ToImg:TImageScrollBox); //畫有被選取的影像
+[858]     Procedure FreeShapeobj(SelectISB : TImageScrollBox);
+[859]     Procedure ISBClick(Sender : TObject);
+[860]     Procedure ISBMouseMove(Sender: TObject; Shift: TShiftState;
+[861]     X, Y: Integer);
+[862]     procedure ISBImageMouseDown(Sender: TObject; Button: TMouseButton;
+[863]       Shift: TShiftState; X, Y: Integer);
+[864]     procedure ISBImageMouseUp(Sender: TObject; Button: TMouseButton;
+[865]       Shift: TShiftState; X, Y: Integer);
+[866]     procedure ISBEndDrag(Sender, Target: TObject; X, Y: Integer);
+[867]     procedure ISBDragDrop(Sender, Source: TObject; X, Y: Integer);
+[868]     procedure ISBDragOver(Sender, Source: TObject; X, Y: Integer;
+[869]       State: TDragState; var Accept: Boolean);
+[870] 
+[871]     procedure BtnMouseEnter(Sender: TObject);
+[872] 
+[873]     procedure PageEnd;   //掃描接收完成
+[874]     Procedure PageDone;  //掃描完成後顯示影像
+[875]     procedure StatrTwainScan;
+[876]     procedure OnAcquire( const DibHandle    : THandle;
+[877]                          const XDpi         : Word;
+[878]                          const YDpi         : Word;
+[879]                          const CallBackData : LongInt );
+[880] 
+[881] 
+[882]     procedure ActivateEvent(Sender: TObject);
+[883]     procedure ClickEvent(Sender: TObject);
+[884]     procedure CreateEvent(Sender: TObject);
+[885]     procedure DblClickEvent(Sender: TObject);
+[886]     procedure DeactivateEvent(Sender: TObject);
+[887]     procedure DestroyEvent(Sender: TObject);
+[888]     procedure KeyPressEvent(Sender: TObject; var Key: Char);
+[889]     procedure MouseEnterEvent(Sender: TObject);
+[890]     procedure MouseLeaveEvent(Sender: TObject);
+[891]     procedure PaintEvent(Sender: TObject);
+[892]     function GetCurrentVersionNo: String;
+[893]     procedure initParameter;
+[894]     procedure LastInitFormidListCreate(path:string);
+[895]     function checkFormCodeIsCustom(path,formcode:string):boolean;
+[896]     function ISDivPageFormID(FormID: String): Boolean;
+[897]     function GetSampleInf: Boolean;
+[898]     procedure InitExistImgList(casepath:String);
+[899]     function LoadFileGetMD5(const filename:string):string; //20170809 取的檔案的MD5
+[900]     function ISExistImg(const filename:string):boolean;  //20170809 確認是否存在原有影像
+[901]     procedure _DelTreeForExistImg(ASourceDir:String);   //2017 刪除前確認 有舊影像嗎
+[902]     function DocNoIsExistImg(DocNopath: String): boolean; //2017 刪除前確認 有舊影像嗎
+[903]     function CheckCaseAttach_OK: Boolean;
+[904]     function DeleteDocNoFileForESCAN(Path, DocNo: String): Boolean;     //2017 確認是否有未歸類文件
+[905]     function CheckRequiredColumnValues(workno,caseno:String) :Boolean;  //20171003  此大類下此案是否檢核必填
+[906]     function logTimeString :String;
+[907]     procedure ReduceLogFile ;
+[908]     function FindLastestDocDirForPage(CaseID, DocNo, formid: String): String;
+[909]     function OMRErrini2ListForLog(CaseID: String):String;
+[910]   protected
+[911]     { Protected declarations }
+[912]     procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
+[913]     procedure EventSinkChanged(const EventSink: IUnknown); override;
+[914]     function Get_Active: WordBool; safecall;
+[915]     function Get_AlignDisabled: WordBool; safecall;
+[916]     function Get_AlignWithMargins: WordBool; safecall;
+[917]     function Get_AutoScroll: WordBool; safecall;
+[918]     function Get_AutoSize: WordBool; safecall;
+[919]     function Get_AxBorderStyle: TxActiveFormBorderStyle; safecall;
+[920]     function Get_Caption: WideString; safecall;
+[921]     function Get_Color: OLE_COLOR; safecall;
+[922]     function Get_DockSite: WordBool; safecall;
+[923]     function Get_DoubleBuffered: WordBool; safecall;
+[924]     function Get_DropTarget: WordBool; safecall;
+[925]     function Get_Enabled: WordBool; safecall;
+[926]     function Get_ExplicitHeight: Integer; safecall;
+[927]     function Get_ExplicitLeft: Integer; safecall;
+[928]     function Get_ExplicitTop: Integer; safecall;
+[929]     function Get_ExplicitWidth: Integer; safecall;
+[930]     function Get_Font: IFontDisp; safecall;
+[931]     function Get_HelpFile: WideString; safecall;
+[932]     function Get_KeyPreview: WordBool; safecall;
+[933]     function Get_MouseInClient: WordBool; safecall;
+[934]     function Get_ParentCustomHint: WordBool; safecall;
+[935]     function Get_ParentDoubleBuffered: WordBool; safecall;
+[936]     function Get_PixelsPerInch: Integer; safecall;
+[937]     function Get_PopupMode: TxPopupMode; safecall;
+[938]     function Get_PrintScale: TxPrintScale; safecall;
+[939]     function Get_Scaled: WordBool; safecall;
+[940]     function Get_ScreenSnap: WordBool; safecall;
+[941]     function Get_SnapBuffer: Integer; safecall;
+[942]     function Get_UseDockManager: WordBool; safecall;
+[943]     function Get_Visible: WordBool; safecall;
+[944]     function Get_VisibleDockClientCount: Integer; safecall;
+[945]     procedure _Set_Font(var Value: IFontDisp); safecall;
+[946]     procedure Set_AlignWithMargins(Value: WordBool); safecall;
+[947]     procedure Set_AutoScroll(Value: WordBool); safecall;
+[948]     procedure Set_AutoSize(Value: WordBool); safecall;
+[949]     procedure Set_AxBorderStyle(Value: TxActiveFormBorderStyle); safecall;
+[950]     procedure Set_Caption(const Value: WideString); safecall;
+[951]     procedure Set_Color(Value: OLE_COLOR); safecall;
+[952]     procedure Set_DockSite(Value: WordBool); safecall;
+[953]     procedure Set_DoubleBuffered(Value: WordBool); safecall;
+[954]     procedure Set_DropTarget(Value: WordBool); safecall;
+[955]     procedure Set_Enabled(Value: WordBool); safecall;
+[956]     procedure Set_Font(const Value: IFontDisp); safecall;
+[957]     procedure Set_HelpFile(const Value: WideString); safecall;
+[958]     procedure Set_KeyPreview(Value: WordBool); safecall;
+[959]     procedure Set_ParentCustomHint(Value: WordBool); safecall;
+[960]     procedure Set_ParentDoubleBuffered(Value: WordBool); safecall;
+[961]     procedure Set_PixelsPerInch(Value: Integer); safecall;
+[962]     procedure Set_PopupMode(Value: TxPopupMode); safecall;
+[963]     procedure Set_PrintScale(Value: TxPrintScale); safecall;
+[964]     procedure Set_Scaled(Value: WordBool); safecall;
+[965]     procedure Set_ScreenSnap(Value: WordBool); safecall;
+[966]     procedure Set_SnapBuffer(Value: Integer); safecall;
+[967]     procedure Set_UseDockManager(Value: WordBool); safecall;
+[968]     procedure Set_Visible(Value: WordBool); safecall;
+[969]     procedure Set_caseid(const Value: WideString); safecall;
+[970]     procedure Set_data(const Value: WideString); safecall;
+[971]     procedure Set_mode(const Value: WideString); safecall;
+[972]     procedure Set_rewrite(const Value: WideString); safecall;
+[973]     procedure Set_url(const Value: WideString); safecall;
+[974]     procedure Set_userid(const Value: WideString); safecall;
+[975]     procedure Set_username(const Value: WideString); safecall;
+[976]     procedure Set_verify(const Value: WideString); safecall;
+[977]     procedure Set_language(const Value: WideString); safecall;
+[978]     procedure Set_modename(const Value: WideString); safecall;
+[979]     procedure Set_userunit(const Value: WideString); safecall;
+[980]     procedure Set_work_no(const Value: WideString); safecall;
+[981]     procedure Set_loandoc_enable(const Value: WideString); safecall;
+[982]     procedure Set_loandoc_value(const Value: WideString); safecall;
+[983]     procedure Set_useproxy(const Value: WideString); safecall;
+[984]     procedure Set_c_docnamelist(const Value: WideString); safecall;
+[985]     procedure Set_c_docnolist(const Value: WideString); safecall;
+[986]     procedure Set_fixfilelist(const Value: WideString); safecall;
+[987]     procedure Set_is_in_wh(const Value: WideString); safecall;
+[988]     procedure Set_oldcaseinfo(const Value: WideString); safecall;
+[989]     function Get_c_docnamelist: WideString; safecall;
+[990]     function Get_c_docnolist: WideString; safecall;
+[991]     function Get_caseid: WideString; safecall;
+[992]     function Get_data: WideString; safecall;
+[993]     function Get_fixfilelist: WideString; safecall;
+[994]     function Get_is_in_wh: WideString; safecall;
+[995]     function Get_language: WideString; safecall;
+[996]     function Get_loandoc_enable: WideString; safecall;
+[997]     function Get_loandoc_value: WideString; safecall;
+[998]     function Get_mode: WideString; safecall;
+[999]     function Get_modename: WideString; safecall;
+[1000]     function Get_oldcaseinfo: WideString; safecall;
+[1001]     function Get_rewrite: WideString; safecall;
+[1002]     function Get_url: WideString; safecall;
+[1003]     function Get_useproxy: WideString; safecall;
+[1004]     function Get_userid: WideString; safecall;
+[1005]     function Get_username: WideString; safecall;
+[1006]     function Get_userunit: WideString; safecall;
+[1007]     function Get_verify: WideString; safecall;
+[1008]     function Get_work_no: WideString; safecall;
+[1009]     function Get_printyn: WideString; safecall;
+[1010]     procedure Set_printyn(const Value: WideString); safecall;
+[1011]     function Get_is_oldcase: WideString; safecall;
+[1012]     procedure Set_is_oldcase(const Value: WideString); safecall;
+[1013]     function Get_custdocyn: WideString; safecall;
+[1014]     procedure Set_custdocyn(const Value: WideString); safecall;
+[1015]     function Get_casenolength: WideString; safecall;
+[1016]     function Get_filesizelimit: WideString; safecall;
+[1017]     function Get_imgdpi: WideString; safecall;
+[1018]     function Get_scancolor: WideString; safecall;
+[1019]     procedure Set_casenolength(const Value: WideString); safecall;
+[1020]     procedure Set_filesizelimit(const Value: WideString); safecall;
+[1021]     procedure Set_imgdpi(const Value: WideString); safecall;
+[1022]     procedure Set_scancolor(const Value: WideString); safecall;
+[1023]     function Get_imgdelete: WideString; safecall;
+[1024]     procedure Set_imgdelete(const Value: WideString); safecall;
+[1025]     function Get_check_main_form: WideString; safecall;
+[1026]     function Get_isExternal: WideString; safecall;
+[1027]     procedure Set_check_main_form(const Value: WideString); safecall;
+[1028]     procedure Set_isExternal(const Value: WideString); safecall;
+[1029]     function Get_WH_CATEGORY: WideString; safecall;
+[1030]     procedure Set_WH_CATEGORY(const Value: WideString); safecall;
+[1031]   public
+[1032]     { Public declarations }
+[1033]     procedure Initialize; override;
+[1034]   end;
+[1035] 
+[1036] implementation
+[1037] 
+[1038] uses EnBarcode,
+[1039]      EnTransf, { for TImageTransform }
+[1040]      Enpnggr,  { for PNGGraphic }
+[1041]      EnJpgGr,  { for JPGGraphic }
+[1042]      EnReg,
+[1043]      EnBmpGr,  { for TBitmapGraphic }
+[1044]      EnPrint,  { for TEnvisionPrintMode, TDibGraphicPrinter }
+[1045]      ComObj, ComServ,IISUnit,IIS_File2Web,IIS_ImageProcess,
+[1046]      PatchFom,Doclist,ScanMemo,DocCopy,InputMask,SortMemo,DocPrt,OldCaseInfo;
+[1047] 
+[1048] {$R *.DFM}
+[1049] 
+[1050] { TCB_IMGPSScanX }
+[1051] 
\ No newline at end of file

--
Gitblit v1.8.0