簡體   English   中英

摩托羅拉MC3190掃描時出現異常行為

[英]Motorola MC3190 strange behavior while scanning

我正在編寫一個應用程序來掃描條形碼並將其顯示在文本框中。 我正在使用在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);  
    }

該代碼掃描沒有空格的條形碼。

僅供參考:早期的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM