End If End Sub
Private Sub Form_Load()
If ctrMSComm.PortOpen = True Then ctrMSComm.PortOpen = False End If
RecV.Locked = True RecvHead = False RecvType = False One = False IsStr = False RStr = \
SaveFileDial.CancelError = True SendFileDial.CancelError = True End Sub
Private Sub ctrMSComm_OnComm() 'Dim RecVStr As String
If ctrMSComm.PortOpen = True Then Dim RecVByte() As Byte Dim RecvLen, i As Integer On Error GoTo ErrorHandler RecVByte = ctrMSComm.Input
For i = LBound(RecVByte) To UBound(RecVByte) If RHead Then If RType Then If IsStr Then
If RecVByte(i) = 3 Then
RecV.Text = RecV.Text & \收到:\ RStr = \
- 25 -
RHead = False RType = False IsStr = False One = False Else If One Then
b(1) = RecVByte(i)
RStr = RStr & StrConv(b, vbUnicode) One = False Else
If RecVByte(i) > 127 Then b(0) = RecVByte(i) One = True Else
RStr = RStr & Chr(RecVByte(i)) End If End If End If Else
If RecVByte(i) = 3 Then
RecV.Text = RecV.Text & \vbCrLf
SaveFileDial.FileName = \ SaveFileDial.DialogTitle = \ SaveFileDial.DefaultExt = \
SaveFileDial.Filter = \ SaveFileDial.Action = 2
Open SaveFileDial.FileName For Output As #2 Print #2, RStr
现在收到文件请选择保存路径:\保存文件\- 26 -
RecV.Text = RecV.Text & \收到文件保存在:\& SaveFileDial.FileName & vbCrLf Close #2 RStr = \ RHead = False RType = False IsStr = False One = False Else If One Then
b(1) = RecVByte(i)
RStr = RStr & StrConv(b, vbUnicode) One = False Else
If RecVByte(i) > 127 Then b(0) = RecVByte(i) One = True Else
RStr = RStr & Chr(RecVByte(i)) End If End If End If End If Else
If RecVByte(i) = 1 Then RType = True IsStr = True
ElseIf RecVByte(i) = 2 Then 'SaveFile.Enabled = True RType = True
- 27 -
IsStr = False Else
RHead = False End If End If Else
If RecVByte(i) = 0 Then RHead = True End If End If Next i ErrorHandler:
Select Case Err.Number Case 32755
RecV.Text = RecV.Text & \你没有保存收到的文件!\ RStr = \ RHead = False RType = False IsStr = False One = False End Select Else
MsgBox (\请打开串口\End If End Sub
Private Sub SendData_Click() Dim str() As Byte
Sendstr = Chr(0) + Chr(1) + SendD.Text + Chr(13) + Chr(10) + Chr(3) str = StrConv(Sendstr, vbFromUnicode) ctrMSComm.Output = str
- 28 -
End Sub
Private Sub SendFile_Click() Dim InputData, Sendstr As String Dim SendData() As Byte
SendFileDial.FileName = \SendFileDial.DefaultExt = \
SendFileDial.Filter = \On Error GoTo ErrorHandler SendFileDial.Action = 1 Sendstr = \
Open SendFileDial.FileName For Input As #1 Do While Not EOF(1)
Line Input #1, InputData
Sendstr = Sendstr + InputData + vbCrLf Loop Close #1
Sendstr = Chr(0) + Chr(2) + Sendstr + Chr(3) SendData = StrConv(Sendstr, vbFromUnicode) ctrMSComm.Output = SendData
SendD.Text = SendD.Text & \已发送文件:\ErrorHandler:
Select Case Err.Number Case 32755
SendD.Text = SendD.Text & \你选择发送文件后又取消了!\End Select End Sub
Private Sub SettingOk_Click()
If ctrMSComm.PortOpen = False Then
- 29 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于spcp技术串口实现双机通信(7)在线全文阅读。
相关推荐: