CB_IMGPSScan.cab ver2.0.1.18  修正 檢核失敗 時顯示的必填欄位的提示色塊消失的問題
修改8個檔案
179 ■■■■ 已變更過的檔案
CB_IMGPSScan.dproj 4 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
CB_IMGPSScan.ocx 修補檔 | 檢視 | 原始 | 究查 | 歷程
CB_IMGPSScan.res 修補檔 | 檢視 | 原始 | 究查 | 歷程
CB_IMGPSScanImp.dcu 修補檔 | 檢視 | 原始 | 究查 | 歷程
CB_IMGPSScanImp.pas 44 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
ErrList.dcu 修補檔 | 檢視 | 原始 | 究查 | 歷程
ErrList.dfm 25 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
ErrList.pas 106 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
CB_IMGPSScan.dproj
@@ -94,7 +94,7 @@
                        <VersionInfo Name="MajorVer">2</VersionInfo>
                        <VersionInfo Name="MinorVer">0</VersionInfo>
                        <VersionInfo Name="Release">1</VersionInfo>
                        <VersionInfo Name="Build">15</VersionInfo>
                        <VersionInfo Name="Build">18</VersionInfo>
                        <VersionInfo Name="Debug">False</VersionInfo>
                        <VersionInfo Name="PreRelease">False</VersionInfo>
                        <VersionInfo Name="Special">False</VersionInfo>
@@ -106,7 +106,7 @@
                    <VersionInfoKeys>
                        <VersionInfoKeys Name="CompanyName"/>
                        <VersionInfoKeys Name="FileDescription"/>
                        <VersionInfoKeys Name="FileVersion">2.0.1.15</VersionInfoKeys>
                        <VersionInfoKeys Name="FileVersion">2.0.1.18</VersionInfoKeys>
                        <VersionInfoKeys Name="InternalName"/>
                        <VersionInfoKeys Name="LegalCopyright"/>
                        <VersionInfoKeys Name="LegalTrademarks"/>
CB_IMGPSScan.ocx
Binary files differ
CB_IMGPSScan.res
Binary files differ
CB_IMGPSScanImp.dcu
Binary files differ
CB_IMGPSScanImp.pas
@@ -3693,6 +3693,11 @@
    'FIsExternal='+    FIsExternal+#10#13+
    'FCheck_main_form='+    FCheck_main_form);
 { ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
    'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
    'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
    'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y));
  }
end;
procedure TCB_IMGPSScanX.Button4Click(Sender: TObject);
@@ -3739,6 +3744,7 @@
  ScanInfo.Graphic := TTiffGraphic.Create;
  try
    ISB := nil; //規零
//ShowMessage(IntToStr(ScanDpi));
    Scanner.RequestedXDpi := ScanDpi;
    Scanner.RequestedYDpi := ScanDpi;
    Scanner.RequestedImageFormat := ScanColor;
@@ -4461,21 +4467,39 @@
  W,H : Integer;
begin
  Result := 0;
//ShowMessage('GetSiteOMR');
  IF (ImageScrollBox1.FileName <> FileName) and (FileName <> '') then
  begin
//ShowMessage('11111'+ImageScrollBox1.FileName+#10#13+FileName);
    ImageScrollBox1.LoadFromFile(FileName,1);
    FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'NONE');
{
ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y));
    FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'');
ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y));
}
    ClearLine(ISB_BW.Graphic,bt);
    ISB_BW.Redraw(True);
    Application.ProcessMessages;
  end;
  If ImageScrollBox1.FileName <> '' Then
  begin
//ShowMessage('22222'+ImageScrollBox1.FileName);
    Xdpi := ImagescrollBox1.Graphic.XDotsPerInch;
    Ydpi := ImagescrollBox1.Graphic.YDotsPerInch;
    H := ImageScrollBox1.Graphic.Height;
    W := ImageScrollBox1.Graphic.Width;
//ShowMessage('Xdpi='+IntToStr(Xdpi)+#10#13+'Ydpi='+IntToStr(Ydpi)+#10#13+'H='+IntToStr(H)+#10#13+'W='+IntToStr(W)+#10#13);
//ShowMessage('Site='+Site);
    OMRRect := CM_Str2Rect(Site,Xdpi,UpLPoint);
//ShowMessage(IntToStr(OMRRect.Left)+#10#13+IntToStr(OMRRect.top)+#10#13+IntToStr(OMRRect.Right)+#10#13+IntToStr(OMRRect.Bottom));
    if OMRRect.Left < 0 then
      OMRRect.Left := 0;
    if OMRRect.Top < 0  then
@@ -4486,6 +4510,7 @@
      OMRRect.Bottom := ImageScrollBox1.Graphic.Height;
    result := Get_OMR(ISB_BW.Graphic,OMRRect);
//ShowMessage('result='+IntToStr(result));
  end;
end;
@@ -4527,7 +4552,7 @@
          DeviceDeleteSize := ini.ReadInteger('DeviceDelete','Size_New',Def_DeviceDeleteSize);
          ScannerReverse := ini.ReadBool('Scanner','Reverse',Def_ScannerReverse);
          BoardClear := ini.ReadBool('Scanner','BoardClear',Def_BoardClear);
          ScanDpi := ini.ReadInteger('Scanner','Dpi',Def_ScanDpi);
          //ScanDpi := ini.ReadInteger('Scanner','Dpi',Def_ScanDpi);
          //ScanDuplex := ini.ReadBool('Scanner','Duplex',Def_ScanDuplex);
          ScanRotate := ini.ReadInteger('Scanner','ScanRotate',Def_ScanRotate);
          ScanDeskew := ini.ReadBool('Scanner','ScanDeskew',Def_ScanDeskew);
@@ -4541,7 +4566,7 @@
          ini.WriteInteger('DeviceDelete','Size_New',DeviceDeleteSize);
          ini.WriteBool('Scanner','Reverse',ScannerReverse);
          ini.WriteBool('Scanner','BoardClear',BoardClear);
          ini.ReadInteger('Scanner','Dpi',ScanDpi);
          //ini.ReadInteger('Scanner','Dpi',ScanDpi);
          //ini.WriteBool('Scanner','Duplex',ScanDuplex);
          ini.WriteInteger('Scanner','ScanRotate',ScanRotate);
          ini.WriteBool('Scanner','ScanDeskew',ScanDeskew);
@@ -7640,6 +7665,7 @@
  ErrlistForm : TErrlistForm;
  S : TStringlist;
  UpFormID : String;
  Anchor : String;
begin
  ShowText := _Msg('處理檢核失敗中,請稍候');
  DataLoading(True,True);
@@ -8569,7 +8595,7 @@
  end;
end;
Function TCB_IMGPSScanX.Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像
Function TCB_IMGPSScanX.Case2Mask(SoPath,DePath:String):Boolean;//產生遮罩影像  20170639 發現沒用到
var
  XT : TXMLTool;
  i : Integer;
@@ -10655,7 +10681,7 @@
          //20131203 yuu說不檢查這個,先拿掉   20170315 楷琳說未歸類要擋
          if FCheck_main_form='Y' then
          begin
            if (FMode <> 'SSCAN') then  //簽署章件會換主FormID,先跳過
            if (FMode <> 'SSCAN') AND (FMode<>'ESCAN') then  //簽署章件會換主FormID,先跳過 20170629 ESCAN 也不檢查
            begin
              ErrStr:=_Msg('找不到分案文件');   //找不到主文件
              OMRErr2ini(CaseID,ErrStr,'','','','','','',False,False,True);
@@ -10844,6 +10870,8 @@
                      SiteRec := SiteRec+'@'+Site;
                    //有填就ok
                    //Showmessage(ColCName +','+ inttostr(OMRMpsV1.GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site))+','+inttostr(Pixel + SafePixel));
//SafePixel:=90000;
//ShowMessage(ColEName+' '+ColCName+'   圖像實際點數='+IntToStr(GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site,Bt))+' 設定點數='+IntToStr( (Pixel + SafePixel)));
                    if GetSiteOMR(ImageSavePath+CaseID+'\upload\'+OMRFile,Site,Bt) > (Pixel + SafePixel)  then
                    begin
                      //Showmessage('oh');
@@ -13403,8 +13431,9 @@
    DenialTimeLb.Visible := True;
    DenialTimeLb.Caption := Format(ScanDenialHint,[ScanDenialTime]);
  end;
//ShowMessage(IntToStr(ScanDpi));
  R_W_Scanini('R'); //掃瞄設定的ini
//ShowMessage(IntToStr(ScanDpi));
  ScanDuplexCB.Checked := ScanDuplex;
  if FMode <> 'SAMPLESCAN' then
    LoadImgFile;
@@ -13564,8 +13593,7 @@
      ShowText := CaseID+_Msg('資料上傳中,請稍候');
      DataLoading(True,True);
//ShowMessage('NNNNN');
//ShowMessage('退出');
//Exit;
ShowMessage('退出');DataLoading(False,False);Exit;
      If Not TransCaseID(TransPath,CaseID,True) Then  //傳送案件
      begin
        DataLoading(False,False);
ErrList.dcu
Binary files differ
ErrList.dfm
@@ -160,7 +160,6 @@
            Top = 3
            Width = 29
            Height = 23
            DoubleBuffered = True
            Enabled = False
            Glyph.Data = {
              76010000424D7601000000000000760000002800000020000000100000000100
@@ -176,7 +175,6 @@
              3333333333333333333333333333333333333333333333333333333333333333
              3333333333333333333333333333333333333333333333333333}
            NumGlyphs = 2
            ParentDoubleBuffered = False
            TabOrder = 0
            OnClick = SitePreBtClick
          end
@@ -185,7 +183,6 @@
            Top = 3
            Width = 29
            Height = 23
            DoubleBuffered = True
            Enabled = False
            Glyph.Data = {
              76010000424D7601000000000000760000002800000020000000100000000100
@@ -201,7 +198,6 @@
              3333333333773333333333333333333333333333333333333333333333333333
              3333333333333333333333333333333333333333333333333333}
            NumGlyphs = 2
            ParentDoubleBuffered = False
            TabOrder = 1
            OnClick = SiteNextBtClick
          end
@@ -219,10 +215,6 @@
          MouseHandlerOwnership = True
          Align = alClient
          TabOrder = 1
          ExplicitLeft = 168
          ExplicitTop = 72
          ExplicitWidth = 100
          ExplicitHeight = 100
        end
      end
      object Panel6: TPanel
@@ -258,7 +250,6 @@
            Top = 3
            Width = 31
            Height = 23
            DoubleBuffered = True
            Enabled = False
            Glyph.Data = {
              76010000424D7601000000000000760000002800000020000000100000000100
@@ -274,7 +265,6 @@
              3333333333333333333333333333333333333333333333333333333333333333
              3333333333333333333333333333333333333333333333333333}
            NumGlyphs = 2
            ParentDoubleBuffered = False
            TabOrder = 0
            OnClick = RelaPreBtClick
          end
@@ -283,7 +273,6 @@
            Top = 3
            Width = 31
            Height = 23
            DoubleBuffered = True
            Enabled = False
            Glyph.Data = {
              76010000424D7601000000000000760000002800000020000000100000000100
@@ -299,7 +288,6 @@
              3333333333773333333333333333333333333333333333333333333333333333
              3333333333333333333333333333333333333333333333333333}
            NumGlyphs = 2
            ParentDoubleBuffered = False
            TabOrder = 1
            OnClick = RelaNextBtClick
          end
@@ -317,10 +305,6 @@
          MouseHandlerOwnership = True
          Align = alClient
          TabOrder = 1
          ExplicitLeft = 104
          ExplicitTop = 128
          ExplicitWidth = 100
          ExplicitHeight = 100
        end
      end
    end
@@ -404,6 +388,15 @@
        Visible = False
        OnClick = EnforceBtClick
      end
      object Button1: TButton
        Left = 296
        Top = 10
        Width = 75
        Height = 25
        Caption = 'Button1'
        TabOrder = 7
        OnClick = Button1Click
      end
    end
  end
  object Timer1: TTimer
ErrList.pas
@@ -5,7 +5,7 @@
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, Menus, StdCtrls, Buttons, ComCtrls, ExtCtrls,inifiles,
  iisUnit,iis_ImageProcess, EnImgScr,mpsBarco,BarcodesFinder;
  iisUnit,iis_ImageProcess, EnImgScr,mpsBarco,BarcodesFinder, EnMisc, EnDiGrph;
type
  TErrlistForm = class(TForm)
@@ -38,6 +38,7 @@
    ImageScrollBox1: TImageScrollBox;
    ImageScrollBox2: TImageScrollBox;
    ImageScrollBox3: TImageScrollBox;
    Button1: TButton;
    procedure ExitBtClick(Sender: TObject);
    procedure ImmediateBtClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
@@ -60,6 +61,7 @@
    procedure Timer1Timer(Sender: TObject);
    procedure RejectBtClick(Sender: TObject);
    procedure EnforceBtClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    Siteidx : Integer;
@@ -86,11 +88,22 @@
    DownRPoint_Rela : Tpoint;  //¥k¤U¤èªº¤Q¦rÂI
    //********¤Q¦r©w¦ìÂI¸ê°T********
    ISB_BW: TImageScrollBox;
    SP1:TShape;//20170630 ·s¥[
    SP2:TShape;//20170630 ·s¥[
    SP3:TShape;//20170630 ·s¥[
    SP4:TShape;//20170630 ·s¥[
    SP5:TShape;//20170630 ·s¥[
    SP6:TShape;//20170630 ·s¥[
    SP7:TShape;//20170630 ·s¥[
    SP8:TShape;//20170630 ·s¥[
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
    Procedure ShowOMRErr(Idx:Integer); //µe­±¤W¨q¥XOMRÀˮ֥¢±Ñ
    Procedure ShowRelaOMRErr(Relaidx:Integer); //µe­±¤W¨q¥XÃö«YOMRÀˮ֥¢±Ñ
    Procedure GetOMRErrini(Index:String); //¨úÀˮ֥¢±Ñini
    Procedure InitialData;  //«ì´_¦¨¥¼¿ï¨úª¬ºA
    Procedure InitialData;
    procedure ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);  //«ì´_¦¨¥¼¿ï¨úª¬ºA
  public
    { Public declarations }
    iniPath : String;
@@ -147,6 +160,14 @@
  end;
  RejectCase := True;
  ModalResult := mrOK;
end;
procedure TErrlistForm.Button1Click(Sender: TObject);
begin
ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y));
end;
procedure TErrlistForm.DeleteBtClick(Sender: TObject);
@@ -280,12 +301,38 @@
  PostMessage(Handle,WM_ACTIVATE,WA_CLICKACTIVE,0);
  SiteList := TStringlist.Create;
  RelaSiteList := TStringlist.Create;
  ISB_BW:=TImageScrollBox.Create(Self);
  SP1:= TShape.Create(self);
  SP1.Name := 'SP1';
  SP2:= TShape.Create(self);
  SP2.Name := 'SP2';
  SP3:= TShape.Create(self);
  SP3.Name := 'SP3';
  SP4:= TShape.Create(self);
  SP4.Name := 'SP4';
  SP5:= TShape.Create(self);
  SP5.Name := 'SP5';
  SP6:= TShape.Create(self);
  SP6.Name := 'SP6';
  SP7:= TShape.Create(self);
  SP7.Name := 'SP7';
  SP8:= TShape.Create(self);
  SP8.Name := 'SP8';
end;
procedure TErrlistForm.FormDestroy(Sender: TObject);
begin
  SiteList.Free;
  RelaSiteList.Free;
  ISB_BW.Free;
  SP1.Free;
  SP2.Free;
  SP3.Free;
  SP4.Free;
  SP5.Free;
  SP6.Free;
  SP7.Free;
  SP8.Free;
end;
procedure TErrlistForm.ImmediateBtClick(Sender: TObject);
@@ -339,6 +386,10 @@
  FileName,Site : String;
  RelaFileName,RelaSite : String;
  Anchor,Anchor1 : String;
  SizeStr : String;
  NowW,NowH : Integer;
begin
  ini := Tinifile.Create(iniPath+'Checkerr.ini');
  try
@@ -379,11 +430,23 @@
    if FileName <> '' then  //¦³­nÅã¥Ü¼v¹³
    begin
      //if MpsViewX1.FileName <> FileName then
      //begin
        ImageScrollBox1.LoadFromFile(FileName,1);
        FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'');
      //end;
      //FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,'NONE');
      //======================
      ImageScrollBox1.LoadFromFile(FileName,1);
      ImageScrollBox1NewGraphic(ImageScrollBox1.Graphic);
      FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH,ANCHOR);
      ImageResize(ImageScrollBox1.Graphic,ISB_BW.Graphic.Width,ISB_BW.Graphic.Height);
      FindPoint(ISB_BW.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH,ANCHOR);
      //==========================
{ShowMessage('UpLPoint='+IntToStr(UpLPoint.X)+','+IntToStr(UpLPoint.Y)+#10#13+
'UpRPoint='+IntToStr(UpRPoint.X)+','+IntToStr(UpRPoint.Y)+#10#13+
'DownLPoint='+IntToStr(DownLPoint.X)+','+IntToStr(DownLPoint.Y)+#10#13+
'DownRPoint='+IntToStr(DownRPoint.X)+','+IntToStr(DownRPoint.Y)); }
      ShowOMRErr(Siteidx);
    end;
    if (RelaFileName <> '') and FileExists(RelaFileName) then //¦³Ãö«Y¼v¹³
@@ -407,12 +470,41 @@
var
  Site : String;
  iRect : TRect;
  SP:TShape;
begin
  if Idx > SiteList.Count then Exit;
  Site := SiteList.Strings[Idx-1];
//ShowMessage('Site'+Site);
  //Site := TranslationRect(Site,MpsViewX1.GetImageDpi,'VIEW');
  iRect := CM_Str2Rect(Site,ImageScrollBox1.Graphic.XDotsPerInch,UpLPoint);
  ShowKeyinRect(ImageScrollBox1,iRect);
//ShowMessage('Idx='+IntToStr(Idx));
//ShowMessage(IntToStr(iRect.Left)+','+IntToStr(iRect.Top)+','+IntToStr(iRect.Right)+','+IntToStr(iRect.Bottom));
  SP := TShape(FindComponent('SP'+inttostr(Idx))); //20170327 ¦b°j°é¤¤­n¨Ï¥Î¦h²Õ¾B¸n
  SP.Brush.Color :=$00FEFAAD;
  SP.Parent := ImageScrollBox1;
  SP.Pen.Style := psSolid;
  SP.Pen.Color := $00FEFAAD;
  SP.Pen.Width := 1;
  SP.Pen.Mode := pmMask;
  SP.Left := iRect.Left;
  SP.Top := iRect.Top;
  SP.Width := iRect.Right-iRect.Left;
  SP.Height := iRect.Bottom-iRect.Top;
  //ImageScrollBox1.Redraw(True);
  //ShowKeyinRect(ImageScrollBox1,iRect);
  SetKeyinRect_New(ImageScrollBox1,Site,'','',UpLPoint,UpRPoint,sp);
end;
procedure TErrlistForm.ImageScrollBox1NewGraphic(const Graphic: TDibGraphic);
begin
  IF ImageScrollBox1.Graphic.Empty Then Exit;
  ISB_BW.Graphic.Assign(ImageScrollBox1.Graphic);
  If ImageScrollBox1.Graphic.ImageFormat <> ifBlackWhite Then
  begin
    ConvertToBW(ISB_BW.Graphic);
  end;
end;
Procedure TErrlistForm.ShowRelaOMRErr(RelaIdx:Integer); //µe­±¤W¨q¥XÃö«YOMRÀˮ֥¢±Ñ