[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]
|