/// <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; } }
/// <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); }
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(); } }
//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; }