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 }
|
|
{$I reassemble/CB_IMGPSScanImp.misc.pas}
|
{$I reassemble/view/toolBar.pas}
|
{$I reassemble/CB_IMGPSScanImp.lfcycle.pas}
|
{$I reassemble/view/misc.pas}
|
{$I reassemble/view/scrollView.pas}
|
{$I reassemble/view/popupMenu.pas}
|
{$I reassemble/view/listView.pas}
|
{$I reassemble/view/msger.pas}
|
{$I reassemble/scan/twain.pas}
|
{$I reassemble/CB_IMGPSScanImp.omr.pas}
|
{$I reassemble/CB_IMGPSScanImp.api.pas}
|
{$I reassemble/CB_IMGPSScanImp.listMgr.pas}
|
{$I reassemble/CB_IMGPSScanImp.fileOp.pas}
|
{$I reassemble/CB_IMGPSScanImp.docq.pas}
|
{$I reassemble/img/transformer.pas}
|
{$I reassemble/CB_IMGPSScanImp.caseMgr.pas}
|
{$I reassemble/bloc/entityMapping.pas}
|
{$I reassemble/transp/payloadArchiver.pas}
|
{$I reassemble/view/treeView.pas}
|
{$I reassemble/CB_IMGPSScanImp.custdoc.pas}
|
{$I reassemble/CB_IMGPSScanImp.docmod.pas}
|
{$I reassemble/CB_IMGPSScanImp.convert.pas}
|
{$I reassemble/CB_IMGPSScanImp.inbound.pas}
|
{$I reassemble/CB_IMGPSScanImp.prUpload.pas}
|
{$I reassemble/transp/fileClient.pas}
|
{$I reassemble/bloc/caseManager.pas}
|
{$I reassemble/CB_IMGPSScanImp.preview.pas}
|