2011-10-19 218 views
0

我們在我們的應用程序中使用條形碼掃描儀掃描條形碼。 97887021006268鍵盤條形碼掃描儀

  • LeftCtrl
  • LeftShift
  • 中號
  • D9
  • D7
  • :通常,掃描ISBN噹噹ISBN條形碼被掃描它返回下列一串鑰匙
  • D8
  • D8
  • D7
  • D0
  • D2
  • D1
  • D0
  • D6
  • D2
  • D6
  • D8
  • LeftCtrl
  • Ç

LeftCtrl + B組合是前導碼,並告訴我們它正在開始讀取識別號碼。 LeftCtrl + C組合是postamble,並告訴我們,我們正在完成閱讀識別號碼。 LeftShift + M組合告訴我們,我們閱讀條形碼類型。 基於該信息,掃描條形碼後,我可以自動搜索與相關ISBN的書籍。我們正在使用我們自己的條形碼閱讀器庫,可以識別ISBN,Code39和I2Of5。

現在,我們的客戶都是新的條形碼掃描儀,這是鍵盤掃描儀。掃描完相同的ISBN後,我們可以看到它不包含前導碼和後導碼,與返回條形碼類型的代碼一樣好。相反,我們只拿到號碼,並在年底返回鍵:

  • D9
  • D7
  • D8
  • D8
  • D7
  • D0
  • D2
  • D1
  • D0
  • D6
  • D2
  • D6
  • D8
  • 返回

在這種情況下,我不能自動識別什麼是條碼類型,甚至認出它是否是條碼掃描 - 例如我不能自動搜索要解決問題,我正在考慮用戶控制用戶與:

  • 文本框將被識別號掃描
  • 單選的選項(ISBN,39碼,I2Of5)
  • 按鈕負責進一步處理基於所選擇的單選按鈕的選擇在文本框的值和

我想詢問是否有其他(更好的)解決方案。

+0

我不明白你爲什麼應該關心條碼類型。當然,價值是重要的,因爲這將是在你的數據庫中提供查詢的東西。你是說你有條形碼相同的條目,但因條形碼類型不同而不同?這聽起來像一個壞方法 – musefan

+0

目前我可以掃描ISBN,Code39或I2OF5。當我掃描ISBN時,應用程序應搜索圖書,當我掃描Code39或I2OF5應用程序時應搜索訂單(訂單也有條形碼)。因此,根據條形碼類型 –

+0

進行不同的場景。那麼唯一的辦法就是從用戶那裏獲得更多的輸入。我會建議一組單選按鈕,以便輕鬆選擇要查找的對象類型。所以「書籍」或「訂單」的選項可能是最好的。然後你搜索正確的數據庫。基本上,正如你所指出的那樣,新的條形碼數據只是沒有足夠的信息,如果沒有客戶改變那裏的設備,你就無法改變這一點。 – musefan

回答

0

您應該能夠從兩個非常大的按鈕「掃描書」和「掃描順序」中獲取您所缺少的信息,以便用戶單擊其中一個非常大的按鈕並知道要查找的內容。

它是這樣的:他們想要的掃描

  • 用戶點擊一個非常大的按鈕「掃描書」或「掃描順序」(在這裏你得到的代碼類型,你不再

    1. 用戶爭奪有)
    2. 用戶執行掃描
    3. 你做,你需要掃描的數量做
  • 1

    有一些提示,你可以在c什麼頌讚。如果您正在掃描真實書籍,您將獲得EAN13 + 5 Bookland EAN代碼。如果你使用的是不同的代碼類型(比如你的例子),你只會得到13位數字。檢查長度== 13或長度== 18.
    ISBN以978(或979,最終)開頭,並以MOD 10校驗和結束。所以你可以檢查掃描值

    /^(97[8|9]\d{10})5(\d{4})$/ 
    

    美國價格的書。價格之前的最後一位是校驗和。這應該給你一個很好的跡象表明你正在使用ISBN。
    我發現最好將代碼寫入服務器,然後依賴用戶輸入正確的信息。

    相關問題