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

C# 摩托罗拉MC3190扫描时的奇怪行为,c#,compact-framework,windows-ce,symbols,windows-embedded-compact,C#,Compact Framework,Windows Ce,Symbols,Windows Embedded Compact,我正在编写一个应用程序来扫描条形码并将其显示在文本框中。我使用的是运行在Windows嵌入式compact 7.0上的摩托罗拉MC3190设备。为了实现条形码扫描,我使用了Symbol.dll和Symbol.barcode.dll 我有一个问题,设备正在扫描条形码,但消除了空格前后的字符。我的代码是 private void Form1_Load(object sender, EventArgs e) { txtBarcode.Focus(); barco

我正在编写一个应用程序来扫描条形码并将其显示在文本框中。我使用的是运行在Windows嵌入式compact 7.0上的摩托罗拉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无法扫描空格前后的字符,但在联系摩托罗拉支持团队后,他们告诉我该设备的一些变化。现在,该设备正在接受带有空格的条形码。我登记了

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

编辑:


当我在应用程序中扫描此条形码时,它将跳过第一位数字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条形码的更多信息,请参阅)

条形码格式中包含缺少的零。UPC-E条形码可以以0或1开头,扫描仪将其返回为UPCE0和UPCE1。缺少的2是校验位

您可以通过设置以下内容来包括这些内容:

barcodeReader.Decoders.UPCE0.Preamble = UPC.Preambles.System;
barcodeReader.Decoders.UPCE0.ReportCheckDigit = true;
“空格”仅存在于人类条形码的表示中,它们将系统和校验和数字与重要数据分开。条形码本身中没有编码的空格


(有关UPC-E条形码的更多信息,请参阅)

这是什么类型的条形码?您可以在
barcodeReader.Decoders.MyBarcodeType
上设置相关选项,这些选项会影响
NextraderData.Text
将包含的内容。如果你能链接到一个样本条形码的图片,这也会很有帮助。“UPCE0”,可能是我试图扫描的条形码类型,这是什么类型的条形码?您可以在
barcodeReader.Decoders.MyBarcodeType
上设置相关选项,这些选项会影响
NextraderData.Text
将包含的内容。此外,如果您可以链接到示例条形码的图片“UPCE0”,这也会有所帮助,可能是因为我正在尝试扫描的条形码类型是ScandaWedge>Advance Config>profiles>profile0>Input>Scanner>1D Scanner>Decoder>UPCE0>Params>勾选“Report Check Digit”>进入序言>勾选“System character”>。我在设备上进行的此设置。DataWedge>高级配置>配置文件>配置文件0>输入>扫描仪>1D扫描仪>解码器>UPCE0>参数>勾选“报告检查数字”>进入序言>勾选“系统字符”>。这是我在我的设备上进行的设置。