2012-04-02 105 views
0

容器標有JA1234標籤。這個容器應該總是到達目的地A. 另一個容器用標籤1234標識。絕大多數容器都以這種方式標記,並且這些容器始終到達目的地B.將字母數字字符串轉換爲亂碼條形碼?

(注意:容器池不斷搖晃我們無法保留主列表。)

用戶可以掃描/鍵入容器標識符。許多容器沒有條形碼,所以他們需要輸入數字。當它被輸入前綴'JA'被忽略時,程序錯誤檢查突然失敗(允許錯誤的目的地)。

爲了防止進入和強制條形碼我想要求程序掃描條形碼。讓用戶始終掃描條形碼的唯一方法是以亂碼(即十六進制)格式提供條形碼。

是否有任何內置的.NET框架功能,將可讀的字符串轉換爲需要掃描的不可讀的內容?它需要是可逆的。

回答

1

聽起來好像你希望用戶總是輸入整個字符串,而你的用戶忽略了部分字符串。爲了解決這個問題,您希望用戶只使用條形碼掃描儀。

但是你真的有三種選擇。

  1. 只打印出條形碼。他們不能輸入他們看不到的東西。然而,這是不好的,因爲如果條形碼被損壞,您將無法回退到用戶輸入

  2. 使用諸如System.Convert.ToBase64String之類的東西進行編碼。這很糟糕,因爲那麼您需要輸出SkExMjM0MTIzNA==這樣的值,JA12341234這很容易在用戶輸入時錯誤輸入。

  3. 使用校驗碼並將其附加到字符串。然後您可以拒絕錯誤輸入的代碼或條形碼掃描儀不正確讀取的代碼。缺點是沒有內置的可以直接轉換「JA2134」,你必須創建自己的校驗位功能。

+0

Thanks @Conrad。我也曾想過#1。另一個問題是資產的標識符印在他們身上(真的很大)。 #2聽起來像是一個不錯的選擇,但我會得到程序允許主管輸入正常版本。 – 2012-04-04 12:53:19

相關問題