![](/img/trans.png)
[英]Application crashes after 15min, WCE 6.0 CF 3.5 Motorola MC3190
[英]Motorola MC3190 strange behavior while scanning
我正在编写一个应用程序来扫描条形码并将其显示在文本框中。 我正在使用在Windows Embedded Compact 7.0上运行的Motorola MC3190设备。 为了实现条形码扫描,我使用了Symbol.dll和Symbol.barcode.dll 。
我有一个问题,就是设备正在扫描条形码,但消除了空格前后的字符。 我的代码是
private void Form1_Load(object sender, EventArgs e)
{
txtBarcode.Focus();
barcodeReader = new Symbol.Barcode.Reader();
barcodeReaderData = new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Text, Symbol.Barcode.ReaderDataLengths.MaximumLabel);
barcodeReader.Actions.Enable();
barcodeReader.ReadNotify += new EventHandler(barcodeReader_Read);
barcodeReader.Actions.Read(barcodeReaderData);
}
private void barcodeReader_Read(object sender, EventArgs e)
{
Symbol.Barcode.ReaderData nextReaderData = barcodeReader.GetNextReaderData();
txtBarcode.Text = nextReaderData.Text;
barcodeReader.Actions.Read(barcodeReaderData);
}
该代码扫描没有空格的条形码。
仅供参考:早期的Motorola MC3190无法扫描空格前后的字符,但是在联系Motorola支持团队之后,他们告诉我设备的某些更改。 现在设备正在接受带空格的条形码。 我检查了datawedge演示。
现在,我正在使用符号汇编,这意味着我将覆盖代码中的现有功能,但到目前为止还没有运气。
当我在应用程序中扫描此条形码时,它将跳过第一位数字0和最后一位数字2。文本框仅显示825610。但是,当我尝试在Datawedge演示中扫描相同的条形码(软件随附有用于测试条形码扫描的设备)时,它将显示082566102
缺少的零包含在条形码格式中。 UPC-E条形码可以以0或1开头,由扫描仪以UPCE0和UPCE1返回。 缺少的2是校验位。
您可以通过设置以下内容来包括这些内容:
barcodeReader.Decoders.UPCE0.Preamble = UPC.Preambles.System;
barcodeReader.Decoders.UPCE0.ReportCheckDigit = true;
“空格”仅存在于人类条形码中,它们将系统和校验和数字与重要数据区分开。 条形码本身没有编码的空格。
(有关UPC-E条形码的更多信息,请参见https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.