【发布时间】:2016-02-03 06:00:48
【问题描述】:
我正在编写一个应用程序来扫描条形码并将其显示到文本框中。我正在使用在 Windows Embedded compact 7.0 上运行的摩托罗拉 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);
}
此码扫描不带空格的条码。
仅供参考:早期的摩托罗拉 MC3190 无法扫描空格前后的字符,但在联系摩托罗拉支持团队后,他们告诉我设备发生了一些变化。现在该设备正在接受带有空格的条形码。我检查了 datawedge 演示。
现在我正在使用符号汇编,这意味着我正在覆盖我的代码中的现有功能,但到目前为止还没有运气。
当我在我的应用程序中扫描此条码时,它会跳过第一个数字 0 和最后一个数字 2。文本框仅显示 825610。但是当我尝试在 Datawedge 演示中扫描相同的条码时(软件附带设备来测试条码扫描)它显示 082566102
【问题讨论】:
-
这是什么类型的条码?您可以在
barcodeReader.Decoders.MyBarcodeType上设置相关选项,这些选项会影响nextReaderData.Text将包含的内容。如果您可以链接到示例条形码的图片,这也会有所帮助。 -
'UPCE0',可能是我要扫描的条形码类型
标签: c# compact-framework windows-ce symbols windows-embedded-compact