| | |
| | | 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, |
| | | LogFile; |
| | | |
| | | type |
| | | TErrlistForm = class(TForm) |
| | |
| | | ImageScrollBox1: TImageScrollBox; |
| | | ImageScrollBox2: TImageScrollBox; |
| | | ImageScrollBox3: TImageScrollBox; |
| | | Button1: TButton; |
| | | LogFile1: TLogFile; |
| | | procedure ExitBtClick(Sender: TObject); |
| | | procedure ImmediateBtClick(Sender: TObject); |
| | | procedure FormCreate(Sender: TObject); |
| | |
| | | procedure Timer1Timer(Sender: TObject); |
| | | procedure RejectBtClick(Sender: TObject); |
| | | procedure EnforceBtClick(Sender: TObject); |
| | | procedure Button1Click(Sender: TObject); |
| | | private |
| | | { Private declarations } |
| | | Siteidx : Integer; |
| | |
| | | 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¥[ } |
| | | SP : TShape; |
| | | |
| | | 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); |
| | | function logTimeString: String; //«ì´_¦¨¥¼¿ï¨úª¬ºA |
| | | public |
| | | { Public declarations } |
| | | iniPath : String; |
| | |
| | | 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); |
| | | var |
| | | ini : TiniFile; |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | end; |
| | | |
| | | procedure TErrlistForm.FormCreate(Sender: TObject); |
| | | var |
| | | i : Integer; |
| | | begin |
| | | MyHotkeyid1 := GlobalAddAtom('MyHotkeyid1')- $C000; |
| | | RegisterHotKey(Handle, MyHotkeyid1,MOD_CONTROL,Ord('D')); |
| | | PostMessage(Handle,WM_ACTIVATE,WA_CLICKACTIVE,0); |
| | | SiteList := TStringlist.Create; |
| | | RelaSiteList := TStringlist.Create; |
| | | ISB_BW:=TImageScrollBox.Create(Self); |
| | | for i := 1 to 30 do |
| | | begin |
| | | Sp := TShape.Create(self); |
| | | Sp.Name := 'SP'+inttostr(i); |
| | | end; |
| | | for i := 1 to 30 do |
| | | begin |
| | | Sp := TShape.Create(self); |
| | | Sp.Name := 'SP_R'+inttostr(i); |
| | | end; |
| | | {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); |
| | | var |
| | | i : Integer; |
| | | begin |
| | | SiteList.Free; |
| | | RelaSiteList.Free; |
| | | ISB_BW.Free; |
| | | for i := 1 to 30 do |
| | | begin |
| | | TShape(FindComponent('SP'+inttostr(i))).Free; |
| | | end; |
| | | for i := 1 to 30 do |
| | | begin |
| | | TShape(FindComponent('SP_R'+inttostr(i))).Free; |
| | | end; |
| | | {SP1.Free; |
| | | SP2.Free; |
| | | SP3.Free; |
| | | SP4.Free; |
| | | SP5.Free; |
| | | SP6.Free; |
| | | SP7.Free; |
| | | SP8.Free;} |
| | | end; |
| | | |
| | | procedure TErrlistForm.ImmediateBtClick(Sender: TObject); |
| | | begin |
| | | ModalResult := mrOK; |
| | | LogFile1.LogToFile(logTimeString+'¥ß§Y°e¥ó'); |
| | | end; |
| | | |
| | | function TErrlistForm.logTimeString: String; |
| | | begin |
| | | Result:=FormatDateTime('yyyymmdd hh:mm:ss',now)+' '; |
| | | end; |
| | | |
| | | procedure TErrlistForm.RelaNextBtClick(Sender: TObject); |
| | |
| | | end; |
| | | |
| | | Procedure TErrlistForm.InitialData; //«ì´_¦¨¥¼¿ï¨úª¬ºA |
| | | var |
| | | i : Integer; |
| | | begin |
| | | SitePreBt.Enabled := False; |
| | | SiteNextBt.Enabled := False; |
| | |
| | | Siteidx := 1; |
| | | RelaSiteidx := 1; |
| | | DeleteBt.Enabled := False; |
| | | for i := 1 to 30 do |
| | | begin |
| | | TShape(FindComponent('SP'+inttostr(i))).Parent := nil; |
| | | end; |
| | | for i := 1 to 30 do |
| | | begin |
| | | TShape(FindComponent('SP_R'+inttostr(i))).Parent := nil; |
| | | end; |
| | | end; |
| | | |
| | | Procedure TErrlistForm.GetOMRErrini(Index:String); //¨úÀˮ֥¢±Ñini |
| | |
| | | FileName,Site : String; |
| | | RelaFileName,RelaSite : String; |
| | | Anchor,Anchor1 : String; |
| | | |
| | | |
| | | SizeStr : String; |
| | | NowW,NowH : Integer; |
| | | begin |
| | | ini := Tinifile.Create(iniPath+'Checkerr.ini'); |
| | | try |
| | |
| | | |
| | | if FileName <> '' then //¦³nÅã¥Ü¼v¹³ |
| | | begin |
| | | //if MpsViewX1.FileName <> FileName then |
| | | //begin |
| | | ImageScrollBox1.LoadFromFile(FileName,1); |
| | | FindPoint(ImageScrollBox1.Graphic,UpLPoint,UpRPoint,DownLPoint,''); |
| | | //end; |
| | | ImageScrollBox1.LoadFromFile(FileName,1); |
| | | |
| | | //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¹³ |
| | |
| | | //if MpsViewX2.FileName <> RelaFileName then |
| | | //begin |
| | | ImageScrollBox2.LoadFromFile(RelaFileName,1); |
| | | FindPoint(ImageScrollBox2.Graphic,UpLPoint_Rela,UpRPoint_Rela,DownLPoint_Rela,''); |
| | | //FindPoint(ImageScrollBox2.Graphic,UpLPoint_Rela,UpRPoint_Rela,DownLPoint_Rela,''); |
| | | FindPoint(ImageScrollBox2.Graphic,UpLPoint,UpRPoint,DownLPoint,NowW,NowH,ANCHOR); |
| | | //GetFFPoint(MpsViewX2,RelaFileName); //¨úFreeFormªº¤Q¦rÂI¤Î°ª«× |
| | | |
| | | //end; |
| | |
| | | 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Àˮ֥¢±Ñ |
| | | var |
| | | Site : String; |
| | | iRect : TRect; |
| | | SP:TShape; |
| | | begin |
| | | if RelaIdx > RelaSiteList.Count then Exit; |
| | | |
| | | //SP := TShape(FindComponent('SP'+inttostr(RelaIdx+1))); //20170327 ¦b°j°é¤¤n¨Ï¥Î¦h²Õ¾B¸n |
| | | SP := TShape(FindComponent('SP_R'+inttostr(RelaIdx))); //20240314 Hong §ï¦¨³o¼Ë |
| | | SP.Brush.Color :=$00FEFAAD; |
| | | SP.Parent := ImageScrollBox2; |
| | | 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; |
| | | |
| | | Site := RelaSiteList.Strings[RelaIdx-1]; |
| | | iRect := CM_Str2Rect(Site,ImageScrollBox1.Graphic.XDotsPerInch,UpLPoint_Rela); |
| | | ShowKeyinRect(ImageScrollBox2,iRect); |
| | | //ShowKeyinRect(ImageScrollBox2,iRect); |
| | | SetKeyinRect_New(ImageScrollBox2,Site,'','',UpLPoint,UpRPoint,sp); |
| | | end; |
| | | |
| | | procedure TErrlistForm.SiteNextBtClick(Sender: TObject); |