?? 一個關于vb中mscomm控件的問題.txt
字號:
一個關于vb中MScomm控件的問題
各位高手:
本人新手想學習用mscomm做串口通信程序.為便于測試,我將pc上兩個com口用串口線相連.想開發一小程序,實現功能如下:用兩個mscomm控件在同一pc上實現通信,一個mscomm負責向com1口發送數據,另一mscomm負責從com2口接收數據,當在文本框中輸入文本點發送按鈕后利用mscount控件將輸入文本發送至com1口,當com2口接受到數據后彈出對話框告訴收到數據,并將收到文本顯示在另一文本框內.我寫了一個程序但沒有反應請大家幫忙解決一下(如果我的程序行不通,請給段實例代碼)謝謝:
Private Sub cmdsent_Click()
Dim strsent As String
strsent = Trim(txtsent.Text)
If (strsent = "") Then
MsgBox "發送數據不能為空!", vbOKOnly, "提示"
txtsent.SetFocus
Else
comsent.Output = strsent
MsgBox "已經執行發送!", vbOKOnly, "提示"
End If
End Sub
Private Sub comreceive_OnComm()
MsgBox "收到!"
txtreceive.Text = comreceive.Input
End Sub
Private Sub Form_Activate()
comsent.CommPort = 1
comsent.PortOpen = True
comsent.InputMode = comInputModeText
comsent.InputLen = 20
comreceive.CommPort = 2
comreceive.PortOpen = True
comreceive.InputMode = comInputModeText
comreceive.InputLen = 20
'其余屬性均按默認設置
End Sub
期待大家回復謝謝了
提問者: 煙籠寒水霧籠沙 - 試用期 一級
最佳答案
你的代碼中的
MsgBox "已經執行發送!", vbOKOnly, "提示"
語句中斷了接收事件,所以接收文本框未見顯示,代碼修改如下:
Private Sub cmdsent_Click()
Dim strsent As String
strsent = Trim(txtsent.Text)
If (strsent = "") Then
MsgBox "發送數據不能為空!", vbOKOnly, "提示"
txtsent.SetFocus
Else
comsent.Output = strsent
'MsgBox "已經執行發送!", vbOKOnly, "提示"
End If
End Sub
Private Sub comreceive_OnComm()
Select Case comreceive.CommEvent
Case comEvReceive
comreceive.InputMode = comInputModeText 'ASCII接收
txtreceive.Text = comreceive.Input
MsgBox "收到!"
End Select
End Sub
Private Sub Form_Load()
txtreceive = ""
comsent.CommPort = 1
comsent.PortOpen = True
comreceive.CommPort = 2
comreceive.PortOpen = True
comreceive.RThreshold = 1
'其余屬性均按默認設置
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -