Exemplo n.º 1
0
        /// <summary>
        /// Terminates the Intermec scanner.
        /// </summary>
        public override void Terminate()
        {
            if (bIsX4)
            {
                //if (dcdEvent.IsListening)
                //{
                //    dcdEvent.StopScanListener();
                //}

                //if (hDcd != null)
                //{
                //    hDcd.Dispose();
                //}
            }
            if (scEng != null)
            {
                scEng.ReleaseTrigger();

                // Коммент от 21.07.15 для совместной работы с AtlasWMS
                //scEng.ScannerEnabled = false;

                scEng.DeInit();
                scEng = null;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Инициализация PSC сканера
        /// </summary>
        /// <returns>Whether initialization was successful</returns>
        public override bool Initialize()
        {
            //if (bIsX4)
            bIsX4 = (DLBarcodeScannerFactory.DL_OEM.IndexOf("X4") > 0) ? true : false;

            if (bIsX4)
            {
                //try
                //{
                //    hDcd = new DecodeHandle(DecodeDeviceCap.Exists | DecodeDeviceCap.Barcode);
                //}
                //catch (DecodeException)
                //{
                //    //MessageBox.Show("Exception loading barcode decoder.", "Decoder Error");
                //    //return false;
                //}
                //DecodeRequest reqType = (DecodeRequest)1 | DecodeRequest.PostRecurring;

                //dcdEvent = new DecodeEvent(hDcd, reqType, null);
                //dcdEvent.Scanned += new DecodeScanned(dcdEvent_Scanned_X4);
            }

            if (scID == DLScanEngineClassID.SE_READER_IMAGER_CLASS_ID)
            {
                scEng = new datalogic.datacapture.Imager();
                ((Imager)scEng).ImgType = datalogic.datacapture.Imager.ImageType.JPEG;
                base.nSCEngineType      = SCAN_TYPE.IMAGER;
                base.nTermType          = TERM_TYPE.DL_JET;
            }
            else
            {
                scEng = new datalogic.datacapture.Laser();
                base.nSCEngineType = SCAN_TYPE.LASER;
                base.nTermType     = TERM_TYPE.DL_SCORP;
            }

            scEng.GoodReadEvent += new datalogic.datacapture.ScannerEngine.LaserEventHandler(dcdEvent_Scanned);
            scEng.ScannerEnabled = true;
            return(true);
        }
Exemplo n.º 3
0
        private void laser_GoodReadEvent(ScannerEngine sender)
        {
            this.scannerInput = laser.BarcodeDataAsText;

            if (productTextBox.Focused)
            {
                if (this.productList.Exists(findScannedProduct))
                {
                    this.countTextBox.Text = this.productList.Find(findScannedProduct).getCount();
                    this.replace           = true;
                }
                else
                {
                    this.countTextBox.Text = String.Empty;
                    this.replace           = false;
                }

                productTextBox.Text = this.scannerInput;

                this.countTextBox.Enabled = true;
                this.countTextBox.Focus();
                this.countTextBox.SelectAll();
            }
        }
Exemplo n.º 4
0
        //private void dcdEvent_Scanned_X4(object sender, DecodeEventArgs e)
        //{
        //    CodeId cID = CodeId.NoData;
        //    string dcdData = string.Empty;
        //    byte[]
        //        byteData;
        //    BCId nCodeID  = BCId.NoData;

        //    // Obtain the string and code id.
        //    try
        //    {
        //        dcdData = hDcd.ReadString(e.RequestID, ref cID);
        //    }
        //    catch (Exception)
        //    {
        //        MessageBox.Show("Error reading string!");
        //        return;
        //    }

        //        switch (cID)
        //        {
        //            case CodeId.EAN13:
        //            case CodeId.EAN8:
        //                nCodeID = BCId.EAN13;
        //                break;
        //            case CodeId.Code128:
        //                nCodeID = BCId.Code128;
        //                break;
        //            case CodeId.Interleaved25:
        //                nCodeID = BCId.Interleaved25;
        //                break;
        //            case CodeId.Code39:
        //                nCodeID = BCId.Code39;
        //                break;
        //            case CodeId.GS1Expanded:
        //                nCodeID = BCId.GS1DataBar;
        //                break;
        //            default:
        //                nCodeID = BCId.Unknown;
        //                break;
        //        }

        //    // убрать форматирование для AtlasWMS
        //    int nL = dcdData.Length;
        //            byteData = System.Text.Encoding.UTF8.GetBytes(dcdData);
        //    if (byteData.Length >= 5)
        //    {
        //        if ((byteData[0] == '\x2') &&                       // STX
        //            (byteData[byteData.Length - 1] == '\x3') &&     // ETX
        //            (byteData[1] == ']'))                           // AIM
        //        {
        //            dcdData = dcdData.Substring(4, nL - 5);
        //            dcdData = dcdData.Replace('$', '\x1D');       // $ -> FNC1
        //            byteData = System.Text.Encoding.UTF8.GetBytes(dcdData);
        //        }
        //    }
        //    OnBarcodeScan(new BarcodeScannerEventArgs(nCodeID, dcdData, byteData, byteData.Length));
        //}



        /// <summary>
        /// Event that fires when a PSC scanner has performed a scan.
        /// </summary>
        private void dcdEvent_Scanned(ScannerEngine sender)
        {
            BCId   nCodeID  = BCId.NoData;
            string sBarCode = string.Empty;

            byte[] byteData = sender.BarcodeDataAsByteArray;

            // Obtain the string and code id.
            try
            {
                sBarCode = sender.BarcodeDataAsText;
                baDat    = sender.BarcodeDataAsByteArray;
                string sAIM = sender.BarcodeTypeAsAIMIdentifier;

                BARCODE_Identifier bi = sender.BarcodeTypeAsIdentifier;
                switch (bi)
                {
                case BARCODE_Identifier.BARCODE_ID_EAN_13:
                case BARCODE_Identifier.BARCODE_ID_EAN_13_ADDON_2:
                case BARCODE_Identifier.BARCODE_ID_EAN_13_ADDON_5:
                    nCodeID = BCId.EAN13;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_128_STANDARD:
                    nCodeID = BCId.Code128;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_EAN_128:
                    nCodeID = BCId.Code128;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_ISBT_128:
                    nCodeID = BCId.Code128;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_ISBT_128_CON:
                    nCodeID = BCId.Code128;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_25_INTERLEAVED:
                    nCodeID = BCId.Interleaved25;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_25_MATRIX:
                    nCodeID = BCId.Matrix25;
                    break;

                case BARCODE_Identifier.BARCODE_ID_CODE_39_STANDARD:
                    nCodeID = BCId.Code39;
                    break;

                case (BARCODE_Identifier)8804:
                    nCodeID = BCId.GS1DataBar;
                    break;

                default:
                    nCodeID = BCId.Unknown;
                    break;
                }
            }
            catch (Exception)
            {
                //MessageBox.Show("Error reading string!");
            }

            //OnBarcodeScan(new BarcodeScannerEventArgs( nCodeID, sBarCode ));

            // убрать форматирование для AtlasWMS
            int nL = sBarCode.Length;

            if (byteData.Length >= 5)
            {
                if ((byteData[0] == '\x2') &&                       // STX
                    (byteData[byteData.Length - 1] == '\x3') &&     // ETX
                    (byteData[1] == ']'))                           // AIM
                {
                    sBarCode = sBarCode.Substring(4, nL - 5);
                    sBarCode = sBarCode.Replace('$', '\x1D');       // $ -> FNC1
                    byteData = System.Text.Encoding.UTF8.GetBytes(sBarCode);
                }
            }

            OnBarcodeScan(new BarcodeScannerEventArgs(nCodeID, sBarCode, byteData, byteData.Length));
            return;
        }