From e8f20d33a0c39a24a3997c3d76e1f9475c8330ab Mon Sep 17 00:00:00 2001
From: doom4ster <doom4ster@gmail.com>
Date: 星期五, 11 八月 2017 14:32:55 +0800
Subject: [PATCH] CB_IMGPSScan.cab ver2.0.1.29 掃描的檢核畫面需顯示"忽略"(若不可忽略按鈕會反灰),"強制送件"更名為"全部忽略

---
 CB_IMGPSScanImp.dcu |    0 
 ErrList.dcu         |    0 
 CB_IMGPSScan.ocx    |    0 
 ErrList.pas         |   40 ++++++++++++-------
 CB_IMGPSScan.dproj  |    4 +-
 CB_IMGPSScan.res    |    0 
 CB_IMGPSScanImp.pas |   57 ++++++++++++++++++++++++----
 ErrList.dfm         |    5 --
 8 files changed, 77 insertions(+), 29 deletions(-)

diff --git a/CB_IMGPSScan.dproj b/CB_IMGPSScan.dproj
index 71344e3..49e0a8a 100644
--- a/CB_IMGPSScan.dproj
+++ b/CB_IMGPSScan.dproj
@@ -95,7 +95,7 @@
 						<VersionInfo Name="MajorVer">2</VersionInfo>
 						<VersionInfo Name="MinorVer">0</VersionInfo>
 						<VersionInfo Name="Release">1</VersionInfo>
-						<VersionInfo Name="Build">28</VersionInfo>
+						<VersionInfo Name="Build">29</VersionInfo>
 						<VersionInfo Name="Debug">False</VersionInfo>
 						<VersionInfo Name="PreRelease">False</VersionInfo>
 						<VersionInfo Name="Special">False</VersionInfo>
@@ -107,7 +107,7 @@
 					<VersionInfoKeys>
 						<VersionInfoKeys Name="CompanyName"/>
 						<VersionInfoKeys Name="FileDescription"/>
-						<VersionInfoKeys Name="FileVersion">2.0.1.28</VersionInfoKeys>
+						<VersionInfoKeys Name="FileVersion">2.0.1.29</VersionInfoKeys>
 						<VersionInfoKeys Name="InternalName"/>
 						<VersionInfoKeys Name="LegalCopyright"/>
 						<VersionInfoKeys Name="LegalTrademarks"/>
diff --git a/CB_IMGPSScan.ocx b/CB_IMGPSScan.ocx
index 18f239f..3b7085e 100644
--- a/CB_IMGPSScan.ocx
+++ b/CB_IMGPSScan.ocx
Binary files differ
diff --git a/CB_IMGPSScan.res b/CB_IMGPSScan.res
index 4ecf068..ee2ab4b 100644
--- a/CB_IMGPSScan.res
+++ b/CB_IMGPSScan.res
Binary files differ
diff --git a/CB_IMGPSScanImp.dcu b/CB_IMGPSScanImp.dcu
index af50d24..e159337 100644
--- a/CB_IMGPSScanImp.dcu
+++ b/CB_IMGPSScanImp.dcu
Binary files differ
diff --git a/CB_IMGPSScanImp.pas b/CB_IMGPSScanImp.pas
index 1d2224d..9f5eb1f 100644
--- a/CB_IMGPSScanImp.pas
+++ b/CB_IMGPSScanImp.pas
@@ -14,7 +14,7 @@
   ExtCtrls, ComCtrls, Menus, StdCtrls, Gauges, EnImgScr, PJMenuSpeedButtons,
   Buttons, ImgList, SBSimpleSSL, SBHTTPSClient, SBWinCertStorage, SBX509,
   SBCustomCertStorage, SBUtils,mpsBarco,BarcodesFinder,HTTPApp,ErrList,
-  Xmltool,inifiles,printers;
+  Xmltool,inifiles,printers,IdHashMessageDigest, idHash;
 
 var
   Ch_WriteNote : Boolean;
@@ -835,6 +835,8 @@
     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 確認是否存在原有影像
   protected
     { Protected declarations }
     procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
@@ -1213,9 +1215,9 @@
   ST1:=TStringList.Create;
   ST2:=TStringList.Create;
   ST3:=TStringList.Create;
-  ST4:=TStringList.Create;
+
 //FImgDelete:='Y';
-  if FileExists(casepath+'CaseDocNo.dat') then
+  {if FileExists(casepath+'CaseDocNo.dat') then
   begin
     ST1.LoadFromFile(casepath+'CaseDocNo.dat');
     for I := 0 to ST1.Count - 1 do
@@ -1244,6 +1246,12 @@
     begin
       ExistImgList.Add(casepath+'Attach\'+ST3.Strings[i])
     end;
+  end; }
+  ExistImgList.Clear;
+  ST1.LoadFromFile(casepath+'Download\Context.dat');
+  for I := 0 to ST1.Count - 1 do
+  begin
+    ExistImgList.Add(LoadFileGetMD5(casepath+'Download\'+ST1.Strings[i])) ;
   end;
 
   ST1.Free;
@@ -5852,14 +5860,11 @@
     begin
       str1:=Copy(ST1.Strings[i],1,Pos('_',St1.Strings[i])-1);
       ST2.Add(str1);
-      if ST2.IndexOf(str1) = -1 then
-      begin
-
-        must_formidStr:= must_formidStr+str1+'@#,';
-      end;
+      must_formidStr:= must_formidStr+str1+'@#,';
     end;
   end;
   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
@@ -8423,6 +8428,30 @@
   ST1.Free;
 end;
 
+function TCB_IMGPSScanX.LoadFileGetMD5(const filename: string): string;
+var
+  Stream: TFileStream;
+  //Buffer: array[0..1023] of AnsiChar;
+  Buffer: array[0..1023] of AnsiChar;
+  TempStr: string;
+  i: Integer;
+  idmd5:TIdHashMessageDigest5;  //import IdHashMessageDigest, idHash
+
+begin
+  idmd5 := TIdHashMessageDigest5.Create;
+
+  try
+    Stream := TFileStream.Create(filename, fmOpenRead);
+    Stream.Read(Buffer[0], SizeOf(Buffer));
+
+    result := idmd5.HashStreamAsHex(Stream) ;
+  finally
+    idmd5.Free;
+    Stream.Free;
+
+  end;
+end;
+
 procedure TCB_IMGPSScanX.LoadImgFile;  //載入新件及替換件
 Var
   i,v,v1,m : Integer;
@@ -9936,6 +9965,18 @@
   end;
 end;
 
+function TCB_IMGPSScanX.ISExistImg(const filename: string): boolean;
+begin
+  if ExistImgList.IndexOf(LoadFileGetMD5(filename))<>-1 then
+  begin
+    Result:=True;
+  end
+  else
+  begin
+    Result:=False;
+  end;
+end;
+
 Function TCB_IMGPSScanX.CaseDelete_Enable(CaseID:String):Boolean;  //案件可否被刪除
 var
   i : Integer;
diff --git a/ErrList.dcu b/ErrList.dcu
index 540f2ef..c839058 100644
--- a/ErrList.dcu
+++ b/ErrList.dcu
Binary files differ
diff --git a/ErrList.dfm b/ErrList.dfm
index 72ad0e2..cdae027 100644
--- a/ErrList.dfm
+++ b/ErrList.dfm
@@ -328,7 +328,6 @@
         Height = 34
         Caption = #31435#21363#20659#36865
         TabOrder = 0
-        Visible = False
         OnClick = ImmediateBtClick
       end
       object ExitBt: TButton
@@ -356,7 +355,6 @@
         Caption = #24573#30053
         Enabled = False
         TabOrder = 3
-        Visible = False
         OnClick = DeleteBtClick
       end
       object NoteBt: TButton
@@ -381,12 +379,11 @@
       end
       object EnforceBt: TButton
         Left = 128
-        Top = 2
+        Top = 1
         Width = 79
         Height = 34
         Caption = #24375#36843#36865#20214
         TabOrder = 6
-        Visible = False
         OnClick = EnforceBtClick
       end
       object Button1: TButton
diff --git a/ErrList.pas b/ErrList.pas
index 0947599..f4b82eb 100644
--- a/ErrList.pas
+++ b/ErrList.pas
@@ -180,27 +180,37 @@
   S := TStringlist.Create;
   S1 := TStringlist.Create;
   ini := Tinifile.Create(iniPath+'Checkerr.ini');
+
   try
     if FileExists(iniPath+'RemoveMemo.dat') then
       S.LoadFromFile(iniPath+'RemoveMemo.dat');
-    ini.WriteBool(NowIndex,'Del',True);
-    S.Add(ini.ReadString(NowIndex,'Reason',''));
-    S.SaveToFile(iniPath+'RemoveMemo.dat');
-    i := ErrListLV.ItemIndex;
-    ErrListLV.Items.Delete(ErrListLV.ItemIndex);
-    if ErrListLV.Items.Count = 0 then
+
+    Ingnore := ini.ReadBool(NowIndex,'Ingnore',False);
+    if True then
     begin
-      ImmediateBt.Enabled := True;
-      S1.Add('Y');
-      S1.SaveToFile(iniPath+'OMRCheckOk.dat');
+      ini.WriteBool(NowIndex,'Del',True);
+      S.Add(ini.ReadString(NowIndex,'Reason',''));
+      S.SaveToFile(iniPath+'RemoveMemo.dat');
+      i := ErrListLV.ItemIndex;
+      ErrListLV.Items.Delete(ErrListLV.ItemIndex);
+      if ErrListLV.Items.Count = 0 then
+      begin
+        ImmediateBt.Enabled := True;
+        S1.Add('Y');
+        S1.SaveToFile(iniPath+'OMRCheckOk.dat');
+      end
+      else
+      begin
+        if i <= ErrListLV.Items.Count -1 then
+        begin
+          ErrListLV.ItemIndex := i;
+          ErrListLVclick(nil);
+        end;
+      end;
     end
     else
     begin
-      if i <= ErrListLV.Items.Count -1 then
-      begin
-        ErrListLV.ItemIndex := i;
-        ErrListLVclick(nil);
-      end;
+      Showmessage(Format(_msg('%s�����i�������صL�k�j���e��'),['']));
     end;
 
   finally
@@ -239,7 +249,7 @@
         ErrListLV.Items.Delete(i);
         if ErrListLV.Items.Count = 0 then
         begin
-          //ImmediateBt.Enabled := True;
+          ImmediateBt.Enabled := True;
           S1.Add('Y');
           S1.SaveToFile(iniPath+'OMRCheckOk.dat');
         end;

--
Gitblit v1.8.0