十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在條碼掃描應用的開發(fā)過程中,一個重要的步驟是獲取掃描槍所掃描的條碼,并將條碼存儲在數(shù)據(jù)庫中。
條碼有一定的限制條件:
1、條碼類型為一維條碼。
2、條碼長度為8位。
3、條碼首位為字母,后7位為數(shù)字。
只有符合條件的條碼,例如:A1234567,才能獲得通過。
了解到掃描槍同鍵盤相似,能夠觸發(fā)OnKeyPress、OnKeyDown、OnKeyUp事件,一般的掃描槍,在掃描完條碼后會默認自動加個“回車”。比如掃描“A1234567”,實際是返回“A1234567回車”。明白了這一點,編碼就很簡單了。
c#:
using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.ute1.Focus(); } private void ute1_KeyPress(object sender, KeyPressEventArgs e) { // 判斷是否為回車鍵,是回車鍵才能執(zhí)行 if (e.KeyChar == 13) { // 獲取文本框中的最后8為字符 string barcode = ute1.Text.Substring(ute1.Text.Length - 8, 8).ToUpper(); // 檢查8位字符是否符合要求 if (!BarcodeUtility.CheckBarcode(barcode)) { // 符合要求的8位條碼 ul.Text = barcode; // 執(zhí)行數(shù)據(jù)庫保存程序 // ...... } else { ul.Text = "條碼掃描錯誤"; } // 將文本框1清除 ute1.Clear(); ute1.Focus(); } } } }
VB.NET:
Imports WindowsApplication1.Class1 Public Class BarcodeChcek Private Sub BarcodeChcek_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TextBox1.Focus() End Sub Private Sub TextBox1_KeyDown(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown '判斷是否為回車鍵,是回車鍵才能執(zhí)行 If e.KeyCode = 13 Then '獲取文本框中的最后8為字符 Dim barcode As String barcode = Microsoft.VisualBasic.Right(Me.TextBox1.Text, 8) '檢查8位字符是否符合要求 If mCodeCheck(barcode) = True Then Me.Label1.Text = "條碼掃描錯誤" Else '符合要求的8位條碼 Me.Label1.Text = barcode End If '將文本框1清除 Me.TextBox1.Clear() Me.TextBox1.Focus() End If End Sub End Class
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。