温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

条码扫描程序

发布时间:2020-05-26 18:22:34 来源:网络 阅读:2959 作者:mamaosheng 栏目:编程语言

在条码扫描应用的开发过程中,一个重要的步骤是获取扫描枪所扫描的条码,并将条码存储在数据库中。

条码有一定的限制条件:

1、条码类型为一维条码。

2、条码长度为8位。

3、条码首位为字母,后7位为数字。

只有符合条件的条码,例如:A1234567,才能获得通过。

了解到扫描枪同键盘相似,能够触发OnKeyPressOnKeyDownOnKeyUp事件,一般的扫描枪,在扫描完条码后会默认自动加个“回车”。比如扫描“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)
{
// 判断是否为回车键,是回车键才能执行
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;
// 执行数据库保存程序
// ......
}
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
'判断是否为回车键,是回车键才能执行
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

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI