实例介绍
【实例简介】
这是通过rs232串口学习的好例子
【实例截图】

【核心代码】
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Bar Code Reader"
ClientHeight = 3465
ClientLeft = 2250
ClientTop = 2370
ClientWidth = 7080
LinkTopic = "Form1"
ScaleHeight = 3465
ScaleWidth = 7080
Begin VB.ListBox List1
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 2580
Left = 3465
TabIndex = 4
Top = 450
Width = 3435
End
Begin VB.CommandButton Command2
Caption = "结束系统"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 855
Left = 495
TabIndex = 2
Top = 2280
Width = 1935
End
Begin MSCommLib.MSComm MSComm1
Left = 2700
Top = 2430
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
CommPort = 2
DTREnable = -1 'True
RThreshold = 1
End
Begin VB.Label lblCode
AutoSize = -1 'True
Caption = "?????"
BeginProperty Font
Name = "Times New Roman"
Size = 14.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 330
Left = 270
TabIndex = 3
Top = 450
Width = 750
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "条形码列表"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 1
Left = 3480
TabIndex = 1
Top = 120
Width = 1200
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "现在条形码值"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 240
Index = 0
Left = 240
TabIndex = 0
Top = 120
Width = 1440
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim GotStr$ '接收到的数据
''''''''''''''''''''''''''''''''''''''''''''''
'使用命令按钮控件
'将OFF字符串指令以Output指令送出,关闭噪音计
'接着关闭通信端口,并结束系统
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command2_Click()
MSComm1.PortOpen = False
End
End Sub
''''''''''''''''''''''''''''''''''''''''''''''
'窗体的加载事件
'清空ListBox控件
'首先打开通信端口
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
List1.Clear
MSComm1.PortOpen = True
End Sub
''''''''''''''''''''''''''''''''''''''''''''''
'通信控件的事件程序
'由读条形码器所传的信息均以事件的方式接收
'确定一笔数据接收完毕后,就清空缓冲区
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub MSComm1_OnComm()
Dim CrPos%
Select Case MSComm1.CommEvent
' 借着取代底下每一个 case 语句来处理每个事件与错误
' 事件
Case comEvCD ' CD 线的状态发生变化.
Case comEvCTS ' CTS 线的状态发生变化.
Case comEvDSR ' DSR 线的状态发生变化.
Case comEvRing ' Ring Indicator 变化.
Case comEvReceive ' 收到 RThreshold # of
GotStr = GotStr Trim(MSComm1.Input) '将数据不断地接入
CrPos = InStr(1, GotStr, Chr(13)) '判断是否遇到结尾字符
'若已收到结尾字符则进行以下的作业
If CrPos <> 0 Then
'显示新值
lblCode.Caption = GotStr
'填入List控件
List1.AddItem Mid(GotStr, 1, CrPos - 1)
List1.ListIndex = List1.ListCount - 1
GotStr = "" '清空接收字符串
End If
Case comEvSend ' 传输缓存区有 Sthreshold 个字符 '
End Select
End Sub
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论