gpt4 book ai didi

c# - 摩托罗拉 MC3190 扫描时的奇怪行为

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:01 27 4
gpt4 key购买 nike

我正在编写一个扫描条形码并将其显示到文本框的应用程序。我使用的是在 Windows Embedded compact 7.0 上运行的 Motorola MC3190 设备。为了实现条码扫描,我使用了 Symbol.dllSymbol.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);
}

此代码扫描没有空格的条形码。

仅供引用:早期的摩托罗拉 MC3190 无法扫描空格前后的字符,但在联系摩托罗拉支持团队后,他们告诉我设备有一些变化。现在设备正在接受带空格的条形码。我查看了 Datawedge 演示。

现在我正在使用符号汇编,这意味着我正在覆盖代码中的现有功能,但到目前为止运气不好。

编辑: enter image description here

当我在我的应用程序中扫描此条形码时,它会跳过第一个数字 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)

关于c# - 摩托罗拉 MC3190 扫描时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33493106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com