unit CB_IMGPSScanImp; //TEST {$WARN SYMBOL_PLATFORM OFF} interface uses EnScan, { for Scanner } EnDiGrph, { for TDibGraphic } EnMisc, { for MinFloat } EnTifGr, { for TTifGraphic } {$IFDEF Production} CB_IMGPSScan_TLB, {$ENDIF} {$IFDEF Test} CB_IMGPSScan_test_TLB, {$ENDIF} Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ActiveX, AxCtrls, StdVcl, VCLUnZip, VCLZip, Encryp, ExtCtrls, ComCtrls, Menus, StdCtrls, Gauges, EnImgScr, PJMenuSpeedButtons, Buttons, ImgList, SBSimpleSSL, SBHTTPSClient, SBWinCertStorage, SBX509, SBCustomCertStorage, SBUtils,mpsBarco,BarcodesFinder,HTTPApp,ErrList, Xmltool,inifiles,printers,IdHashMessageDigest, idHash, LogFile,ShellApi, SBSocket,IIS_Ftp, SBSimpleFTPS; Type TTransMode =(tsHttp,tsFtp,tsNone); var Ch_WriteNote : Boolean; RejectCase : Boolean; ErrIndex : Integer; //*****預設區*****// Def_DeviceDelete : Boolean; //空白頁刪除啟動 Def_DeviceDeleteSize : Integer; //空白頁Size Def_ScannerReverse : Boolean; //是否需反相 Def_BoardClear : Boolean; //是否清黑邊 Def_ScanDpi : Integer; //掃瞄DPI Def_ScanDuplex : Boolean; //是否雙面掃瞄 Def_ScanRotate : Integer; //掃瞄時旋轉角度 Def_ScanDeskew : Boolean; //是否傾斜矯正 Def_ScanBright : Integer; //亮度 Def_ScanContrast : Integer; //對比 Def_ScanImgShowMode : Integer; //0:清楚影像 1:不清楚影像 2:不顯示 Def_ScanImgSetUse : Boolean; //是否使用亮度對比設定 //*****預設區*****// Const ISBName = 'PreViewISB'; {獲取自身版本號所需要 } type TVersionLanguage = (vlArabic, vlBulgarian, vlCatalan, vlTraditionalChinese, vlCzech, vlDanish, vlGerman, vlGreek, vlUSEnglish, vlCastilianSpanish, vlFinnish, vlFrench, vlHebrew, vlHungarian, vlIcelandic, vlItalian, vlJapanese, vlKorean, vlDutch, vlNorwegianBokmel, vlPolish, vlBrazilianPortuguese, vlRhaetoRomanic, vlRomanian, vlRussian, vlCroatoSerbian, vlSlovak, vlAlbanian, vlSwedish, vlThai, vlTurkish, vlUrdu, vlBahasa, vlSimplifiedChinese, vlSwissGerman, vlUKEnglish, vlMexicanSpanish, vlBelgianFrench, vlSwissItalian, vlBelgianDutch, vlNorwegianNynorsk, vlPortuguese, vlSerboCroatian, vlCanadianFrench, vlSwissFrench, vlUnknown); const LanguageValues: array[TVersionLanguage] of Word = ($0401, $0402, $0403, $0404, $0405, $0406, $0407, $0408, $0409, $040A, $040B, $040C, $040D, $040E, $040F, $0410, $0411, $0412, $0413, $0414, $0415, $0416, $0417, $0418, $0419, $041A, $041B, $041C, $041D, $041E, $041F, $0420, $0421, $0804, $0807, $0809, $080A, $080C, $0810, $0813, $0814, $0816, $081A, $0C0C, $100C, $0000); {獲取自身版本號所需要 end} type TScanMode = (smNew, smReplace, smInsert, smSample, smRTS); TpScanInfo = ^TScanInfo; TScanInfo = record MultiPage : Boolean; { supplementary info when MultiPage is True } Graphic : TTiffGraphic; Stream : TFileStream; ImageCount : LongInt; end; TOMRErrInfo = record Display : Boolean; //是否顯示 Ignore : Boolean; //可否刪除 Info : String; Mode : String; end; TScrollRec = Record HScroll : Integer; VScroll : Integer; Rate : Single; end; type TCB_IMGPSScanX = class(TActiveForm, ICB_IMGPSScanX) Panel1: TPanel; TransBtn: TBitBtn; Panel21: TPanel; ViewModeBtn: TPJMenuSpeedButton; Button2: TButton; Button1: TButton; OptionBtn: TBitBtn; SelectScanBtn: TBitBtn; NextPageBtn: TBitBtn; PrePageBtn: TBitBtn; FC6: TBitBtn; FC5: TBitBtn; FC4: TBitBtn; FC3: TBitBtn; FC2: TBitBtn; FC1: TBitBtn; FC0: TBitBtn; Panel23: TPanel; PJLinkedMenuSpeedButton2: TPJLinkedMenuSpeedButton; NewScanBtn: TBitBtn; AddScanBtn: TBitBtn; Panel4: TPanel; Panel2: TPanel; Splitter1: TSplitter; Panel3: TPanel; Label7: TLabel; Panel6: TPanel; CB1: TCheckBox; ScanDuplexCB: TCheckBox; ScanFlatCB: TCheckBox; Panel18: TPanel; Panel12: TPanel; Panel7: TPanel; Panel9: TPanel; Shape1: TShape; ImageScrollBox1: TImageScrollBox; imgp8: TPanel; lb8: TLabel; ISB8: TImageScrollBox; imgp7: TPanel; lb7: TLabel; ISB7: TImageScrollBox; imgp6: TPanel; lb6: TLabel; ISB6: TImageScrollBox; imgp5: TPanel; lb5: TLabel; ISB5: TImageScrollBox; imgp4: TPanel; lb4: TLabel; ISB4: TImageScrollBox; imgp3: TPanel; lb3: TLabel; ISB3: TImageScrollBox; imgp2: TPanel; lb2: TLabel; ISB2: TImageScrollBox; imgp1: TPanel; lb1: TLabel; Memo1: TMemo; Display1: TMemo; Panel22: TPanel; Panel8: TPanel; Label2: TLabel; Gauge1: TGauge; ScrollBar1: TScrollBar; Panel10: TPanel; PageLV: TListView; StatusBar1: TStatusBar; ImageList4: TImageList; ImageList3: TImageList; ImageList1: TImageList; PopupMenu2: TPopupMenu; mode1: TMenuItem; mode2: TMenuItem; mode3: TMenuItem; mode4: TMenuItem; N51: TMenuItem; ImageList2: TImageList; OpenDialog1: TOpenDialog; PopupMenu3: TPopupMenu; PM301: TMenuItem; PM302: TMenuItem; PM303: TMenuItem; Timer1: TTimer; TomEncryption1: TTomEncryption; SaveDialog1: TSaveDialog; Timer2: TTimer; VCLZip1: TVCLZip; PopupMenu4: TPopupMenu; PM401: TMenuItem; PM402: TMenuItem; PM403: TMenuItem; PM404: TMenuItem; ElWinCertStorage: TElWinCertStorage; ElMemoryCertStorage: TElMemoryCertStorage; Panel5: TPanel; AddCredit1RG: TRadioGroup; Panel11: TPanel; SampleScanBtn: TBitBtn; WNoteBtn: TBitBtn; PopupMenu1: TPopupMenu; PM101: TMenuItem; N12: TMenuItem; PM102: TMenuItem; MenuItem1: TMenuItem; PM103: TMenuItem; PM104: TMenuItem; N7: TMenuItem; PM106: TMenuItem; PM107: TMenuItem; PM108: TMenuItem; PM109: TMenuItem; PopupMenu5: TPopupMenu; PM501: TMenuItem; PM502: TMenuItem; PM503: TMenuItem; PM504: TMenuItem; N5: TMenuItem; PM505: TMenuItem; PM506: TMenuItem; N29: TMenuItem; PM510: TMenuItem; PM509: TMenuItem; PM507: TMenuItem; N15: TMenuItem; PM508: TMenuItem; ExportBt: TButton; ImportBt: TButton; CheckCaseBtn: TBitBtn; DenialTimeLb: TLabel; Panel14: TPanel; ScrollBox1: TScrollBox; Label1: TLabel; Button3: TButton; Panel15: TPanel; Button4: TButton; PopupMenu6: TPopupMenu; PM602: TMenuItem; PM601: TMenuItem; PM605: TMenuItem; PM603: TMenuItem; PM604: TMenuItem; N8: TMenuItem; Panel16: TPanel; SpeedButton3: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; Edit1: TEdit; PM110: TMenuItem; Image1: TImage; UseOldCaseLb: TLabel; PM111: TMenuItem; SmoothCB: TCheckBox; ISB_BW: TImageScrollBox; N1: TMenuItem; N2: TMenuItem; ISB1: TImageScrollBox; Label3: TLabel; LogFile1: TLogFile; ScanGrayCB: TCheckBox; AttFileGB: TGroupBox; AttListBox: TListBox; Panel20: TPanel; AddAttFileLB: TLabel; DelAttFileLB: TLabel; Splitter2: TSplitter; Panel17: TPanel; TreeView1: TTreeView; Panel13: TPanel; PrtLb: TLabel; CaseHelpBtn: TBitBtn; HTTPSClient: TElHTTPSClient; Button5: TButton; FTPSClient1: TElSimpleFTPSClient; Button6: TButton; procedure ActiveFormCreate(Sender: TObject); procedure Panel9Resize(Sender: TObject); procedure ISB1Click(Sender: TObject); procedure WNoteBtnClick(Sender: TObject); procedure CaseHelpBtnClick(Sender: TObject); procedure FC0Click(Sender: TObject); procedure FC1Click(Sender: TObject); procedure FC2Click(Sender: TObject); procedure FC3Click(Sender: TObject); procedure FC4Click(Sender: TObject); procedure FC5Click(Sender: TObject); procedure FC6Click(Sender: TObject); procedure PrePageBtnClick(Sender: TObject); procedure NextPageBtnClick(Sender: TObject); procedure OptionBtnClick(Sender: TObject); procedure SelectScanBtnClick(Sender: TObject); procedure mode1Click(Sender: TObject); procedure mode2Click(Sender: TObject); procedure mode3Click(Sender: TObject); procedure mode4Click(Sender: TObject); procedure N51Click(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure ISB1EndScroll(Sender: TObject); procedure ISB1ImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ISB1ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ISB1ImageMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure PM508Click(Sender: TObject); procedure PM401Click(Sender: TObject); procedure PM402Click(Sender: TObject); procedure PM403Click(Sender: TObject); procedure PM404Click(Sender: TObject); procedure TreeView1Click(Sender: TObject); procedure NewScanBtnClick(Sender: TObject); procedure AddScanBtnClick(Sender: TObject); procedure PageLVClick(Sender: TObject); procedure PageLVKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure PageLVMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure PM101Click(Sender: TObject); procedure PM104Click(Sender: TObject); procedure PM102Click(Sender: TObject); procedure PM103Click(Sender: TObject); procedure PM106Click(Sender: TObject); procedure PM107Click(Sender: TObject); procedure PM108Click(Sender: TObject); procedure PM109Click(Sender: TObject); procedure PM301Click(Sender: TObject); procedure PM302Click(Sender: TObject); procedure PM303Click(Sender: TObject); procedure PM501Click(Sender: TObject); procedure PM502Click(Sender: TObject); procedure PM503Click(Sender: TObject); procedure PM504Click(Sender: TObject); procedure PM505Click(Sender: TObject); procedure PM510Click(Sender: TObject); procedure PM509Click(Sender: TObject); procedure PM507Click(Sender: TObject); procedure PopupMenu1Popup(Sender: TObject); procedure PopupMenu4Popup(Sender: TObject); procedure PopupMenu5Popup(Sender: TObject); procedure SampleScanBtnClick(Sender: TObject); procedure StatusBar1DblClick(Sender: TObject); procedure ExportBtClick(Sender: TObject); procedure ImportBtClick(Sender: TObject); procedure HTTPSClientCertificateValidate(Sender: TObject; X509Certificate: TElX509Certificate; var Validate: Boolean); procedure ScanDuplexCBClick(Sender: TObject); procedure CheckCaseBtnClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure TransBtnClick(Sender: TObject); procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer); procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure TreeView1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TreeView1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ViewModeBtnMouseEnter(Sender: TObject); procedure Button3Click(Sender: TObject); procedure AddCredit1RGClick(Sender: TObject); procedure CB1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ISB1Enter(Sender: TObject); procedure TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure PM601Click(Sender: TObject); procedure PopupMenu6Popup(Sender: TObject); procedure PM604Click(Sender: TObject); procedure PM605Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton14Click(Sender: TObject); procedure SpeedButton15Click(Sender: TObject); procedure SpeedButton16Click(Sender: TObject); procedure SpeedButton17Click(Sender: TObject); procedure SpeedButton18Click(Sender: TObject); procedure SpeedButton19Click(Sender: TObject); procedure SpeedButton20Click(Sender: TObject); procedure SpeedButton21Click(Sender: TObject); procedure SpeedButton22Click(Sender: TObject); procedure ActiveFormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure PM110Click(Sender: TObject); procedure PM602Click(Sender: TObject); procedure PrtLbClick(Sender: TObject); procedure Panel1DblClick(Sender: TObject); procedure Panel11DblClick(Sender: TObject); procedure UseOldCaseLbClick(Sender: TObject); procedure PM111Click(Sender: TObject); procedure ImageScrollBox1NewGraphic(const Graphic: TDibGraphic); procedure SmoothCBClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure TreeView1MouseEnter(Sender: TObject); procedure ScrollBox1MouseEnter(Sender: TObject); procedure ScanGrayCBClick(Sender: TObject); procedure AddAttFileLBClick(Sender: TObject); procedure DelAttFileLBClick(Sender: TObject); procedure AttListBoxDblClick(Sender: TObject); procedure AttListBoxClick(Sender: TObject); procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure HTTPSClientRedirection(Sender: TObject; const OldURL: string; var NewURL: string; var AllowRedirection: Boolean); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); private { Private declarations } HotKeyId1,HotKeyId2,HotKeyId3,HotKeyId4 :Integer; ////////傳入參數///////// FUrl : String; FCaseID : String; FMode : String; //NSCAN:新件;ESCAN:修改 20170306 DSCAN:被配合待掃瞄清單使用 FModeName : String; FWork_no : String; FUserID : String; FUserName : String; FUserUnit : String; FData : String; FVerify : String; FReWrite : String; FLanguage : String; FLoanDoc_Value : String; //新增授信卷的值 FLoanDoc_Enable : String; //新增授信卷是否可異動 FUseProxy : String; //是否使用Proxy FC_DocNoList : String; //外面傳來要新增的文件編號 FC_DocNameList : String; //外面傳來要新增的自訂文件 FFixFileList : String; //要鎖住的檔名 FIs_In_Wh : String; //是否只顯示入庫文件 (Y:只顯示入庫 N:只顯示非入庫 空白:都顯示) FOldCaseInfo : String; //舊件資訊 CaseID_year[tab]CaseID_year FPrintyn : String; //是否可列印 FIs_OldCase : String; //是否是舊案第一次進入 FCustDocYN : String; //是否可自訂文件 //20170222 新增 FImgDPI:integer;//DPI  依業務別決定 150~~1200  預設300 FScanColor:integer;///掃瞄色彩  依業務別決定   0 :黑白  1:灰階   2:彩色 預設黑白 FFileSizeLimit:integer;//匯入單一檔案大小限  依業務別決定  以KB為單位  預設5*1024kb FCaseNoLength:integer;//案件編號長度檢查  依業務別決定   無預設  一定要傳入 FImgDelete:string; // Y/N 有權限可在補件時刪除影像 FIsExternal:string;//Y/N FCheck_main_form:string; //Y/N FWH_category:string; //Y/N Y是歸類時有區分入庫非入庫文件 N 是不區分 ////////傳入參數/////// TransMode : TTransMode; //用何種方式上傳檔案 //********Http參數******** HttpErrStr : String; //錯誤訊息 //********Http參數******** //********Ftp參數********* FFtpIP : String; FFtpID : String; FFtpPwd : String; FFtpRootPath : String; FFtpExtraPath : String; FFtpPort : Integer; FFtpProtocol : TFtpProtocol; //********Ftp參數********* //********ini參數******** DeviceDelete : Boolean; //空白頁刪除啟動 DeviceDeleteSize : Integer; //空白頁Size ScannerReverse : Boolean; //是否需反相 BoardClear : Boolean; //是否清黑邊 ScanDpi : Integer; //掃瞄DPI ScanDuplex : Boolean; //是否雙面掃瞄 ScanRotate : Integer; //掃瞄時旋轉角度 ScanDeskew : Boolean; //是否傾斜矯正 ScanBright : Integer; //亮度 ScanContrast : Integer; //對比 ScanImgShowMode : Integer; //0:清楚影像 1:不清楚影像 2:不顯示 ScanImgSetUse : Boolean; //是否使用亮度對比設定 //********ini參數******** ScanColor : TImageFormat; //********時間******** ServerDate : String; ServerTime : String; Balance : Longint; //local跟server的時間差 ScanDenialTime : String; //停止進件時間 //********時間******** ScanDenialHint : String; //掃描顯示提醒字串 //********路徑******** ScanPath : String; // SpecifyDir\Workid\userunit\mode ImagePath : String; // SpecifyDir\Workid\userunit\mode ImageSavePath : String; // ImagePath\ ScaniniPath : String; // SpecifyDir\Workid\userunit\ LngPath :String; //多國語言檔目錄 CheckXmlPath : String; //檢核用的Xml存放目錄 SitePath : String; //登打位置(切簽名用) SamplePath : String; //範本目錄 TransPath : String; //檔案上傳的路徑(補充件會多一層目錄) //********路徑******** ScanSaveFilename : String; //掃瞄的檔名 ScanCaseno : String; //掃瞄時的案號 ScanDocDir : String; //掃描時的文件代號目錄 //********清單區******** Doc_Inf_List : TStringList; //Doc_Inf 清單 DM_FORM_INF_List :TstringList; //DM_FORM_INF 清單 FORM_INF_List : TStringList; //FORM_INF的清單 CHECK_RULE_INF_List : TStringList; //CHECK_RULE_INF 清單 MEMO_INF_List : TStringList; //MEMO_INF 清單 WORK_INF_List : TStringList; //WORK_INF 清單 LASTEST_FORM_INF_List : TStringList; // LASTEST_FORM_INF 清單 FindResult : TStringList; //找SQLData的結果 CaseList : TStringList; //記錄掃瞄案件的順序 Context_DocnoList : TStringlist; //案件裡的Docno清單 CaseDocNoList : TStringlist; //案件裡的DocNo清單(不重複) CaseDocNo_CopiesList : TStringlist; //案件裡的DocNo份數清單 ContextList : TStringlist; //案件裡的檔案清單 AttContextList : TStringlist; //案件裡的附加檔案清單 OMRFileList : TStringList; //要OMR檢核的文件(只檢查每種Form的第一頁) Cust_DocNoList : TStringlist; //自行定義文件名稱 IN_WH_DocNoList : TStringlist; //入庫的文件清單 FormCode_PageSize : TStringList; //文件的預設大小 FormCode_Height_Width DocNo_NeedDoc : TStringList; //有Docno時要相依的文件 DocNo_相依文件_相依文件 DocNo_NoDoc : TstringList; //有Docno時互斥的文件 DocNo_互斥文件_互斥文件 DocNo_VerinCase : TStringlist; //案件裡的DocNo+版本的清單 NoSaveBarCodeList : TStringlist; //不儲存的條碼清單 FormID_List : TStringlist; //FormID 清單 20130403 因為原FormCode2Docno會很慢..把FormID抽出來 DocNo_List : TStringlist; //DocNo 清單 20130403 因為原FormCode2Docno會很慢..把DocNo抽出來 NowShowFileList : TStringlist; //目前顯示的影像清單 NowSelectFileList : TStringlist; //目前被點選的影像清單 GuideFormIDList : TStringlist; //要當導引頁表單清單 DivPageFormIDList:TStringlist; //要當分案頁表單清單 LastInitFormidList:TStringList; LastAddFormidList:TstringList; SampleFormIDList:TStringList; //20170627 已存在範本的formid ExistImgList:TStringList; //20170724 已經存在的影像list for ESCAN //Img的完整路徑 reSizeExistImgList:TstringList; //20171012被縮放的舊圖MD5存入 //********清單區******** //********顯示區******** NowCaseno : String; //目前顯示的案件編號 NowDocNo : String; //目前的文件編號 NowDocDir : String; //目前的文件目錄 NowFormCode : String; //目前顯示的表單編號 NowFormName : String; //目前顯示的表單名稱 NowPage : Integer; //目前點選的頁碼 DisplayPath : String; //目前顯示的目錄 //********顯示區******** //******索引資料********* Case_loandoc : String; //是否新增授信卷 //******索引資料********* //********十字定位點資訊******** UpLPoint : Tpoint; //左上方的十字點 UpRPoint : Tpoint; //右上方的十字點 DownLPoint : Tpoint; //左下方的十字點 DownRPoint : Tpoint; //右下方的十字點 Point_Width : String; //十字點的寬 Point_Height : String; //十字點的高 //********十字定位點資訊******** CaseIDLength : Integer; //案件編號長度 FormIDLength : Integer; //FormID長度 DocNoLength : Integer; //Docno長度 PEFileName : String; //掃描時的檔名 DownFileErrStr : String; //下載影像時發生的錯誤 ISB : TImageScrollBox; ScanInfo : TScanInfo; TwainShowUI : Boolean; MpsBarcodeinf : TMpsBarcodeinf; ScanMode : TScanMode; Mpskey : String; Seg : Integer; //顯示的邊界值 VMode : Integer; //顯示的index NowClick : Integer; //目前點到的按鈕功能Index ScanIP : String; //掃瞄端的IP DisplayISB : TImageScrollBox; //被點到的影像 SelectISB : TImageScrollBox; //被點到的縮圖 SelectPage : Integer; //被點到的頁數 NewTreeNode,MyTreeNode1,MyTreeNode2,MyTreeNode3 : TTreenode; InitialOk : Boolean; //資訊載入是否完成 ShowText : String; //DataLoading時要秀出的訊息 Ext : String; //附檔名 .tif .jpg SafePixel : Integer; //OMR容忍誤差值點數 OMRErrInfo : Array[1..11] of TOMRErrInfo; //檢核的方式及訊息 ScrollRec : Array[1..8] of TScrollRec; //瀏覽窗的Scroll記錄 RecHozPos,RecVerPos : Integer; //記錄MPSViewX1的ScrollBar位置 ReczoomPercent : Single; SortMode : Boolean; PreMytreeNode2Name:String; HS,VS : Integer; iRate : Single; Bt : Integer; //去直線時橫線判斷的容忍值 BarCodeRotate : Integer; //條碼要轉的角度 HaveAppDoc : Boolean; //補全時是否有補入要保書 PageLVclear : Boolean; CaseCount,PageCount : Integer; //總案件量及總頁數 Item : TMenuItem; SampleAnchorMode : String; //範本掃瞄十字線的模式 NONE:無;ANCHOR:十字;FRAME:邊框 DownImgStatus : String; //下載影像的狀態(NO_DATA:沒資料;NO_FILE:沒影像) TransForm_Field : String; //要用OMR勾選確認是否轉換FORMID的欄位名稱 NowWork_No : String; //現在的作業別 CropBarcode : String; //要切影像的條碼 Has_Authorize :String; //是否有授權書影像 AttName : String; //未歸類目錄名稱 NowGuideFormID : String; NowDivPageFormID:String; FirstDocDir : String; FMaxUploadSize:String;// 上傳zip大小限制 FJpgCompression:integer;// 20171211 jpg to tif 的壓縮率 Draging : Boolean; MDown : Boolean; //20181210 用來判斷滑鼠右鍵要Popupmenu是否有MouseDonw發生 FEvents: ICB_IMGPSScanXEvents; procedure HotKeyDown (var Msg : TMessage);message WM_HOTKEY; Procedure InitialLanguage(Sender: TObject); //畫面載入多國語言 //Function _Msg(S:String):String; //*********SQL相關************ Procedure SetSQLData(ColumeStr:String;FromList,ToList:TStringlist); //把SQL值塞入 Function GetSQLData(TableList:TStringlist;Colname:String;colNo:Integer):String; //依欄位及索引取值 Function FindSQLData(TableList:TStringlist;ColumeStr,KeyColumeStr,KeyStr:String;ColNo:Integer;Var ResultList:TStringlist):Boolean; //找指定的資料 Function GetFindResult(Col:String):String; //*********SQL相關************ //*********FTP相關************ Function GetFtpinfo(CaseID,Action:String):Boolean; Procedure SetFtpInfo; //餵入FTP資訊 Function FtpCaseComplete(SendData:String):Boolean; //*********FTP相關************ //*******轉換區********* Function FindDivFormCode(FormCode:String):Boolean; //找有沒有分案的條碼 Function FormCode2FormName(CaseID,FormCode:String):String; //用FormCode轉成文件名稱 Function FormCode2FileName(FormCode:String;List:TStrings):String; //用FormCode找出檔名(第一頁) Function FileName2FormCode(FileName:String):String; //從檔名取出FormCode Function FileName2FormName(CaseID,FileName:String):String; //從檔名取出文件名稱 Function FileName2ScanPage(FileName:String):Integer; //從檔名取出掃瞄頁數 Function FileName2NoQuene_Filename(FileName:String):String; //取出沒有序號的檔名 Function FileName2Index(FileName:String):Integer; //從檔名取出在ContextList的序號 Function FileName2NowDcoNo(FileName:String;CtList,DNList:TStrings):String; //從檔名取出歸屬的文件代號 Function FormCode2DocNo(FormCode:String):String; //FormCode轉Docno Function FormCode2Version(FormCode:String):String; //FormCode轉版本 Function FormCode2Page(FormCode:String):String; //FormCode轉文件頁數 Function DocNo2DocName(CaseID,DocNo:String):String; //Docno轉Doc名稱 Function DocNo2FileName(DocNo:String;List:TStrings):String; //用DocNo找出檔名(第一頁) Function FormCode2WorkNo(FormCode:String):String; //用FormCode取出作業別 Function DocNo2WorkNo(DocNo:String):String; //用DocNo取出作業別 Function DocNo2DocNoDir(Path,DocNo:String):String; //DocNo轉成DocNo(份數)目錄 Function DocNoDir2DocNo(DocNoDir:String):String; //DocNo(份數)目錄轉成DocNo Function DocNoDir2Index(Path,DocNoDir:String):Integer; //DocNo(份數)目錄轉成index Function DocNoNeedDiv(DocNo:String):Boolean; //是否是需分份數的文件代號 //Function CaseNo2DocNo(CaseNo:String):TStringList; Function CaseNode2Info(Node:TTreeNode;Mode:Char):String; //案件Node取案件編號 Mode: I:Caseno;P:Page Function DocNode2Info(Node:TTreeNode;Mode:Char):String; //文件Node取文件代號 Mode: I:Docno;N:Docname;P:Page;G:Group Function FormNode2Info(Node:TTreeNode;Mode:Char):String; //表單Node取表單代號 Mode: I:FormID;N:FormName;P:Page //*******轉換區********* Procedure PriorPage(Page:Integer); //上一頁 Procedure NextPage(Page:Integer); //下一頁 Function DocNoExistsinTree(CaseNode:TTreeNode;DocNo:String):Boolean; //DocNo是否己存在樹裡 Function DocnoNeedGroup(DocNo:String):Boolean; //傳入的DocNo是否需分組 function GetSiteOMR(FileName, Site: String;bt: Integer): Integer; Function FindISB2View(Vmode:Integer):TImageScrollBox; //找空的ISB來顯示 Procedure R_W_ScanIni(Mode:Char); //'R'讀取;'W'寫入 Procedure GetDefScanIni; //取得掃瞄的預設值 procedure DesableImage; procedure EnableImage(v:integer;Sender : TObject); Procedure ViewMouseMode(v:Integer); Procedure GoViewMode; Procedure DisplayMode(index,H_Count,W_Count:Integer;BasePanel:TPanel); Function GetServerDate : Boolean; //取主機時間 Function GetSetInf1 : Boolean; //取系統設定資訊mode1 DOC_INF Function GetSetInf2 : Boolean; //取系統設定資訊mode2 DM_FORM_INF Function GetSetInf3 : Boolean; //取系統設定資訊mode3 FORM_INF Function GetSetInf4 : Boolean; //取系統設定資訊mode4 CHECK_RULE_INF Function GetSetInf5 : Boolean; //取系統設定資訊mode5 MEMO_INF Function GetSetInf6 : Boolean; //取系統設定資訊mode6 WORK_INF Function GetSetInf7 : Boolean; //取系統設定資訊mode7 LASTESTFORM_INF Procedure SetFormID_DocNo; //將FormID及Docno抽出來另存入list裡 Procedure SetIn_WH_DocNo; //將要入庫的DocNo抽出來另存入list裡 Procedure DataLoading(Loading,UseTimer:Boolean); //資料載入中要停止點選的動作 procedure ClearView(stkv:Integer); //清除瀏覽窗的影像 Function DrawDocItem2(CaseNode : TTreenode;Caseno:String):Boolean; //畫出文件名稱的Tree Procedure initkscan; //檢查掃描器的功能 procedure LoadImgFile; //載入案件 procedure LoadImgFile1; //載入案件 procedure LoadAttFile(CaseID:String); //載入附加檔案 Procedure DistinctFormCode(CaseID:String); //案件裡的FormCode取出第一頁 Function OMRCheckCase(CaseID:String):Boolean; //OMR檢核 Procedure OMRErr2ini(CaseID,Reason,FileName,Site,RelaFileName,RelaSite,Anchor,Anchor1:String;Del,Ingnore,Display:Boolean); //OMR檢核失敗寫入ini Procedure OMRErrini2List(CaseID:String;ErrlistForm : TErrlistForm); //OMR檢核失敗從ini寫入ListView Function DownLanguage:Boolean; //下載多國語言檔 Function FindMpsView(Vmode:Integer):TImageScrollBox; Function CaseAsk(CaseID:String):Integer; //詢問是否可上傳 (-1:失敗;0:可以;1:不行;) Function CaseComplete(Path,CaseID:String;MainCase:Boolean):Boolean; //通知傳送完成 Function GetCaseFormID(Path:String):String; //取案件的FormID Procedure CreateFormID_FormName(Path,CaseID:String); //產生FormID_FormName.dat Procedure CreateDocNo_DocName(Path,CaseID:String); //產生DocNo_DocName.dat Procedure CreateIn_WH(CaseID:String); //產生In_WH.dat Function CreateDocNo_Info(CaseID:String):String; //產生保管袋文件 DocNo[tab]份數[tab]總頁數[tab]是否異動[換行]DocNo[tab]份數[tab]總頁數[tab]是否異動 Function CreateCustDocNo_Info(CaseID:String):String; //產生自訂文件 DocName[tab]份數[tab]總頁數[tab]是否異動[#13#10]DocName[tab]份數[tab]總頁數[tab]是否異動 //Function CreateCustDocNo_Info(path,CaseID:String):String; overload Function CreateAttach_Info(CaseID:String):String; //產生是否有Attach Y:有 N:沒有 Function CreateDocnoFrom_Info(CaseID:String):String; //產生被引進的保管袋文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號 Function CreateCustDocNoFrom_Info(CaseID:String):String; //產生被引進的自定文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號 Function GetDocNoEdit(CaseID,DocNo,DocName:String):String; //取出DocNo是否被異動 (Y/N) Function GetDocNo_Count(Path,DocNo:String):Integer; //取出文件份數 Function GetDocNo_Page(Path,DocNo:String):Integer; //取出文件總頁數 Function FormIDExists(FormCode:String;CheckDate:Boolean;index:Integer):Boolean; //檢查FormID是否存在及是否要檢查啟用停用日期 Function Case_DocNoExists(CaseID,Docno:String):Boolean; //Docno是否存在案件裡 Procedure ReSortFileName_New(Path:String); //檔名重新排序 Procedure ReSortFileName(Path:String); //檔名重新排序 Procedure ReSortFileName2Scanlist(Path:String); //檔名重新排序給Scanlist.dat Function GetOMRCheckSet:Boolean; //下載OMR檢核XML檔 Function GetKeyinSet : Boolean; //取登打設定 Procedure CheckRule2OMRErrInfo; //檢核規則填入OMRErrINFo Record Procedure ReNameContext(Path,OldName,NewName:String); Procedure DeleteImageFile(Path,FileName,CaseID:String); // 刪除檔案 Procedure DeleteFormCodeFile(CaseID,DocDir,FormID:String); //刪除指定FormID文件 Function DeleteDocNoFile(Path,DocNo:String):Boolean; //刪除指定DocNo文件 Procedure DeleteShowFile(Path:String); //刪除顯示中的影像 Function GetDataDocNoPage(MainDocNo,MainVersion:String):Integer; //取記錄的文件_版本頁數 Function CheckCaseDocNoPage(CaseID,DocNo,Version:String;Pages:Integer):Integer; //檢查案件裡的文件_版本頁數 Function FindFormCodePages(CaseID,FormCode:String):Integer; //計算案件裡FormID的頁數 Function GetDataFormCodePages(FormCode:String):Integer; //取記錄的FormcID的頁數 Procedure CaseReSize(CaseID:String); //案件的影像縮放 Procedure ImageReSize_FormID(CaseID,FileName:String); //依十字定位點做縮放 Procedure ImageReSize_tmp(FormID,FileName:String); //依十字定位點做縮放(暫存檔) Function TransCaseID(Path,CaseID:String;MainCase:Boolean):Boolean; //傳送案件 Procedure NewTreeNodeRefresh; Procedure MyTreeNode1Refresh; Procedure MyTreeNode2ReFresh(CaseID:String); Procedure MyTreeNode3ReFresh(CaseID:String); Function Node2DocNo(Node2:TTreeNode):String; //MyTreeNode2取DocNo出來 Function Node3DocNo(Node3:TTreeNode):String; //MyTreeNode3取DocNo出來 Function Node3FormID(Node3:TTreeNode):String; //MyTreeNode3取FormCode出來 Function GetNode2Name(Node2:TTreeNode):String; //取MyTreeNode2的識別字出來(記之前點選用) //Function Down_Replace_Img(SPAth,DPath,CaseID:String):Boolean; Function DownLoadImage(Path,CaseID:String):Boolean; Function Down_Img(Path,CaseID:String):Boolean; Function GetNoNameCase(Path:string):String; //取未配號XXXX Procedure CaseResort(Path:String); //案件的檔案重新排序(次文件依Docno挑) Procedure CaseResort2Scanlist(Path:String); //案件的檔案重新排序給scanlist(次文件依FormID排) Procedure DistinctDocinCase(Path:String); //列出案件裡的Docno_版本 Procedure DistinctDocNoinCase(Path:String); //列出案件裡的Docno Procedure ClearErrini(CaseID:String;CaseNode:TTreeNode); //清掉檢核檔案 Procedure SetCaseList(Mode:Char;Index:Integer;text:String); //'A:加入,I:插入,D:刪除,E:修改' Procedure SetDocNoList(Mode:Char;Index:Integer;CaseNo,DocDir,Copies:String); //'A:加入,I:插入,D:刪除,E:修改' Procedure SetContextList(Mode:Char;Index:Integer;CaseNo,DocDir,FileName:String); //'A:加入,I:插入,D:刪除,E:修改' Procedure SetAttContextList(Mode:Char;Index:Integer;CaseNo,FileName:String); //'A:加入,I:插入,D:刪除,E:修改' Function checkCaseOMRDone:Boolean; //檢查案件是否完成OMR檢核 Function CheckCaseID_OK:Boolean; //檢查是否有未配號的案件 Procedure CreateEmptyCase(Path,CaseID:String); //產生空白案號(重掃件用) Procedure InitScrollRec; //初始化影像Scroll記錄 Procedure GetScrollData(ISB:TImageScrollBox;Var HS,VS:Integer;Var iRate:Single); //取影像Scroll記錄 Procedure SetScrollData(ISB:TImageScrollBox;HS,VS:Integer;iRate:Single); //寫影像Scroll記錄 Procedure FormIDReplace(CaseID,DocDir,OldFormID,NewFormID:String); //指定FormID更換成新的FormID Procedure ShowFileReplace(Path,NewFormID:String);//顯示的影像換成新的FormID Procedure PageReplaceFormID(Path,NowFormID,NewFormID:String); //選取頁更換FormID Function ModeNeedCheck(OMRMode,ScanMode:String):Boolean; //掃瞄模式是否要做檢核 procedure WMMOUSEWHEEL(var message: TWMMouseWheel); message WM_MOUSEWHEEL; Function GetCasePage(Path,CaseID:String):Integer; Function GetFormIDPage(FileList:TStringlist;FormID:String):Integer; Procedure SetFile2Case(CaseID,FileName:String); Procedure WriteResize(ImgName,TxtName:String); //產生Resize.dat Function GetCase_PageCount(var CaseCount,PageCount:Integer):Boolean; //取出案件的數量及頁數 ID為空值時為取所有的 Function BarCode2FormID : String; //Barcode依規則轉成FormID Function BarCode2CaseID : String; //Barcode依規則轉成CaseID Procedure WriteCaseIndex(Path:String); Procedure ReadCaseIndex(Path:String); Procedure ClearCaseIndex; Procedure GetSelectImageFile; Function GetDocNoDir(Path,DocNo:String):String; //取出目前DocNo的份數 Function CheckFormIDExists(DocNoNode:TTreeNode;FormID:String):Boolean; //檢查FormID是否存在文件裡 Procedure ZipMainFile(SoPath,DePath,ZipName:String); //壓縮影像檔 Procedure ZipMaskFile(SoPath,MarkPath,DePath,ZipName:String); //壓縮遮罩影像檔 Procedure ParserPoint(S:String); //解析十字點的字串 Function CheckScanDenialTime:Boolean; Function FormID2Anchor(FormID:String):String; //用FormID取出十字模式 Function Index2Anchor(Anchor:String):String; //十字模式 0->NONE;1->ANCHOR;2->FRAME Function MemoInfoTransfer(Mode,Str:String;ID_S,Name_S:TStringlist):String; //註記代碼註記類別轉換 Mode 'ID':代碼轉名稱;'NAME':名稱轉代碼 Function GetFormatID(CaseID:String):String; //取出案件的FormatID Function FindNoSaveBarCode : Boolean; //找是否有不要儲存影像的條碼 Function CheckAvailable:Boolean; //檢查是否可使用元件 Function Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像 Function CheckNeedCrop(Graphic:TDibGraphic):Boolean; //是否是A3要切影像 Function GetNewCustomDocNo(Path,DocName:String):String; //取出未使用的自訂文件代號 Function GetCustomDocName(Path,DocNo:String):String; //取出自定文件名稱 Function GetCustomFormID(Path,DocNo:String):String; //取出自定文件FormID Function GetCustomDocDir(Path,DocName:String):String; //取出自定文件DocDir Function FindCustomDocName(Path,DocName:String):Boolean; //尋找自定文件名稱是否存在 Procedure DeleteCustomDocDir(Path,DocNo:String); //刪除自定文件DocNo Function CheckFormID_Prt(FormID:String):Boolean; //傳入的FormID是否預設列印 procedure PrintImg(FileName, LoginID, Datetime,Path: WideString); Function FindLastestDocDir(CaseID,DocNo:String):String; //找出最新的DocDir Procedure Create_Cust_DocDir(CaseID:String); //產生外面傳入的文件代號及自定文件 Procedure OldCasetoNewCase(CaseID:String); //將舊案份數轉成新規則 Procedure ErrFormtoCurrentForm(CaseID,EFormID,CFormID:String);//將舊案的錯誤FormID改正確的FormID Procedure SetRecordEditedDocDir(Mode:Char;CaseID,DocDir:String); //記錄被異動的文件目錄 'A:加入D:刪掉' Function GetDocDir_Page(CaseID,DocDir:String):Integer; //取得DocDir的頁數 Function Path2DocDir(Path,CaseID:String):String; Function GetDocNo_IS_WH(DocNo:String):Boolean; //DocNo是否為入庫文件 Procedure SortDocDir_FormID(CaseID,DocDir:String); //將DocDir裡的文件編號排序 Procedure GotoAttach(OldLevel:Integer); Function DocNoIs_In_WH(DocNo:String):Boolean; //DocNo是否為入庫文件 Procedure CreateCaseNeedData(Path:String); //先做影像截取會少二個文字檔,產生CaseDocNo.dat及DocDir.dat Procedure SetDocDirtoSelected(CaseNode:TTreeNode;DocDir:String); Function CheckSelectImg_UseCase(Path,CaseID:String):Boolean; //檢查選擇的影像是否有包含被引用的影像 Function TransOldCaseFile(Path:String):Boolean; //上傳引用舊件的記錄檔 Function Writelog(CaseID:String):Boolean; Function FormIDAppear(FormID:String):Boolean; //FormID是否可出現 Function DocNoAppear(DocNo:String):Boolean; //DocNo是否可出現 Function GetDocNoCount(CaseID,DocNo:String):Integer; //取DocNo數量 Function GetDocDirCopies(CaseID,DocDir:String):Integer; //取DocDir份數 Procedure SetDocDirCopies(CaseID,DocDir:String;NewCopies:Integer); //修改DocDir份數 Function GetDocDirCopies_Rec(Path,CaseID,DocDir:String):Integer; //取記錄裡的DocDir份數 Function GetCustomNameCount(CustomName:String):Integer; //取外傳的名稱數量 Function GetCustomDocNoCount(Docno:String):Integer; //取外傳的DocNo數量 Function ISGuideFormID(FormID:String):Boolean; Function CaseDelete_Enable(CaseID:String):Boolean; //案件可否被刪除 Procedure MoveImage(Path:String;mp:Integer); //移動頁數 Procedure MoveImage_Drag(Path:String;fp,tp:Integer); //拖拉移動頁數 Procedure SetUseCase(Mode:Char;Path,DocDir,FormCaseID,ToCaseID:String); //記錄引用其他案件 A:加入 D:刪掉 Function GetUseCase(Mode:Char;Path,DocDir:String):String; //F:取被引用 To:引用 Procedure Case2upload(CaseID:String); Procedure Download2Case(SoDir,DeDir:String); procedure view_image_FormCode(Path,FormCode:String;stpage,stview:integer); //用FormCode來找影像 procedure view_image_DocNo(Path,DocNo,FormID:String;Pages:integer); //用DocNo來找影像 Function ShapeName2PreViewISBName(SP:TShape):String; //轉出指定PreViewISBName Procedure CreatePreViewISB(Count:Integer); Procedure FreePreViewISB; Procedure FitPreViewISB; Procedure PaintShape(FromImg,ToImg:TImageScrollBox); //畫有被選取的影像 Procedure FreeShapeobj(SelectISB : TImageScrollBox); Procedure ISBClick(Sender : TObject); Procedure ISBMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ISBImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ISBImageMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ISBEndDrag(Sender, Target: TObject; X, Y: Integer); procedure ISBDragDrop(Sender, Source: TObject; X, Y: Integer); procedure ISBDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure BtnMouseEnter(Sender: TObject); procedure PageEnd; //掃描接收完成 Procedure PageDone; //掃描完成後顯示影像 procedure StatrTwainScan; procedure OnAcquire( const DibHandle : THandle; const XDpi : Word; const YDpi : Word; const CallBackData : LongInt ); procedure ActivateEvent(Sender: TObject); procedure ClickEvent(Sender: TObject); procedure CreateEvent(Sender: TObject); procedure DblClickEvent(Sender: TObject); procedure DeactivateEvent(Sender: TObject); procedure DestroyEvent(Sender: TObject); procedure KeyPressEvent(Sender: TObject; var Key: Char); procedure MouseEnterEvent(Sender: TObject); procedure MouseLeaveEvent(Sender: TObject); procedure PaintEvent(Sender: TObject); function GetCurrentVersionNo: String; procedure initParameter; procedure LastInitFormidListCreate(path:string); function checkFormCodeIsCustom(path,formcode:string):boolean; function ISDivPageFormID(FormID: String): Boolean; function GetSampleInf: Boolean; procedure InitExistImgList(casepath:String); function LoadFileGetMD5(const filename:string):string; //20170809 取的檔案的MD5 function ISExistImg(const filename:string):boolean; //20170809 確認是否存在原有影像 procedure _DelTreeForExistImg(ASourceDir:String); //2017 刪除前確認 有舊影像嗎 function DocNoIsExistImg(DocNopath: String): boolean; //2017 刪除前確認 有舊影像嗎 function CheckCaseAttach_OK: Boolean; function DeleteDocNoFileForESCAN(Path, DocNo: String): Boolean; //2017 確認是否有未歸類文件 function CheckRequiredColumnValues(workno,caseno:String) :Boolean; //20171003 此大類下此案是否檢核必填 function logTimeString :String; procedure ReduceLogFile ; function FindLastestDocDirForPage(CaseID, DocNo, formid: String): String; function OMRErrini2ListForLog(CaseID: String):String; protected { Protected declarations } procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override; procedure EventSinkChanged(const EventSink: IUnknown); override; function Get_Active: WordBool; safecall; function Get_AlignDisabled: WordBool; safecall; function Get_AlignWithMargins: WordBool; safecall; function Get_AutoScroll: WordBool; safecall; function Get_AutoSize: WordBool; safecall; function Get_AxBorderStyle: TxActiveFormBorderStyle; safecall; function Get_Caption: WideString; safecall; function Get_Color: OLE_COLOR; safecall; function Get_DockSite: WordBool; safecall; function Get_DoubleBuffered: WordBool; safecall; function Get_DropTarget: WordBool; safecall; function Get_Enabled: WordBool; safecall; function Get_ExplicitHeight: Integer; safecall; function Get_ExplicitLeft: Integer; safecall; function Get_ExplicitTop: Integer; safecall; function Get_ExplicitWidth: Integer; safecall; function Get_Font: IFontDisp; safecall; function Get_HelpFile: WideString; safecall; function Get_KeyPreview: WordBool; safecall; function Get_MouseInClient: WordBool; safecall; function Get_ParentCustomHint: WordBool; safecall; function Get_ParentDoubleBuffered: WordBool; safecall; function Get_PixelsPerInch: Integer; safecall; function Get_PopupMode: TxPopupMode; safecall; function Get_PrintScale: TxPrintScale; safecall; function Get_Scaled: WordBool; safecall; function Get_ScreenSnap: WordBool; safecall; function Get_SnapBuffer: Integer; safecall; function Get_UseDockManager: WordBool; safecall; function Get_Visible: WordBool; safecall; function Get_VisibleDockClientCount: Integer; safecall; procedure _Set_Font(var Value: IFontDisp); safecall; procedure Set_AlignWithMargins(Value: WordBool); safecall; procedure Set_AutoScroll(Value: WordBool); safecall; procedure Set_AutoSize(Value: WordBool); safecall; procedure Set_AxBorderStyle(Value: TxActiveFormBorderStyle); safecall; procedure Set_Caption(const Value: WideString); safecall; procedure Set_Color(Value: OLE_COLOR); safecall; procedure Set_DockSite(Value: WordBool); safecall; procedure Set_DoubleBuffered(Value: WordBool); safecall; procedure Set_DropTarget(Value: WordBool); safecall; procedure Set_Enabled(Value: WordBool); safecall; procedure Set_Font(const Value: IFontDisp); safecall; procedure Set_HelpFile(const Value: WideString); safecall; procedure Set_KeyPreview(Value: WordBool); safecall; procedure Set_ParentCustomHint(Value: WordBool); safecall; procedure Set_ParentDoubleBuffered(Value: WordBool); safecall; procedure Set_PixelsPerInch(Value: Integer); safecall; procedure Set_PopupMode(Value: TxPopupMode); safecall; procedure Set_PrintScale(Value: TxPrintScale); safecall; procedure Set_Scaled(Value: WordBool); safecall; procedure Set_ScreenSnap(Value: WordBool); safecall; procedure Set_SnapBuffer(Value: Integer); safecall; procedure Set_UseDockManager(Value: WordBool); safecall; procedure Set_Visible(Value: WordBool); safecall; procedure Set_caseid(const Value: WideString); safecall; procedure Set_data(const Value: WideString); safecall; procedure Set_mode(const Value: WideString); safecall; procedure Set_rewrite(const Value: WideString); safecall; procedure Set_url(const Value: WideString); safecall; procedure Set_userid(const Value: WideString); safecall; procedure Set_username(const Value: WideString); safecall; procedure Set_verify(const Value: WideString); safecall; procedure Set_language(const Value: WideString); safecall; procedure Set_modename(const Value: WideString); safecall; procedure Set_userunit(const Value: WideString); safecall; procedure Set_work_no(const Value: WideString); safecall; procedure Set_loandoc_enable(const Value: WideString); safecall; procedure Set_loandoc_value(const Value: WideString); safecall; procedure Set_useproxy(const Value: WideString); safecall; procedure Set_c_docnamelist(const Value: WideString); safecall; procedure Set_c_docnolist(const Value: WideString); safecall; procedure Set_fixfilelist(const Value: WideString); safecall; procedure Set_is_in_wh(const Value: WideString); safecall; procedure Set_oldcaseinfo(const Value: WideString); safecall; function Get_c_docnamelist: WideString; safecall; function Get_c_docnolist: WideString; safecall; function Get_caseid: WideString; safecall; function Get_data: WideString; safecall; function Get_fixfilelist: WideString; safecall; function Get_is_in_wh: WideString; safecall; function Get_language: WideString; safecall; function Get_loandoc_enable: WideString; safecall; function Get_loandoc_value: WideString; safecall; function Get_mode: WideString; safecall; function Get_modename: WideString; safecall; function Get_oldcaseinfo: WideString; safecall; function Get_rewrite: WideString; safecall; function Get_url: WideString; safecall; function Get_useproxy: WideString; safecall; function Get_userid: WideString; safecall; function Get_username: WideString; safecall; function Get_userunit: WideString; safecall; function Get_verify: WideString; safecall; function Get_work_no: WideString; safecall; function Get_printyn: WideString; safecall; procedure Set_printyn(const Value: WideString); safecall; function Get_is_oldcase: WideString; safecall; procedure Set_is_oldcase(const Value: WideString); safecall; function Get_custdocyn: WideString; safecall; procedure Set_custdocyn(const Value: WideString); safecall; function Get_casenolength: WideString; safecall; function Get_filesizelimit: WideString; safecall; function Get_imgdpi: WideString; safecall; function Get_scancolor: WideString; safecall; procedure Set_casenolength(const Value: WideString); safecall; procedure Set_filesizelimit(const Value: WideString); safecall; procedure Set_imgdpi(const Value: WideString); safecall; procedure Set_scancolor(const Value: WideString); safecall; function Get_imgdelete: WideString; safecall; procedure Set_imgdelete(const Value: WideString); safecall; function Get_check_main_form: WideString; safecall; function Get_isExternal: WideString; safecall; procedure Set_check_main_form(const Value: WideString); safecall; procedure Set_isExternal(const Value: WideString); safecall; function Get_WH_CATEGORY: WideString; safecall; procedure Set_WH_CATEGORY(const Value: WideString); safecall; public { Public declarations } procedure Initialize; override; end; implementation uses EnBarcode, EnTransf, { for TImageTransform } Enpnggr, { for PNGGraphic } EnJpgGr, { for JPGGraphic } EnReg, EnBmpGr, { for TBitmapGraphic } EnPrint, { for TEnvisionPrintMode, TDibGraphicPrinter } ComObj, ComServ,IISUnit,IIS_File2Web,IIS_ImageProcess, PatchFom,Doclist,ScanMemo,DocCopy,InputMask,SortMemo,DocPrt,OldCaseInfo; {$R *.DFM} { TCB_IMGPSScanX }