Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用vb.net实现条码扫描_C#_Vb.net_Barcode - Fatal编程技术网

C# 用vb.net实现条码扫描

C# 用vb.net实现条码扫描,c#,vb.net,barcode,C#,Vb.net,Barcode,我正在做一个桌面应用程序。 我想在此添加条形码读取功能。 在我的应用程序中,所有产品的价格标签上都会有条形码。 我将使用一些条形码扫描仪进行扫描。 但我对所有这些都没有想法。 有人能给出apme示例代码或一些参考吗?大多数可用的条形码扫描仪都模拟键盘。它们带有配置条形码,您可以将其配置为执行不同的操作,例如扫描后在代码末尾包含回车符。因此,扫描代码后,它将显示在屏幕上,就像是键入的一样(例如,如果文本框有焦点)。对于COM over USB,您需要COM端口号(在设备管理器中查看),比如COM1

我正在做一个桌面应用程序。 我想在此添加条形码读取功能。 在我的应用程序中,所有产品的价格标签上都会有条形码。 我将使用一些条形码扫描仪进行扫描。 但我对所有这些都没有想法。
有人能给出apme示例代码或一些参考吗?

大多数可用的条形码扫描仪都模拟键盘。它们带有配置条形码,您可以将其配置为执行不同的操作,例如扫描后在代码末尾包含回车符。因此,扫描代码后,它将显示在屏幕上,就像是键入的一样(例如,如果文本框有焦点)。

对于COM over USB,您需要COM端口号(在设备管理器中查看),比如COM15 使用VB.net使用System.IO.Ports.SerialPort类:

Dim comPort As New SerialPort("COM15") 'New com port'
Dim terminatingChar As Char = Chr(10) 'Terminate at vbLF (new line)'

comPort.BaudRate = 9600 '9600 baud speed'
comPort.Encoding = Encoding.ASCII 'Decode the bytes via ASCII code'

comPort.Open() 'Open the port'

Dim myBarcode as String = "" 'Current barcode is empty'

While True'Read chars until the terminating char appears'
    Dim tempChar as Char = Convert.ToChar(comPort.ReadChar()) 'Read a char'
    If tempChar = terminatingChar Then Exit While 'If its the terminating char, exit the loop'
    myBarcode = myBarcode & tempChar 'If not append it to the barcode string'
End While

comPort.Close() '(!) Close the port'

Console.WriteLine(myBarcode.Trim()) 'Trim it and show it to the user'

你有硬件条形码扫描仪吗?或者你不想使用摄像头和图像处理吗?@TEAM-ALPHA-我将使用硬件设备。客户稍后会给我们…首先我必须收集代码。我已经搜索了很多…但是没有得到一些结果设备使用什么接口?PS/2或COM(可能是USB上的虚拟COM)?我将使用COM使用USBAre您是否使用TWAIN处理扫描部分?条形码扫描仪支持TWAIN吗?如果是,您可以使用TWAIN规范中提供的ICAP_条形码检测启用来启用该功能。不需要代码。它模拟键盘。这意味着,当扫描仪读入一组字符时,它会将这些字符发送到计算机,假装是键盘。尝试一下,插入条形码扫描仪并打开文本编辑器(例如记事本)。扫描条形码,代码会出现在编辑器窗口中。对于vb.net表单,我该怎么办?你说它是一个com over usb,但对于ps2,只需制作一个文本框,并在文本更改时注册一个事件,在事件中查看它是否为换行符,然后你得到了条形码注释:它可能会变得比这更复杂,因为条形码扫描器可以配置任意数量的终止字符,在这种情况下,你需要拆分自己在代码中收到的字符串。这还假设条形码扫描仪使用的默认COM端口设置9600,8,n,1也可以更改。我编辑了我的帖子,以便您可以更改波特率、编码和终止字符(在本例中为空格字符),我不确定这是否是有效的vb.net代码,我从3年后就停止了对vb的编程您的
循环无效,
ReadChar
返回一个整数而不是一个字符加上终止符可能不止一个字符
CR+LF
非常常见,而循环应该(我认为)是
,而True
,CR+LF并不重要,因为可以修剪CR并在LF处终止。整数到字符现在已修复