| | |
| | | unit CB_IMGPSScanImp; |
| | | |
| | | //TEST |
| | | {$WARN SYMBOL_PLATFORM OFF} |
| | | |
| | | interface |
| | |
| | | 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, CB_IMGPSScan_TLB, StdVcl, VCLUnZip, VCLZip, Encryp, |
| | | 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; |
| | | SBSocket,IIS_Ftp, SBSimpleFTPS; |
| | | Type |
| | | TTransMode =(tsHttp,tsFtp,tsNone); |
| | | |
| | | var |
| | | Ch_WriteNote : Boolean; |
| | |
| | | PrtLb: TLabel; |
| | | CaseHelpBtn: TBitBtn; |
| | | HTTPSClient: TElHTTPSClient; |
| | | Button5: TButton; |
| | | FTPSClient1: TElSimpleFTPSClient; |
| | | Button6: TButton; |
| | | procedure ActiveFormCreate(Sender: TObject); |
| | | procedure Panel9Resize(Sender: TObject); |
| | | procedure ISB1Click(Sender: TObject); |
| | |
| | | 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; |
| | |
| | | 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; //空白頁刪除啟動 |
| | |
| | | DocNoLength : Integer; //Docno長度 |
| | | |
| | | PEFileName : String; //掃描時的檔名 |
| | | DownFileErrStr : String; //下載影像時發生的錯誤 |
| | | |
| | | ISB : TImageScrollBox; |
| | | ScanInfo : TScanInfo; |
| | |
| | | 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 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 PageReplaceFormID(Path,NowFormID,NewFormID:String); //選取頁更換FormID |
| | | Function ModeNeedCheck(OMRMode,ScanMode:String):Boolean; //掃瞄模式是否要做檢核 |
| | | procedure WMMOUSEWHEEL(var message: TWMMouseWheel); message WM_MOUSEWHEEL; |
| | | Function GetInputMask:String; //取得輸入的保單號碼 |
| | | Function GetCasePage(Path,CaseID:String):Integer; |
| | | Function GetFormIDPage(FileList:TStringlist;FormID:String):Integer; |
| | | Procedure SetFile2Case(CaseID,FileName:String); |
| | |
| | | GoAtt := True; |
| | | end; |
| | | |
| | | if InputQuery('輸入其他文件名稱','文件名稱',CustomDocName) then |
| | | if InputQuery(_Msg('輸入其他文件名稱'),_Msg('文件名稱'),CustomDocName) then |
| | | begin |
| | | if FindCustomDocName(DisplayPath,CustomDocName) then |
| | | begin |
| | | Showmessage(Format('文件名稱:"%s"己存在',[CustomDocName])); |
| | | Showmessage(Format(_Msg('文件名稱:"%s"己存在'),[CustomDocName])); |
| | | Exit; |
| | | end; |
| | | CustomDocNo := GetNewCustomDocNo(DisplayPath,CustomDocName); |
| | |
| | | iISBName,OldName : String; |
| | | iISB : TImageScrollBox; |
| | | begin |
| | | if MessageDlg('是否確定刪除??',mtconfirmation,[mbyes,mbcancel],0) = mrcancel then Exit; |
| | | if MessageDlg(_Msg('是否確定刪除??'),mtconfirmation,[mbyes,mbcancel],0) = mrcancel then Exit; |
| | | |
| | | for i := 0 to ComponentCount -1 do |
| | | begin |
| | |
| | | //ShowMessage('iISB.FileName='+iISB.FileName); |
| | | ReSortFileName(ExtractFilePath(iISB.FileName)); |
| | | DrawDocItem2(MytreeNode1,NowCaseno); |
| | | MyTreeNode1.Text := Format('%s-%d'+_Msg('頁'),[NowCaseno,GetCasePage(ImageSavePath,NowCaseNo)]); |
| | | MyTreeNode1.Text := Format(_Msg('%s-%d頁'),[NowCaseno,GetCasePage(ImageSavePath,NowCaseNo)]); |
| | | NewTreeNodeRefresh; |
| | | ClearErrini(NowCaseno,MyTreeNode1); //清掉檢核記錄 |
| | | TreeView1click(self); |
| | |
| | | var |
| | | mp:string; |
| | | begin |
| | | mp := InputBox('移動頁數','請輸入移入頁碼',''); |
| | | mp := InputBox(_Msg('移動頁數'),_Msg('請輸入移入頁碼'),''); |
| | | if (mp <> '') then |
| | | begin |
| | | MoveImage(DisplayPath+NowDocDir+'\',strtoint(mp)); |
| | |
| | | SaveStreamB:TFileStream; |
| | | cooom:integer; |
| | | Begin |
| | | OpenDialog1.Filter := 'Image files|*.TIF;*.JPG'; |
| | | OpenDialog1.Filter := 'Image files|*.TIF;*.JPG;*.PNG'; |
| | | If OpenDialog1.Execute Then |
| | | Begin |
| | | ISB := TImageScrollBox.Create(self); |
| | |
| | | //ShowMessage(IntToStr(FileRec.Size)+','+IntToStr(FFileSizeLimit * 1024)); |
| | | If FileRec.Size > FFileSizeLimit * 1024 Then // 檢查檔案大小 |
| | | Begin |
| | | ShowMessage(Format('目前檔案大小為 %.3f MB', [FileRec.Size / (1024*1024)]) + |
| | | ',已超過單一檔案匯入限制'+Format('%.1f',[FFileSizeLimit/1024])+'MB'); |
| | | ShowMessage(Format(_Msg('目前檔案大小為 %.3f MB,已超過單一檔案匯入限制%1.f MB'),[FileRec.Size / (1024*1024),FFileSizeLimit/1024])); |
| | | {ShowMessage(Format('目前檔案大小為 %.3f MB', [FileRec.Size / (1024*1024)]) + |
| | | ',已超過單一檔案匯入限制'+Format('%.1f',[FFileSizeLimit/1024])+'MB');} |
| | | FindClose(FileRec); |
| | | DataLoading(false, false); |
| | | Exit; |
| | |
| | | P := ISB.ImageCountFromFile(OpenDialog1.FileName); |
| | | For i := 1 To P Do |
| | | Begin |
| | | ShowText := _Msg('檔案加入中,請稍候(' + inttostr(i) + '/' + inttostr(P) + ')'); |
| | | ShowText := Format(_Msg('檔案加入中,請稍候(%d/%d)'),[i,p]); |
| | | //ShowText := _Msg('檔案加入中,請稍候')+'(' + inttostr(i) + '/' + inttostr(P) + ')'; |
| | | DataLoading(True, True); |
| | | ISB.LoadFromFile(FName, i); |
| | | DeskewImg(ISB.Graphic); |
| | |
| | | iRect.Bottom := ISB.Graphic.Height; |
| | | CropImg(iGraphic_sec, iRect); |
| | | End; |
| | | |
| | | ISB.Graphic.Clear; //20220711 Hong 覺得ISB後面沒有到了,先清掉減少記憶體使用 |
| | | iGraphic := iGraphic_First; |
| | | |
| | | While Not iGraphic.IsEmpty Do |
| | |
| | | |
| | | DocNo := FormCode2DocNo(FormID); |
| | | DocDir := FindLastestDocDir(CaseID, DocNo); |
| | | if (FMode='ESCAN') and (FModeName='補件掃描') then |
| | | if (FMode='ESCAN') and (FModeName=_Msg('補件掃描')) then |
| | | begin |
| | | DocDir := FindLastestDocDirForPage(CaseID, DocNo,FormID); |
| | | //ShowMessage('DocDir='+DocDir); |
| | |
| | | End; |
| | | End; |
| | | //ShowMessage(IntToStr(iGraphic.Palette.palNumEntries)); |
| | | if (iGraphic.Palette.palNumEntries = 0) or (iGraphic.Palette.palNumEntries = 256) then //20171130 彩色 會為0 黑白 為2 灰階256 |
| | | if iGraphic.ImageFormat = ifBlackWhite then //20200806 出現無法匯入,是因color256無法壓JPEG,待報會後再開啟 |
| | | begin |
| | | SaveFilename := changefileext(SaveFilename,'.tif'); //20240320 Hong 調整黑白存tif |
| | | iGraphic.Compression:=tcGroup4; |
| | | end |
| | | else if iGraphic.ImageFormat= ifColor256 then |
| | | begin |
| | | SaveFilename := changefileext(SaveFilename,'.jpg'); //20240320 Hong 調整Color256存jpg |
| | | ConverttoGray(iGraphic); |
| | | iGraphic.Compression:=tcJPEG; |
| | | iGraphic.JpegQuality:=cooom; |
| | | end |
| | | else if (iGraphic.ImageFormat = ifTrueColor) or (iGraphic.ImageFormat = ifGray256) then |
| | | begin |
| | | SaveFilename := changefileext(SaveFilename,'.jpg'); //20240320 Hong 調整彩色灰階存jpg |
| | | iGraphic.Compression:=tcJPEG; |
| | | iGraphic.JpegQuality:=cooom; |
| | | end |
| | | else |
| | | begin |
| | | iGraphic.Compression:=tcLZW; |
| | | end; |
| | | |
| | | {if (iGraphic.Palette.palNumEntries = 0) or (iGraphic.Palette.palNumEntries = 256) then //20171130 彩色 會為0 黑白 為2 灰階256 //20200806拿掉 |
| | | begin |
| | | iGraphic.Compression:=tcJPEG; |
| | | iGraphic.JpegQuality:=cooom; |
| | | end; |
| | | end;} |
| | | |
| | | If LowerCase(ExtractFileExt(SavePath + SaveFilename)) = '.tif' Then |
| | | Begin |
| | |
| | | SaveStream.Free; |
| | | End; |
| | | End |
| | | Else If LowerCase(ExtractFileExt(SavePath + SaveFilename)) |
| | | = '.jpg' Then |
| | | Else If LowerCase(ExtractFileExt(SavePath + SaveFilename)) = '.jpg' Then |
| | | Begin |
| | | If FileExists(SavePath + SaveFilename) Then |
| | | DeleteFile(SavePath + SaveFilename); |
| | |
| | | JpgGr := TJpegGraphic.Create; |
| | | Try |
| | | JpgGr.Assign(iGraphic); |
| | | JpgGr.SaveQuality := 30; |
| | | JpgGr.SaveQuality := cooom; |
| | | // JpgGr.AppendToStream(SaveStream); |
| | | JpgGr.SaveToFile(SavePath + SaveFilename); |
| | | Finally |
| | |
| | | |
| | | finally |
| | | ISB.Free; |
| | | iGraphic_First.Free; |
| | | iGraphic_sec.Free; |
| | | end; |
| | | |
| | | |
| | |
| | | |
| | | if Trim(DocListForm.Edit1.Text)='' then |
| | | begin |
| | | Showmessage('未輸入文件名稱'); |
| | | Showmessage(_Msg('未輸入文件名稱')); |
| | | Exit; |
| | | end; |
| | | if FindCustomDocName(DisplayPath,NewFormID) then |
| | | begin |
| | | Showmessage(Format('文件名稱:"%s"己存在',[NewFormID])); |
| | | Showmessage(Format(_Msg('文件名稱:"%s"己存在'),[NewFormID])); |
| | | Exit; |
| | | end; |
| | | if NowFormCode <> AttName then |
| | |
| | | SavePath : String; |
| | | ST1:TStringList; |
| | | begin |
| | | if InputQuery('輸入其他文件名稱','文件名稱',CustomDocName) then |
| | | if InputQuery(_Msg('輸入其他文件名稱'),_Msg('文件名稱'),CustomDocName) then |
| | | begin |
| | | if CustomDocName <> '' then |
| | | begin |
| | |
| | | begin |
| | | oldCopies := GetDocDirCopies(NowCaseno,NowDocDir); |
| | | try |
| | | NewCopies := Strtoint(inputBox('修改份數','請輸入修改後的份數',inttostr(oldCopies))); |
| | | NewCopies := Strtoint(inputBox(_Msg('修改份數'),_Msg('請輸入修改後的份數'),inttostr(oldCopies))); |
| | | except |
| | | Showmessage('輸入錯誤'); |
| | | Showmessage(_Msg('輸入錯誤')); |
| | | Exit; |
| | | end; |
| | | if (NewCopies <= 0) and (NewCopies >= 10000) then |
| | | begin |
| | | Showmessage('輸入範圍錯誤'); |
| | | Showmessage(_Msg('輸入範圍錯誤')); |
| | | Exit; |
| | | end; |
| | | |
| | | if (oldCopies <> NewCopies) and (NewCopies > 0) and (NewCopies < 10000) then |
| | | begin |
| | | if DocNoNeedDiv(NowDocNo) and (NewCopies = 1) and (MessageDlg('修改至1份後此文件將無法再進行份數修改,是否確定??',mtConfirmation,[mbyes,mbcancel],0)= mrcancel) then |
| | | if DocNoNeedDiv(NowDocNo) and (NewCopies = 1) and (MessageDlg(_Msg('修改至1份後此文件將無法再進行份數修改,是否確定??'),mtConfirmation,[mbyes,mbcancel],0)= mrcancel) then |
| | | Exit; |
| | | |
| | | SetDocDirCopies(NowCaseno,NowDocDir,NewCopies); |
| | | SetRecordEditedDocDir('A',NowCaseNo,NowDocDir); |
| | | DrawDocItem2(MytreeNode1,NowCaseno); |
| | | Showmessage('修改完成'); |
| | | Showmessage(_Msg('修改完成')); |
| | | end; |
| | | |
| | | end; |
| | |
| | | if DisplayISB.FileName = '' then Exit; |
| | | if (ContextList.Count = 1) and ((FMode = 'NSCAN') or (FMode = 'ASCAN') or (FMode = 'DSCAN') or (FMode = 'ISCAN') or (FMode = 'SSCAN') or (FMode = 'MSCAN') or (FMode = 'RI_SCAN')) then |
| | | begin |
| | | if Messagedlg(_Msg('刪除後(%s)案件無影像,將刪除此案件,是否確定刪除?'),mtconfirmation,[mbyes,mbcancel],0) = mrCancel then Exit; |
| | | if Messagedlg(Format(_Msg('刪除後(%s)案件無影像,將刪除此案件,是否確定刪除?'),[NowCaseno]),mtconfirmation,[mbyes,mbcancel],0) = mrCancel then Exit; |
| | | _DelTree(DisplayPath); |
| | | SetCaseList('D',NewTreeNode.IndexOf(MyTreeNode1),''); |
| | | LoadImgFile; |
| | |
| | | PM104.Visible := True; //檔案加入影像 |
| | | end; |
| | | |
| | | if FModeName='異動件' then |
| | | if FModeName=_Msg('異動件') then |
| | | begin |
| | | PM101.Visible := True; |
| | | end; |
| | |
| | | if FMode='ESCAN' then |
| | | PM101.Visible:=false; |
| | | |
| | | if FModeName='異動件' then |
| | | if FModeName=_Msg('異動件') then |
| | | begin |
| | | PM101.Visible := True; |
| | | end; |
| | |
| | | PM101.Visible:=false; |
| | | end; |
| | | |
| | | if FModeName='異動件' then |
| | | if FModeName=_Msg('異動件') then |
| | | begin |
| | | PM101.Visible := True; |
| | | end; |
| | |
| | | PM101.Visible:=false; |
| | | end; |
| | | |
| | | if FModeName='異動件' then |
| | | if FModeName=_Msg('異動件') then |
| | | begin |
| | | PM101.Visible := True; |
| | | end; |
| | |
| | | PM605.Visible := True; //刪除 |
| | | end; |
| | | |
| | | if FModeName<>'異動件' then |
| | | if FModeName<>_Msg('異動件') then |
| | | begin |
| | | if (FImgDelete='Y') then |
| | | begin |
| | |
| | | if SampleFormIDList.IndexOf(SampleFormID)<>-1 then |
| | | begin |
| | | // Show a custom dialog |
| | | buttonSelected := messagedlg(SampleFormID+'已有範本,是否取代?',mtCustom, |
| | | buttonSelected := messagedlg(SampleFormID+_Msg('已有範本,是否取代?'),mtCustom, |
| | | [mbYes,mbCancel], 0); |
| | | if buttonSelected = mrCancel then |
| | | begin |
| | |
| | | AddFile := HTTPEncode(UTF8Encode(ExtractFileName(OpenDialog1.Files.Strings[i]))); |
| | | if FileExists(ImageSavePath+NowCaseno+'\'+AddFile) then |
| | | begin |
| | | if Messagedlg(Format(_msg('%s己存在,是否覆蓋??'),[Addfile]),mtconfirmation,[mbyes,mbcancel],0) = mrcancel Then |
| | | if Messagedlg(Format(_Msg('%s己存在,是否覆蓋??'),[Addfile]),mtconfirmation,[mbyes,mbcancel],0) = mrcancel Then |
| | | Continue; |
| | | SetAttContextList('D',-1,NowCaseno,AddFile); |
| | | end; |
| | |
| | | begin |
| | | IF not InitialOk Then |
| | | begin |
| | | Showmessage(_msg('資訊尚未下載完成,請稍候或重新進入')); |
| | | Showmessage(_Msg('資訊尚未下載完成,請稍候或重新進入')); |
| | | Exit; |
| | | end; |
| | | if MyTreeNode1 = nil then |
| | |
| | | // SampleFormIDList.Add('31A00101011706A'); |
| | | // SampleFormIDList.Add('31A00101021706A'); |
| | | // SampleFormIDList.Add('31A00101031706A'); |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.Button5Click(Sender: TObject); |
| | | begin |
| | | GetftpInfo(NowCaseno,'upload'); |
| | | SetFtpInfo; |
| | | IIS_Ftp.FtpsConnect; |
| | | |
| | | IIS_Ftp.FtpsToMain(FFtpExtraPath,NowCaseno+'.pdf','d:\1.pdf',display1); |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.Button6Click(Sender: TObject); |
| | | begin |
| | | GetftpInfo(NowCaseno,'download'); |
| | | SetFtpInfo; |
| | | IIS_Ftp.FtpsConnect; |
| | | IIS_Ftp.FtpsCWD(IIS_Ftp.FtpPath); |
| | | IIS_Ftp.FtpsReceive(NowCaseNo+'.zip','d:\'+NowCaseNo+'.zip'); |
| | | |
| | | |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.StatrTwainScan; |
| | |
| | | DocNo := FormCode2DocNo(FormID); |
| | | ScanDocDir := FindLastestDocDir(ScanCaseno,DocNo); |
| | | |
| | | if (FMode='ESCAN') and (FModeName='補件掃描') then //20180207 加入的特殊邏輯 |
| | | if (FMode='ESCAN') and (FModeName=_Msg('補件掃描')) then //20180207 加入的特殊邏輯 |
| | | begin |
| | | ScanDocDir := FindLastestDocDirForPage(ScanCaseno, DocNo,FormID); |
| | | end; |
| | |
| | | DeleteFile(LngPath+'mps.dat'); |
| | | end; |
| | | ////壓zip////// |
| | | Showmessage('匯出完成,匯出檔案:'+LngPath+'mps.zip'); |
| | | Showmessage(_Msg('匯出完成,匯出檔案:')+LngPath+'mps.zip'); |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.ImportBtClick(Sender: TObject); |
| | |
| | | |
| | | str2dir(ZipPath); |
| | | if not ExecuteUnZip_Pwd(OpenDialog1.FileName,ZipPath,False,'9338430') then |
| | | Showmessage('無法解壓縮'); |
| | | Showmessage(_Msg('無法解壓縮')); |
| | | if not FileExists(ZipPath+'mps.dat') then |
| | | begin |
| | | Showmessage('格式不符,無法匯入'); |
| | | Showmessage(_Msg('格式不符,無法匯入')); |
| | | Exit; |
| | | end; |
| | | S.LoadFromFile(ZipPath+'mps.dat'); |
| | | if (En_DecryptionStr_Base64('D',S.Strings[0],'9338430')<> ServerDate) then |
| | | begin |
| | | Showmessage('檔案過期,無法匯入'); |
| | | Showmessage(_Msg('檔案過期,無法匯入')); |
| | | Exit; |
| | | end; |
| | | |
| | |
| | | S.Free; |
| | | _DelTree(ZipPath); |
| | | end; |
| | | Showmessage('匯入完成'); |
| | | Showmessage(_Msg('匯入完成')); |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.HotKeyDown (var Msg : TMessage); |
| | |
| | | |
| | | Result := False; // http://192.168.0.101:8080/fbnp/servlet/CWC01?act=getservertime |
| | | EnCodeDateTime := En_DecryptionStr_Base64('E',ServerDate+GetBalance2Time(Balance),Mpskey); |
| | | |
| | | ColumeStr := 'WORK_NO,DOC_NO,DOC_U_DESC,DOC_TYPE,DOC_VERSION,FORM_PAGES,START_DATE,STOP_DATE,IS_DOC_DIV,IS_IN_WH'; |
| | | //If not ProcessServlet(HTTPSClient,FURL+'servlet/CWC02 ','checktime='+EnCodeDateTime+'&mode=1&col='+Doc_Inf_Colume+'&workno='+FWork_No,FReWrite.Text,Memo1) Then |
| | | |
| | |
| | | begin |
| | | if FileName2FormCode(FileList.Strings[i]) = FormID then |
| | | begin |
| | | if (FMode = 'ESCAN') and (FModeName<>'異動件') then |
| | | if (FMode = 'ESCAN') and (FModeName<>_Msg('異動件')) then |
| | | begin |
| | | if ISExistImg(ImageSavePath+CaseID+'\'+DocDir+'\'+FileList.Strings[i]) then |
| | | begin |
| | |
| | | In_Doc1,In_Doc2 : String; |
| | | AttachYN : String; //是否有附件 Y:有 N:沒有 |
| | | |
| | | ST1,ST2:TStringList; |
| | | ST1,ST2,ST3:TStringList; |
| | | str1,str2:String; |
| | | must_formidStr :string; |
| | | last_add_formidstr :string; |
| | | ScanListStr:String; |
| | | casepath:String; |
| | | filesizeInt:integer; |
| | | case_page:string; |
| | |
| | | //CaseResort(Path); //檔名照設定排序 |
| | | CreateFormID_FormName(Path,CaseID); //產生FormID_FormName.dat |
| | | CreateDocNo_DocName(Path,CaseID); //產生DocNo_Name.dat |
| | | //ShowMessage('EEEEEEEEEE'); |
| | | Doc_Data := CreateDocNo_Info(CaseID); //產生保管袋文件 Docno,份數,頁數;Docno,份數,頁數 的回傳字串 |
| | | //ShowMessage('1111111111'); |
| | | Doc_Data1 := CreateCustDocNo_Info(CaseID); //產生自定文件 Docname,份數,頁數;Docno,份數,頁數 的回傳字串 |
| | | //ShowMessage('2222222222'); |
| | | In_Doc1 := CreateDocnoFrom_Info(CaseID); //產生被引進的保管袋文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號 |
| | | //ShowMessage('333333333333333333'); |
| | | In_Doc2 := CreateCustDocNoFrom_Info(CaseID); //產生被引進的自定文件資訊 Docno[tab]份數[tab]案件編號#13#10Docno[tab]份數[tab]案件編號 |
| | | //ShowMessage('4444444444444'); |
| | | AttachYN := CreateAttach_Info(CaseID); //是否還有附件 Y:有 N:沒有 |
| | | //self.ReadCaseIndex() |
| | | //ShowMessage('555555555555'); |
| | | ReadCaseIndex(Path); |
| | | //ShowMessage('DDDDDDDDDD'); |
| | | //LoanDoc := 'Y'; |
| | | //產生遮罩影像 |
| | | // if FWork_No = 'CW' then |
| | |
| | | //ShowMessage(ST1.Text); |
| | | //ShowMessage(LastInitFormidList.Text); |
| | | ST2:=TStringList.Create; |
| | | ST3:=TStringlist.Create; |
| | | |
| | | for I := 0 to ST1.Count - 1 do |
| | | begin |
| | |
| | | must_formidStr:=Copy(must_formidStr,1,Length(must_formidStr)-3) ; |
| | | //ShowMessage('must_formidStr='+must_formidStr); |
| | | //ShowMessage('AST2='+ST2.Text); |
| | | |
| | | |
| | | for I := 0 to LastInitFormidList.Count - 1 do |
| | | begin |
| | | if ST2.IndexOf(LastInitFormidList.Strings[i]) <> -1 then |
| | |
| | | last_add_formidstr:=last_add_formidstr+ST2.Strings[i]+'@#,'; |
| | | end; |
| | | last_add_formidstr:=Copy(last_add_formidstr,1,Length(last_add_formidstr)-3) ; |
| | | |
| | | ST3.LoadFromFile(path+'scanlist.dat'); |
| | | for I := 0 to ST3.Count - 1 do |
| | | begin |
| | | if ScanListStr = '' then |
| | | ScanListStr := FileName2FormCode(ST3.Strings[i]) |
| | | else |
| | | ScanListStr := Format('%s,%s',[ScanListStr,FileName2FormCode(ST3.Strings[i])]); |
| | | end; |
| | | |
| | | ST1.Free; |
| | | ST2.Free; |
| | | ST3.Free; |
| | | //ShowMessage('last_add_formidstr='+last_add_formidstr); |
| | | ///////必要formid 20170315 end ////////////////////////// |
| | | |
| | |
| | | //exit; //目前上傳檔案大小為xxMB,已超過50MB,無法上傳 %.3f ,[FileRec.Size / 1048576] |
| | | If FileRec.Size > StrtoInt(FMaxUploadSize) * 1048576 Then // 檢查檔案大小 |
| | | Begin |
| | | ShowMessage(Format('%s目前上傳檔案大小為%.3fMB,已超過'+FMaxUploadSize+'MB,無法上傳',[caseid,FileRec.Size / 1048576]) ); |
| | | ShowMessage(Format(_Msg('%s目前上傳檔案大小為%.3fMB,已超過%sMB,無法上傳'),[caseid,FileRec.Size / 1048576,FMaxUploadSize])); |
| | | //ShowMessage(Format('%s目前上傳檔案大小為%.3fMB,已超過'+FMaxUploadSize+'MB,無法上傳',[caseid,FileRec.Size / 1048576]) ); |
| | | FindClose(FileRec); |
| | | Result := False; |
| | | Exit; |
| | |
| | | FindClose(FileRec); |
| | | ///檢查上傳的zip大小//// |
| | | //ShowMessage('last_add_formidstr='+last_add_formidstr); |
| | | ////上傳///// |
| | | if not GetftpInfo(CaseID,'upload') then //取案件上傳方式 |
| | | begin |
| | | //Showmessage(_Msg()Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason+'.'); |
| | | DownFileErrStr := _Msg('取案件上傳資訊失敗!!')+HttpErrStr; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | SendData:='data='+HTTPEncode(UTF8Encode(FData)) |
| | | +'&verify='+FVerify |
| | | +'&form_id='+UpformID |
| | | +'&loan_doc='+Case_loandoc |
| | | +'&case_no='+TransName |
| | | +'&doc_data='+HTTPEncode(UTF8Encode(Doc_Data)) |
| | | +'&doc_data1='+HTTPEncode(UTF8Encode(Doc_Data1)) |
| | | +'&attach='+AttachYN |
| | | +'&case_page='+case_page |
| | | +'&file_size='+IntToStr(filesizeInt) |
| | | +'&must_formid='+must_formidStr //擁有的 formid |
| | | +'&last_add_formid='+last_add_formidstr //當次新加的 formid |
| | | +'&in_doc1='+HTTPEncode(UTF8Encode(In_Doc1)) |
| | | +'&in_doc2='+HTTPEncode(UTF8Encode(In_Doc2)); |
| | | //ShowMessage('SendData='+SendData); |
| | | //ShowMessage(FData+#10#13+Doc_Data); |
| | | //Showmessage('Wait'); |
| | | +'&verify='+FVerify |
| | | +'&form_id='+UpformID |
| | | +'&loan_doc='+Case_loandoc |
| | | +'&case_no='+TransName |
| | | +'&doc_data='+HTTPEncode(UTF8Encode(Doc_Data)) |
| | | +'&doc_data1='+HTTPEncode(UTF8Encode(Doc_Data1)) |
| | | +'&attach='+AttachYN |
| | | +'&case_page='+case_page |
| | | +'&file_size='+IntToStr(filesizeInt) |
| | | +'&must_formid='+must_formidStr //擁有的 formid |
| | | +'&last_add_formid='+last_add_formidstr //當次新加的 formid |
| | | +'&form_code='+ScanListStr //scanlist.dat 表單代號 |
| | | +'&ftp_image_path='+FFtpExtraPath //加傳FTP目錄 HTTP上傳時會是空白 |
| | | +'&in_doc1='+HTTPEncode(UTF8Encode(In_Doc1)) |
| | | +'&in_doc2='+HTTPEncode(UTF8Encode(In_Doc2)); |
| | | |
| | | if not upFile(HTTPSClient,FUrl,'service/imgpsc/IMGPSC02/caseupload',SendData,'file',Path+'Img.zip',FReWrite,Memo1,False) then |
| | | begin |
| | | Showmessage(Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason+'.'); |
| | | Result := False; |
| | | Exit; |
| | | case TransMode of |
| | | tsHttp : |
| | | begin |
| | | ////上傳///// |
| | | ShowText := CaseID+_Msg('資料上傳中(Http),請稍候'); |
| | | DataLoading(True,True); |
| | | if not upFile(HTTPSClient,FUrl,'service/imgpsc/IMGPSC02/caseupload',SendData,'file',Path+'Img.zip',FReWrite,Memo1,False) then |
| | | begin |
| | | Showmessage(Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason+'.'); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | if memo1.Lines.Strings[0] = '1' then |
| | | begin |
| | | Showmessage(Format(_Msg('')+_Msg(''),[CaseID])+memo1.Lines.Strings[1]+'。'); |
| | | Result := False; |
| | | Exit; |
| | | end |
| | | Else if Pos('<script type="text/javascript" src="scripts/IMGPS00/login.js"></script>',Memo1.Lines.Text) > 0 then |
| | | begin |
| | | Showmessage(Format(_Msg('')+_Msg('')+_Msg('閒置過久或被登出,請重新登入'),[CaseID])); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | ////上傳//// |
| | | end; |
| | | tsFtp : |
| | | begin |
| | | ShowText := CaseID+_Msg('資料上傳中(Ftp),請稍候'); |
| | | DataLoading(True,True); |
| | | SetFtpInfo; |
| | | try |
| | | if not IIS_Ftp.FtpsConnect then |
| | | begin |
| | | Showmessage(Format('無法連上Ftp主機,錯誤原因:%s',[FtpErrReason])); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | if not IIS_Ftp.FtpsToMain(FFtpExtraPath,CaseID+'.zip',Path+'Img.zip',display1) then |
| | | begin |
| | | Showmessage(Format(_msg('上傳案件(%s)時,發生錯誤,錯誤原因:%s'),[CaseID,FtpErrStr])); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | |
| | | if not FtpCaseComplete(SendData) then //Ftp上傳後通知完成 |
| | | begin |
| | | Showmessage(Format(_Msg('通知案件(%s)Ftp上傳完成時,發生錯誤!!'),[CaseID])+HttpErrStr); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | finally |
| | | IIS_Ftp.FtpsClose; |
| | | end; |
| | | end; |
| | | |
| | | end; |
| | | if memo1.Lines.Strings[0] = '1' then |
| | | begin |
| | | Showmessage(Format(_Msg('')+_Msg(''),[CaseID])+memo1.Lines.Strings[1]+'。'); |
| | | Result := False; |
| | | Exit; |
| | | end |
| | | Else if Pos('<script type="text/javascript" src="scripts/IMGPS00/login.js"></script>',Memo1.Lines.Text) > 0 then |
| | | begin |
| | | Showmessage(Format(_Msg('')+_Msg('')+_Msg('閒置過久或被登出,請重新登入'),[CaseID])); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | ////上傳//// |
| | | |
| | | |
| | | if FMode = 'ESCAN' then //上傳舊件引入檔案 //20140616 原本先搬舊件再搬新件,改為先搬新件再搬舊件 |
| | | begin |
| | | if not TransOldCaseFile(ImageSavePath+CaseID+'\') then |
| | |
| | | if DirectoryExists(SPath+'AttFile\') then |
| | | AttFile_Arrange(SPath+'AttFile\',DPath+'AttFile\'); |
| | | end;} |
| | | |
| | | Function TCB_IMGPSScanX.DownLoadImage(Path,CaseID:String):Boolean; |
| | | begin |
| | | Result := True; |
| | | if not GetftpInfo(CaseID,'download') then //取案件下載方式 |
| | | begin |
| | | DownFileErrStr := _Msg('取案件下載資訊失敗,')+HttpErrStr; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | case TransMode of |
| | | tsHttp: |
| | | begin |
| | | ShowText := _Msg('案件下載中(Http),請稍候'); |
| | | DataLoading(True,True); |
| | | If not Down_Img(ImageSavePath+FCaseID+'\Download\',FCaseID) then |
| | | begin |
| | | Showmessage(FCaseID+_msg('載入異動影像時,網路發生錯誤')+HttpErrStr); |
| | | DataLoading(False,False); |
| | | Exit; |
| | | end; |
| | | end; |
| | | tsFtp: |
| | | begin |
| | | ShowText := _Msg('案件下載中(Ftp),請稍候'); |
| | | DataLoading(True,True); |
| | | SetFtpInfo; |
| | | |
| | | if not IIS_Ftp.FtpsConnect then |
| | | begin |
| | | DownFileErrStr := Format(_Msg('無法連上Ftp主機,錯誤原因:%s')+#13+'%s',[FtpErrReason,FTPSClient1.LastReceivedReply]); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | if not IIS_Ftp.FtpsDownloadFile(FFtpExtraPath,CaseID+'.zip',Path+CaseID+'.zip',display1) then |
| | | begin |
| | | DownFileErrStr := Format(_Msg('錯誤原因:%s'),[FtpErrStr]); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | ExecuteUnZip(Path+CaseID+'.zip',Path,False); |
| | | DeleteFile(Path+CaseID+'.zip'); |
| | | end; |
| | | end; |
| | | end; |
| | | |
| | | |
| | | Function TCB_IMGPSScanX.Down_Img(Path,CaseID:String):Boolean; |
| | | var |
| | |
| | | Result := True; |
| | | end; |
| | | |
| | | Function TCB_IMGPSScanX.GetInputMask:String; //取得輸入的保單號碼 |
| | | var |
| | | InputMaskForm: TInputMaskForm; |
| | | begin |
| | | Result := ''; |
| | | ShowText := _msg('輸入保單號碼中'); |
| | | DataLoading(True,True); |
| | | InputMaskForm := TInputMaskForm.Create(self); |
| | | try |
| | | InputMaskForm.MaskEdit1.ClearSelection; |
| | | if InputMaskForm.ShowModal = mrOk then |
| | | begin |
| | | Result := Trim(InputMaskForm.MaskEdit1.Text)+Trim(InputMaskForm.MaskEdit2.Text)+Trim(InputMaskForm.MaskEdit3.Text); |
| | | end; |
| | | finally |
| | | InputMaskForm.Free; |
| | | DataLoading(False,False); |
| | | end; |
| | | end; |
| | | |
| | | Function TCB_IMGPSScanX.GetCasePage(Path,CaseID:String):Integer; |
| | | var |
| | | DocDirList,FileList,ST1 :TStringlist; |
| | |
| | | begin |
| | | if Mode = 'ID' then |
| | | begin |
| | | Result := '自行輸入'; |
| | | Result := _Msg('自行輸入'); |
| | | for i := 0 to ID_S.Count - 1 do |
| | | begin |
| | | if Str = ID_S.Strings[i] then |
| | |
| | | if Col =RCol then |
| | | Result := RValue; |
| | | end; |
| | | |
| | | end; |
| | | |
| | | Procedure TCB_IMGPSScanX.DataLoading(Loading:Boolean;UseTimer:Boolean); //資料載入中要停止點選的動作 |
| | |
| | | //DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('頁'),[CaseDocNoList.Strings[i],DocNo2DocName(Caseno,iDocNo),DocNoPage])); |
| | | //DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[CaseDocNoList.Strings[i],DocNo2DocName(Caseno,iDocNo),DocNoCopies])); |
| | | //ShowMessage('iDocNo='+iDocNo); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[DocNo2DocName(Caseno,iDocNo),CaseDocNoList.Strings[i],DocNoCopies])); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format(_Msg('%s{%s}-%d份'),[DocNo2DocName(Caseno,iDocNo),CaseDocNoList.Strings[i],DocNoCopies])); |
| | | |
| | | if GetUseCase('F',ImageSavePath+Caseno+'\',CaseDocNoList.Strings[i]) <> '' Then |
| | | begin |
| | |
| | | FormPage := GetFormIDPage(FileList,FormID); |
| | | FormName := FormCode2FormName(Caseno,FormID); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormID+'{'+FormName+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,Format(_Msg('%s{%s}-%d頁'),[FormName,FormID,FormPage])); |
| | | FormNode.ImageIndex := 4; |
| | | FormNode.SelectedIndex := 4; |
| | | DocNode.AlphaSort(True); |
| | |
| | | FormPage := GetFormIDPage(FileList,FormID); |
| | | FormName := FormCode2FormName(Caseno,FormID); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormID+'{'+FormName+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,Format(_Msg('%s{%s}-%d頁'),[FormName,FormID,FormPage])); |
| | | FormNode.ImageIndex := 4; |
| | | FormNode.SelectedIndex := 4; |
| | | DocNode.AlphaSort(True); |
| | |
| | | FormPage := GetFormIDPage(FileList,FormID); |
| | | FormName := FormCode2FormName(Caseno,FormID); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormID+'{'+FormName+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,Format(_Msg('%s{%s}-%d頁'),[FormName,FormID,FormPage])); |
| | | FormNode.ImageIndex := 4; |
| | | FormNode.SelectedIndex := 4; |
| | | DocNode.AlphaSort(True); |
| | |
| | | DocNoPage := FileList.Count; |
| | | iDocNo := DocNoDir2DocNo(AttName); |
| | | //DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[AttName,DocNo2DocName(Caseno,iDocNo),1])); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[DocNo2DocName(Caseno,iDocNo),AttName,1])); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format(_Msg('%s{%s}-%d份'),[DocNo2DocName(Caseno,iDocNo),AttName,1])); |
| | | DocNode.ImageIndex := 2; |
| | | DocNode.SelectedIndex := 2; |
| | | for n := 0 to FileList.Count - 1 do |
| | |
| | | FormPage := GetFormIDPage(FileList,FormID); |
| | | FormName := FormCode2FormName(Caseno,FormID); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormID+'{'+FormName+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,Format(_Msg('%s{%s}-%d頁'),[FormName,FormID,FormPage])); |
| | | FormNode.ImageIndex := 4; |
| | | FormNode.SelectedIndex := 4; |
| | | end; |
| | |
| | | DocNoPage := FileList.Count; |
| | | iDocNo := DocNoDir2DocNo(AttName); |
| | | //DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[AttName,DocNo2DocName(Caseno,iDocNo),1])); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[DocNo2DocName(Caseno,iDocNo),'Attach',1])); |
| | | //DocNode := TreeView1.Items.AddChild(CaseNode,Format('%s{%s}-%d'+_msg('份'),[DocNo2DocName(Caseno,iDocNo),'Attach',1])); |
| | | DocNode := TreeView1.Items.AddChild(CaseNode,Format(_Msg('%s{%s}-%d份'),[DocNo2DocName(Caseno,iDocNo),'Attach',1])); |
| | | |
| | | DocNode.ImageIndex := 2; |
| | | DocNode.SelectedIndex := 2; |
| | | for n := 0 to FileList.Count - 1 do |
| | |
| | | FormPage := GetFormIDPage(FileList,FormID); |
| | | FormName := FormCode2FormName(Caseno,FormID); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormID+'{'+FormName+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | //FormNode := TreeView1.Items.AddChild(DocNode,FormName+'{'+FormID+'}-'+inttostr(FormPage)+_msg('頁')); |
| | | FormNode := TreeView1.Items.AddChild(DocNode,Format(_Msg('%s{%s}-%d頁'),[FormName,FormID,FormPage])); |
| | | |
| | | FormNode.ImageIndex := 4; |
| | | FormNode.SelectedIndex := 4; |
| | |
| | | PrtDialog : TPrintDialog; |
| | | S : String; |
| | | begin |
| | | ShowText := '列印中,請稍候'; |
| | | ShowText := _Msg('列印中,請稍候'); |
| | | DataLoading(True,True); |
| | | Case2upload(NowCaseNo); //產生原影像結構 |
| | | |
| | |
| | | OldCaseInfoForm.IN_WH_DocNoList := TStringlist.Create; |
| | | OldCaseInfoForm.OldCopiesList := TStringlist.Create; |
| | | try |
| | | InitialLanguage(OldCaseInfoForm); //載入多國語言 |
| | | OldCaseInfoForm.Notebook1.ActivePage := 'CaseInfo'; |
| | | OldCaseInfoForm.ImageSavePath := ImageSavePath; |
| | | OldCaseInfoForm.CaseID := NowCaseNo; |
| | |
| | | Year := Caseinfolist.Strings[1]; |
| | | BS_No := Caseinfolist.Strings[2]; |
| | | IS_Old := Caseinfolist.Strings[3]; |
| | | With OldCaseInfoForm.ListView1.Items.Add do |
| | | With OldCaseInfoForm.OldCaseLV.Items.Add do |
| | | begin |
| | | Caption := CaseID; |
| | | SubItems.Add(Year); |
| | |
| | | iDocNoList.SaveToFile(NewPath+'CaseDocNo.dat'); |
| | | iDocNo_CopiesList.SaveToFile(NewPath+'CaseDocNo_Copies.dat'); |
| | | DrawDocItem2(MyTreeNode1,NowCaseNo); |
| | | MyTreeNode1.Text := Format('%s-%d'+_Msg('頁'),[NowCaseno,GetCasePage(ImageSavePath,NowCaseNo)]); |
| | | //MyTreeNode1.Text := Format('%s-%d'+_Msg('頁'),[NowCaseno,GetCasePage(ImageSavePath,NowCaseNo)]); |
| | | MyTreeNode1.Text := Format(_Msg('%s-%d頁'),[NowCaseno,GetCasePage(ImageSavePath,NowCaseNo)]); |
| | | NewTreeNodeRefresh; |
| | | ClearErrini(NowCaseno,MyTreeNode1); //清掉檢核記錄 |
| | | end; |
| | |
| | | if FileExists(LngPath+'MPSLIC_SCAN.lic') then |
| | | DeleteFile(LngPath+'MPSLIC_SCAN.lic'); |
| | | if LegalDate = '' then |
| | | StatusBar1.Panels[4].Text := '註冊號:'+MacID+' 剩餘註冊數:'+inttostr(Totalcount-Nowcount); |
| | | StatusBar1.Panels[4].Text := Format(_Msg('註冊號:%s 剩餘註冊數:%s'),[MacID,inttostr(Totalcount-Nowcount)]); |
| | | if LegalDate <> '' then |
| | | StatusBar1.Panels[4].Text := '*註冊號:'+MacID+'('+inttostr(Lic_Idx)+')'+' 剩餘註冊數:'+inttostr(Totalcount-Nowcount); |
| | | StatusBar1.Panels[4].Text := '*'+Format(_Msg('註冊號:%s 剩餘註冊數:%s'),[MacID+'('+inttostr(Lic_Idx)+')',inttostr(Totalcount-Nowcount)]); |
| | | end; |
| | | |
| | | procedure TCB_IMGPSScanX.SmoothCBClick(Sender: TObject); |
| | |
| | | Anchor := FormID2Anchor(FormID); |
| | | //ParserPoint(CropMpsV.FindPoint(Anchor)); |
| | | FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,Anchor); |
| | | if FileExists(CheckXmlPath+FormID+'.xml') then //沒有Xml就不用遮罩 |
| | | if FileExists(CheckXmlPath+FWork_no+'\'+FormID+'.xml') then //沒有Xml就不用遮罩 |
| | | begin |
| | | XT.LoadFromFile(CheckXmlPath+FormID+'.xml'); |
| | | XT.LoadFromFile(CheckXmlPath+FWork_no+'\'+FormID+'.xml'); |
| | | if XT.SubNodes['/form/settype10/'].First then |
| | | Repeat |
| | | ColEName := XT.SubNodes['/form/settype10/'].NodeName; |
| | |
| | | Printer object. Otherwise, if UsePrintJob is True, the Title |
| | | property of the TDibGraphicPrinter object is used to specify the |
| | | job name. } |
| | | Printer.Title := '影像列印'; |
| | | Printer.Title := _Msg('影像列印'); |
| | | end; |
| | | |
| | | IF (Page mod 2) = 1 Then |
| | |
| | | procedure PrintWithAutoPrintJob; |
| | | begin |
| | | GraphicPrinter.UsePrintJob := True; |
| | | GraphicPrinter.Title := '影像列印'; |
| | | GraphicPrinter.Title := _Msg('影像列印'); |
| | | GraphicPrinter.Print(ImageScrollBox1.Graphic); |
| | | end; |
| | | |
| | |
| | | //Showmessage(FUrl+'service/slic/SLIC02/useOther?'+senddata); |
| | | if not upFile(HTTPSClient,FUrl,'service/imgpsc/IMGPSC02/useOther',SendData,'file',OldCasePath+'UseCase.ini',FReWrite,Memo1,False) then |
| | | begin |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!'+_Msg('錯誤代碼:')),[OldCaseID])+Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason); |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!'),[OldCaseID])+_Msg('錯誤代碼:')+Inttostr(HttpError.HttpErrorCode)+' '+HttpError.HttpReason); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | if memo1.Lines.Strings[0] = '1' then |
| | | begin |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!')+_Msg('錯誤原因:'),[OldCaseID])+memo1.Lines.Strings[1]); |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!'),[OldCaseID])+_Msg('錯誤原因:')+memo1.Lines.Strings[1]); |
| | | Result := False; |
| | | Exit; |
| | | end |
| | | Else if Pos('<script type="text/javascript" src="scripts/CW00/login.js"></script>',Memo1.Lines.Text) > 0 then |
| | | begin |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!')+_Msg('錯誤原因:')+_Msg('閒置過久或被登出,請重新登入'),[OldCaseID])); |
| | | Showmessage(Format(_Msg('傳送舊件編號(%s)檔案時,網路發生錯誤!!'),[OldCaseID])+_Msg('錯誤原因:')+_Msg('閒置過久或被登出,請重新登入')); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | |
| | | Exit; |
| | | end; |
| | | IF memo1.Lines.Strings[0] = '1' Then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+memo1.Lines.Strings[1]; |
| | | Result := False; |
| | | Exit; |
| | | end |
| | | Else if Pos('<script type="text/javascript" src="scripts/CW00/login.js"></script>',Memo1.Lines.Text) > 0 then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+_Msg('閒置過久或被登出,請重新登入'); |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | end; |
| | | |
| | | Function TCB_IMGPSScanX.GetFtpinfo(CaseID,Action:String):Boolean; |
| | | var |
| | | SendData : String; |
| | | |
| | | Procedure DecodeFtpInfo(EncryStr:String); |
| | | var |
| | | FtpStr : String; |
| | | ftpinfoList : TStringlist; |
| | | begin |
| | | if EncryStr = '' then Exit; |
| | | ftpinfoList := TStringlist.Create; |
| | | try |
| | | FtpStr := En_DecryptionStr_Base64('D',EncryStr,MpsKey); |
| | | SplitString('!@!',FtpStr,ftpinfoList); |
| | | if ftpinfoList[0] = 'ftps' then |
| | | FFtpProtocol := fpftps |
| | | else if ftpinfoList[0] = 'ftp' then |
| | | FFtpProtocol := fpftp; |
| | | FFtpIP := ftpinfoList[1]; |
| | | FFtpPort := strtoint(ftpinfoList[2]); |
| | | FFtpID := ftpinfoList[3]; |
| | | FFtpPwd := ftpinfoList[4]; |
| | | |
| | | finally |
| | | ftpinfoList.Free; |
| | | end; |
| | | end; |
| | | begin |
| | | Result := True; |
| | | SendData:='product='+FWork_no+'&case_no='+CaseID+'&department='+FUserUnit+'&action='+Action; |
| | | If not ProcessServlet_FormData(HTTPSClient,FURL+'service/imgpsc/IMGPSC02/ftps',SendData,FReWrite,Memo1,False) Then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤代碼:')+inttostr(HttpError.HttpErrorCode)+','+HttpError.HttpReason; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | IF (memo1.Lines.Strings[0] = '1') Then |
| | | begin |
| | | if memo1.Lines.Strings[1]='nodata' then //nodata 為正常可繼續的判斷 |
| | | begin |
| | | TransMode := tsNone; |
| | | Result := True; |
| | | Exit; |
| | | end |
| | | else |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+memo1.Lines.Strings[1]; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | end |
| | | Else if Pos('<script type="text/javascript" src="scripts/CW00/login.js"></script>',Memo1.Lines.Text) > 0 then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+_Msg('閒置過久或被登出,請重新登入'); |
| | | Result := False; |
| | | Exit; |
| | | end |
| | | else if (memo1.Lines.Strings[0] <> '0') then//不認識的字串 |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+memo1.Lines.Strings[0]; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | TransMode := tsHttp; |
| | | FFtpExtraPath := ''; |
| | | |
| | | if memo1.Lines.Strings[0] = '0' then |
| | | begin |
| | | if memo1.Lines.Strings[2] = 'Y' then //要使用FTP |
| | | TransMode := tsFtp; |
| | | if memo1.Lines.Count > 3 then |
| | | begin |
| | | FFtpExtraPath := memo1.Lines.Strings[3]; |
| | | DecodeFtpInfo(memo1.Lines.Strings[4]); |
| | | end; |
| | | end; |
| | | end; |
| | | |
| | | Procedure TCB_IMGPSScanX.SetFtpInfo; //餵入FTP資訊 |
| | | begin |
| | | IIS_Ftp.Display1 := Display1; |
| | | IIS_Ftp.FTPSClient1 := FTPSClient1; |
| | | IIS_Ftp.ElMemoryCertStorage := ElMemoryCertStorage; |
| | | IIS_Ftp.Display1 := Display1; |
| | | IIS_Ftp.Ftpip := FFtpIP; |
| | | IIS_Ftp.Ftpuserid := FFtpID; |
| | | IIS_Ftp.FtpPwd := FFtpPwd; |
| | | IIS_Ftp.FtpPath := FFtpRootPath; |
| | | IIS_Ftp.FtpPort := FFtpPort; |
| | | IIS_Ftp.FtpSSL := True; |
| | | IIS_Ftp.FtpPassive := True; |
| | | if FFtpProtocol = fpftp then |
| | | IIS_Ftp.FtpSSL := False; |
| | | IIS_Ftp.FtpEncryptDataChannel := true; |
| | | FTPSClient1.OnControlReceiveAsString := IIS_Ftp.EventHandlers.ControlReceiveAsString; |
| | | FTPSClient1.OnControlSendAsString := IIS_Ftp.EventHandlers.ControlSendAsString; |
| | | FTPSClient1.OnSSLError := IIS_Ftp.EventHandlers.SSLError; |
| | | FTPSClient1.OnCertificateValidate := IIS_Ftp.EventHandlers.CertificateValidate; |
| | | FTPSClient1.OnTextDataLine := IIS_Ftp.EventHandlers.TextDataLine; |
| | | |
| | | {Showmessage(Format('Ftpip:%s'+#13 |
| | | +'Ftpid:%s'+#13 |
| | | +'Ftppwd:%s'+#13 |
| | | +'Ftppath:%s'+#13 |
| | | +'Ftpport:%s'+#13 |
| | | ,[FFtpIP,FFtpid,FFtpPwd,Ftppath,inttostr(Ftpport)]));} |
| | | end; |
| | | |
| | | Function TCB_IMGPSScanX.FtpCaseComplete(SendData:String):Boolean; |
| | | begin |
| | | Result := True; |
| | | If not ProcessServlet_FormData(HTTPSClient,FURL+'service/imgpsc/IMGPSC02/caseupload',SendData,FReWrite,Memo1,False) Then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤代碼:')+inttostr(HttpError.HttpErrorCode)+','+HttpError.HttpReason; |
| | | Result := False; |
| | | Exit; |
| | | end; |
| | | IF (memo1.Lines.Strings[0] = '1') or (memo1.Lines.Strings[0] <> '0') Then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤原因:')+memo1.Lines.Strings[1]; |
| | | Result := False; |
| | |
| | | LogFile1.LogToFile(logTimeString+'最大頁數B段 '+CaseID+' '+'OMRFileList.Text='+OMRFileList.Text); |
| | | For i := 0 to OMRFileList.Count - 1 do |
| | | begin |
| | | if FModeName='異動件' then Continue; |
| | | if FModeName=_Msg('異動件') then Continue; |
| | | |
| | | if FWH_category='N' then |
| | | begin |
| | |
| | | //Display1.Lines.Add('OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName); |
| | | LogFile1.LogToFile(logTimeString+'OMRFile='+OMRFile+',OMRFormCode='+OMRFormCode+',OMRFormName='+OMRFormName); |
| | | //ShowMessage('KKKKK'); |
| | | if not FileExists(CheckXmlPath+OMRFormCode+'.xml') then //沒有Xml就不用檢核 |
| | | if not FileExists(CheckXmlPath+FWork_no+'\'+OMRFormCode+'.xml') then //沒有Xml就不用檢核 |
| | | Continue; |
| | | |
| | | //ShowMessage('11638 OMRFileList.Strings['+IntToStr(i)+']'+OMRFileList.Strings[i]); |
| | | XT := TXmltool.Create(CheckXmlPath+OMRFormCode+'.xml'); |
| | | XT := TXmltool.Create(CheckXmlPath+FWork_no+'\'+OMRFormCode+'.xml'); |
| | | RelaXT := TXmltool.Create; |
| | | //ShowMessage('ModeNeedCheck='+BoolToStr(ModeNeedCheck(OMRErrInfo[4].Mode,FMode),true)); |
| | | try |
| | |
| | | RelaFile := FormCode2FileName(RelaFormCode,ContextList); |
| | | RelaFormName := FormCode2FormName(CaseID,RelaFormCode); |
| | | Anchor1 := FormID2Anchor(RelaFormCode); |
| | | RelaXT.LoadFromFile(CheckXmlPath+RelaFormCode+'.xml'); |
| | | RelaXT.LoadFromFile(CheckXmlPath+FWork_no+'\'+RelaFormCode+'.xml'); |
| | | Display1.Lines.Add(RelaFile+','+RelaFormName); |
| | | //ShowMessage(RelaFile); |
| | | //ShowMessage(ImageSavePath+CaseID+'\upload\'+RelaFile); |
| | |
| | | RelaFile := FormCode2FileName(RelaFormCode,ContextList); |
| | | RelaFormName := FormCode2FormName(CaseID,RelaFormCode); |
| | | Anchor1 := FormID2Anchor(RelaFormCode); |
| | | RelaXT.LoadFromFile(CheckXmlPath+RelaFormCode+'.xml'); |
| | | RelaXT.LoadFromFile(CheckXmlPath+FWork_no+'\'+RelaFormCode+'.xml'); |
| | | |
| | | if RelaFile<>'' then |
| | | begin |
| | |
| | | begin |
| | | Result := True; // http://192.168.0.101:8080/fbnp/servlet/CWC01?act=getservertime |
| | | //dnFile(HTTPSClient,FUrl+'Language.Lng','','',LngPath+'Language.Lng',FReWrite.Text,Memo1,False,DownImgStatus) |
| | | If not dnFile_Get(HTTPSClient,FUrl+'Language.Lng','','',LngPath+'Language.Lng',FReWrite,Memo1,False,'') Then |
| | | If not dnFile_Get(HTTPSClient,FUrl+'Language.Lng','','',LngPath+'Language.Lng',FReWrite,Memo1,False,DownImgStatus) Then |
| | | begin |
| | | HttpErrStr := _Msg('錯誤代碼:')+inttostr(HttpError.HttpErrorCode)+','+HttpError.HttpReason; |
| | | Result := False; |
| | |
| | | List_FormCode,Err_FormCode: String; |
| | | iFormID : String; |
| | | begin |
| | | ShowText := '影像顯示中,請稍候'; |
| | | ShowText := _Msg('影像顯示中,請稍候'); |
| | | DataLoading(True,True); |
| | | |
| | | IF FormCode = 'ShowAll' then //顯示所有的影像 (因為附件會傳空字串,所以用ShowAll) |
| | |
| | | iGroupNo,page,Ct,int1 : Integer; |
| | | ST1:TStringList; |
| | | begin |
| | | ShowText := '影像顯示中,請稍候'; |
| | | ShowText := _Msg('影像顯示中,請稍候'); |
| | | DataLoading(True,True); |
| | | ST1:=TStringList.Create; |
| | | //Display1.Lines.Clear; |
| | |
| | | end; |
| | | if FileExists(CheckXmlPath+'OMRSet.zip') then //有更新 |
| | | begin |
| | | ExecuteUnZip(CheckXmlPath+'OMRSet.zip',CheckXmlPath,False); |
| | | ExecuteUnZip(CheckXmlPath+'OMRSet.zip',CheckXmlPath,True); |
| | | S.Clear; |
| | | S.Add(ServerDate+GetBalance2Time(Balance)); |
| | | S.SaveToFile(CheckXmlPath+'LastDateTime.dat'); |
| | |
| | | end; |
| | | if FileExists(SitePath+'KeyinSet.zip') then //有更新 |
| | | begin |
| | | ExecuteUnZip(SitePath+'KeyinSet.zip',SitePath,False); |
| | | ExecuteUnZip(SitePath+'KeyinSet.zip',SitePath,True); |
| | | S.Clear; |
| | | S.Add(ServerDate+GetBalance2Time(Balance)); |
| | | S.SaveToFile(SitePath+'LastDateTime.dat'); |
| | |
| | | |
| | | FMaxUploadSize:='10'; |
| | | FJpgCompression:=50; |
| | | FFtpRootPath := ''; //影像平台沒有給FtpRoot目錄,會直接用FFtpExtraPath切換至指定目錄 |
| | | //FMode := 'DSCAN' ; |
| | | //FIs_In_Wh := 'Y'; |
| | | if FIs_In_Wh = 'Y' then |
| | |
| | | DisplayMode(1,1,1,Panel9); |
| | | Application.ProcessMessages; |
| | | StatusBar1.Panels[0].Text := 'Ver'+GetCurrentVersionNo; |
| | | StatusBar1.Panels[1].Text := _Msg('登入人員:')+FUserName; |
| | | StatusBar1.Panels[1].Text := 'Login User:'+FUserName; |
| | | {$IFDEF Test} |
| | | StatusBar1.Panels[0].Text := StatusBar1.Panels[0].Text+'(test)'; |
| | | {$ENDIF} |
| | | StatusBar1.Panels[0].Text := StatusBar1.Panels[0].Text; |
| | | |
| | | if FPrintyn = 'Y' then |
| | | PrtLB.Visible := True; |
| | | |
| | |
| | | InitScrollRec; |
| | | If FUrl = '' then |
| | | begin |
| | | Showmessage(_Msg('URL不能為空白,請洽詢程式人員')); |
| | | Showmessage(_Msg('URL cannot be empty,please contact system administrator')); |
| | | Exit; |
| | | end; |
| | | if FUrl[length(FUrl)]<>'/' then |
| | | FUrl := FUrl + '/'; |
| | | //20221028 把語言檔改放至 Local目錄裡,才不會有些文字來不及使用 |
| | | LngPath := GetLocalAppDir(Handle)+'MPS\CB_IMGPS\'; |
| | | Str2Dir(LngPath); |
| | | ////下載語言檔///// 20170218 先拿調以便測試 |
| | | If not DownLanguage Then |
| | | begin |
| | | Showmessage('Language File error!!'+HttpErrStr); |
| | | DataLoading(False,False); |
| | | Exit; |
| | | end; |
| | | |
| | | InitialLanguage(Self); //載入多國語言 |
| | | |
| | | |
| | | if FWork_no='' then |
| | | begin |
| | |
| | | if ImagePath[Length(ImagePath)] <> '\' then |
| | | ImagePath := ImagePath + '\'; |
| | | //ShowMessage('ImagePath='+ImagePath); |
| | | CheckXmlPath := ImagePath+'OMRSITE\'+FWork_No; |
| | | //CheckXmlPath := ImagePath+'OMRSITE\'+FWork_No; |
| | | CheckXmlPath := ImagePath+'OMRSITE\'; // 20200612 發現影像平台是取回所有業務的設定,所以不能有業務別目錄 |
| | | //ShowMessage('CheckXmlPath='+CheckXmlPath); |
| | | SitePath := ImagePath+'Site\'+FWork_No+'\'; |
| | | LngPath := ImagePath; |
| | | //SitePath := ImagePath+'Site\'+FWork_No+'\'; |
| | | SitePath := ImagePath+'Site\'; // 20200612 發現影像平台是取回所有業務的設定,所以不能有業務別目錄 |
| | | //LngPath := ImagePath; //改放至上面取Local目錄 |
| | | SamplePath := ImagePath+'Sample\'+FWork_No+'\'; |
| | | ImagePath := ImagePath + 'Scantemp\'; |
| | | //ShowMessage('AA ImagePath='+ImagePath); |
| | |
| | | ShowText := _Msg('資料載入中,請稍候'); |
| | | DataLoading(True,True); |
| | | |
| | | ////下載語言檔///// 20170218 先拿調以便測試 |
| | | If not DownLanguage Then |
| | | begin |
| | | Showmessage('Language File error!!'+HttpErrStr); |
| | | DataLoading(False,False); |
| | | Exit; |
| | | end; |
| | | |
| | | InitialLanguage(Self); //載入多國語言 |
| | | StatusBar1.Panels[1].Text := _Msg('登入人員:')+FUserName; |
| | | //FCaseID:='20150302180133';//測試用 |
| | | ////下載語言檔///// |
| | | //ShowMessage('OOOO'); |
| | |
| | | begin |
| | | ShowText := _Msg('案件下載中,請稍候'); |
| | | DataLoading(True,True); |
| | | If not Down_Img(ImageSavePath+FCaseID+'\Download\',FCaseID) then |
| | | If not DownLoadImage(ImageSavePath+FCaseID+'\Download\',FCaseID) Then |
| | | begin |
| | | Showmessage(FCaseID+_msg('載入異動影像時,網路發生錯誤')+DownFileErrStr); |
| | | DataLoading(False,False); |
| | | Exit; |
| | | end; |
| | | |
| | | {If not Down_Img(ImageSavePath+FCaseID+'\Download\',FCaseID) then |
| | | begin |
| | | Showmessage(FCaseID+_msg('載入異動影像時,網路發生錯誤')+HttpErrStr); |
| | | DataLoading(False,False); |
| | | Exit; |
| | | end; |
| | | end;} |
| | | //Showmessage(ImageSavePath+FCaseID+'\Download\'+#10#13+ImageSavePath+FCaseID+'\'); |
| | | Download2Case(ImageSavePath+FCaseID+'\Download\',ImageSavePath+FCaseID+'\'); |
| | | //Showmessage('aaa'); |
| | |
| | | begin |
| | | /////訊問是否可上傳///// |
| | | CaseTrans := CaseAsk(CaseID); |
| | | //Showmessage('記得改回來'); |
| | | //CaseTrans := 0; |
| | | |
| | | /////訊問是否可上傳//// |
| | | end |
| | | Else ///不是新件、重掃件、異動件的不查 |
| | |
| | | begin |
| | | uploadMsg:=NowCaseNo+_Msg('影像上傳完成。此案已進入下一流程'); |
| | | end; |
| | | if (FMode='ESCAN') and (FModeName='補件掃描') and (SuccessCount = 1) then |
| | | if (FMode='ESCAN') and (FModeName=_Msg('補件掃描')) and (SuccessCount = 1) then |
| | | begin |
| | | uploadMsg:=NowCaseNo+_Msg('影像已補件完成'); |
| | | end; |
| | |
| | | DisplayPath := ImageSavePath+NowCaseNo+'\'; |
| | | |
| | | if GetUseCase('F',DisplayPath,NowDocDir) <> '' then |
| | | StatusBar1.Panels[2].Text := Format('從%s引用',[GetUseCase('F',DisplayPath,NowDocDir)]); |
| | | StatusBar1.Panels[2].Text := Format(_Msg('從%s引用'),[GetUseCase('F',DisplayPath,NowDocDir)]); |
| | | if GetUseCase('T',DisplayPath,NowDocDir) <> '' then |
| | | StatusBar1.Panels[2].Text := Format('被%s引用',[GetUseCase('T',DisplayPath,NowDocDir)]); |
| | | StatusBar1.Panels[2].Text := Format(_Msg('被%s引用'),[GetUseCase('T',DisplayPath,NowDocDir)]); |
| | | if FLoanDoc_Enable = 'Y' then |
| | | begin |
| | | AddCredit1RG.Enabled := True; |
| | |
| | | DisplayPath := ImageSavePath+NowCaseNo+'\'; |
| | | |
| | | if GetUseCase('F',DisplayPath,NowDocDir) <> '' then |
| | | StatusBar1.Panels[2].Text := Format('從%s引用',[GetUseCase('F',DisplayPath,NowDocDir)]); |
| | | StatusBar1.Panels[2].Text := Format(_Msg('從%s引用'),[GetUseCase('F',DisplayPath,NowDocDir)]); |
| | | if GetUseCase('T',DisplayPath,NowDocDir) <> '' then |
| | | StatusBar1.Panels[2].Text := Format('被%s引用',[GetUseCase('T',DisplayPath,NowDocDir)]); |
| | | StatusBar1.Panels[2].Text := Format(_Msg('被%s引用'),[GetUseCase('T',DisplayPath,NowDocDir)]); |
| | | |
| | | if FLoanDoc_Enable = 'Y' then |
| | | begin |