vb接收数据解码问题
下位机会发送上来一串字符串,如“t298y03t298y03”怎样才能在接受到数据时完成,text1.text=298text2.text=03呢我写的代码时这样的Pri...
下位机会发送上来一串字符串,如“t298y03t298y03”
怎样才能在接受到数据时完成,text1.text=298 text2.text=03呢
我写的代码时这样的
Private Sub command1_Click()
If Winsock1.State = sckClosed Then
Winsock1.RemoteHost = "192.168.11.254"
Winsock1.RemotePort = 8080
Winsock1.Connect
End If
End Sub
'-----------------------------------
' 接受数据
'-----------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim myStr As String
Dim buffer As String
Dim wendu As String
Dim yanwu As String
'调用GetData方法接收数据
Winsock1.GetData myStr
buffer = myStr
myStr = Fix(buffer / 10000)
wendu = Fix(myStr / 100)
wendu = wendu / 10
yanwu = myStr Mod 100
myStr = ""
Text1.Text = wendu
Text2.Text = yanwu
'Option1.Value = True
End Sub
求指正,指点,谢谢 展开
怎样才能在接受到数据时完成,text1.text=298 text2.text=03呢
我写的代码时这样的
Private Sub command1_Click()
If Winsock1.State = sckClosed Then
Winsock1.RemoteHost = "192.168.11.254"
Winsock1.RemotePort = 8080
Winsock1.Connect
End If
End Sub
'-----------------------------------
' 接受数据
'-----------------------------------
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim myStr As String
Dim buffer As String
Dim wendu As String
Dim yanwu As String
'调用GetData方法接收数据
Winsock1.GetData myStr
buffer = myStr
myStr = Fix(buffer / 10000)
wendu = Fix(myStr / 100)
wendu = wendu / 10
yanwu = myStr Mod 100
myStr = ""
Text1.Text = wendu
Text2.Text = yanwu
'Option1.Value = True
End Sub
求指正,指点,谢谢 展开
2个回答
推荐于2016-12-06 · 知道合伙人软件行家
关注
展开全部
使用Mid 函数来解析字符串。
Mid 函数
返回 Variant (String),其中包含字符串中指定数量的字符。
Mid 函数示例
本示例使用 Mid 语句来得到某个字符串中的几个字符。
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" 建立一个字符串。
FirstWord = Mid(MyString, 1, 3) ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4) ' 返回 "Demo"。
MidWords = Mid(MyString, 5) ' 返回 "Funcion Demo"。
更多追问追答
追问
这样做不会溢出吗?
每次收到的字符串长度有点不一样的
追答
从接收的字符串看,似乎是数字夹在字母间,可将字符串接收后先将除数字外所有字母替换为一个单一的非数字字符,这是用Replace函数实现。而后可用Split函数将字符串拆分成数字组成字符串的数组,按需取出。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询