Dim inbuff() As Byte
Dim x As Integer ''''''''''''''''''''''''''''''''''''''''定义为全局变量,那么x就会记住以前的,反之,若是定义在oncommon里面,每次触发事件都会重新开始
Dim i As Integer
Dim nowstr(30) As Byte
Private Sub Command1_Click()
Text1 = ""
End SubPrivate Sub Form_Load() 'MSComm1初始化 MSComm1.CommPort = 5
MSComm1.Settings = "1200,e,8,1" MSComm1.InBufferSize = 1024 MSComm1.InputMode = comInputModeBinary MSComm1.RThreshold = 1 MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.InBufferCount = 0 '清除接收缓冲区
End Sub
Private Sub MSComm1_OnComm()
Dim strHex As String
Dim ll As Integer
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
inbuff = MSComm1.Input
strHex = strHex & Right("0" & Hex(inbuff(0)), 2) & " "
Text1 = Text1 + strHex
nowstr(x) = inbuff(0)
x = x + 1
If Right("0" & Hex(inbuff(0)), 2) = "16" Then xianshi
End SelectEnd Sub
Public Sub xianshi()
Dim vot3 As String
vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33
Text2 = vot3
End SubPrivate Sub ComCvot_Click()
Dim OutBuffer() As Byte
Dim tem As Variant
Dim e As Integer
Dim q As Integer
Dim LenOfText As Integer
Dim Bvot As String
Dim ShuruText As String
Bvot = "6858000000000068010243c33116"
ShuruText = Bvot
LenOfText = Len(ShuruText) \ 2 - 1
ReDim OutBuffer(LenOfText)
q = 0
For e = 1 To Len(ShuruText) Step 2
tem = Mid(ShuruText, e, 2)
OutBuffer(q) = Val("&H" & tem)
q = q + 1
Next
MSComm1.Output = OutBuffer
x = 0
End Sub
对于 vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33这一句,我如何能实现把接受到的bcd码A4和33运算呢?
Dim x As Integer ''''''''''''''''''''''''''''''''''''''''定义为全局变量,那么x就会记住以前的,反之,若是定义在oncommon里面,每次触发事件都会重新开始
Dim i As Integer
Dim nowstr(30) As Byte
Private Sub Command1_Click()
Text1 = ""
End SubPrivate Sub Form_Load() 'MSComm1初始化 MSComm1.CommPort = 5
MSComm1.Settings = "1200,e,8,1" MSComm1.InBufferSize = 1024 MSComm1.InputMode = comInputModeBinary MSComm1.RThreshold = 1 MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.InBufferCount = 0 '清除接收缓冲区
End Sub
Private Sub MSComm1_OnComm()
Dim strHex As String
Dim ll As Integer
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
inbuff = MSComm1.Input
strHex = strHex & Right("0" & Hex(inbuff(0)), 2) & " "
Text1 = Text1 + strHex
nowstr(x) = inbuff(0)
x = x + 1
If Right("0" & Hex(inbuff(0)), 2) = "16" Then xianshi
End SelectEnd Sub
Public Sub xianshi()
Dim vot3 As String
vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33
Text2 = vot3
End SubPrivate Sub ComCvot_Click()
Dim OutBuffer() As Byte
Dim tem As Variant
Dim e As Integer
Dim q As Integer
Dim LenOfText As Integer
Dim Bvot As String
Dim ShuruText As String
Bvot = "6858000000000068010243c33116"
ShuruText = Bvot
LenOfText = Len(ShuruText) \ 2 - 1
ReDim OutBuffer(LenOfText)
q = 0
For e = 1 To Len(ShuruText) Step 2
tem = Mid(ShuruText, e, 2)
OutBuffer(q) = Val("&H" & tem)
q = q + 1
Next
MSComm1.Output = OutBuffer
x = 0
End Sub
对于 vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33这一句,我如何能实现把接受到的bcd码A4和33运算呢?
解决方案 »
- VB控件问题!!!!!
- 我用DataGrid控件连接一个Adodc显示所有的记录,为什么Delete的时候出错?
- 我打印第一页都是白页怎么解决?
- Picturebox控件里怎么打印字符串?有没有print这个方法?
- 数据读取更新问题,在线等待!!!!!!!!!!!!!!!!!!!
- 请问winsock本身有无时间限定?可否知道.send方法的内部处理过程?
- 使用下面sql语句,需要处理记录很多,运行速度很慢,有没有更好的办法
- vb中用SQL查询统计问题~~~
- 使用ADO打开两个表(join),为什么不能update?题是错误:缺少更新或刷新的键列信息。(800040005)
- 如何用VB做向网上发布信息?
- vb select case 嵌套问题
- 我的电脑的主题是XP样式,我的游览器也是XP颜色,代码是什么
LZ可以这么来看:
Private Sub Command1_Click()
Dim sj As String
sj = "A4"
Text1 = Val("&H" & Mid(sj, 1, 1)) * 10 + Val("&H" & Mid(sj, 2, 1)) - 33
End Sub得到BCD码A4的10进制值71,这完全符合余3码BCD码.