在設計時,使用者必須先知道自己的電腦對外連線的輸出埠(Com port)並連結,才能讓電腦透過藍芽連線裝置。
然而,如果能夠設計一程式,讓電腦在開啟軟體後,能夠自動偵測與連結電腦現有的輸出埠,而無須使用者去指定,便能增加其便利性。
換句話說,電腦到底選中哪一個輸出埠,交由軟體自己去尋找與連線,而不再經由使用者去確認與指定。
我的作法是:
ˋ
上圖即VB建構的一個畫面,畫面上方做一個MenuStrip,裡面的item包含Connect 、Disconnect
以及結束。
當按下[connect]的item,程式碼相對應的內容如下:
Private Sub ComPortConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComPortConnect.Click------
Dim com_port As String = ""
For Each sp As String In My.Computer.Ports.SerialPortNames
com_port = sp
Next
SerialPort1.PortName = com_port
SerialPort1.Open()
ConnStatus.Text = com_port + " is Connected"
End Sub
其中:
1.ComPortConnect_Click() 代表按下該item後即將完成的動作行為
2. Dim com_port As String ="": 宣告com_port為字串變數,其初始值為空字串
3. For Each sp.....:這一段的敘述,讓電腦自動尋找已建立的com port name有哪些,其結果回傳給sp變數,並指定給com_port
4. SerialPort1.PortName = com_port: 指定SerialPort的PortName為被找到的com_port
5. SerialPort1.Open( ): 開啟該com_port的序列埠
6. ConnStatus是畫面裏頭的文字方塊(TextBox),當連線成功,則在該TextBox顯示COM(x) is connected!
當按下[Disconnect]的item,相對應程式碼如下:
SerialPort1.Close()
ConnStatus.Text = "Wait to connect!"
上述意思是:
把SerialPort開啟的序列埠關閉,並於文字方塊顯示Wait to connect!
謝謝老師的分享,您的VB教學可以當作高中職的VB配合NXT教材!^_^
回覆刪除謝謝您的指教,請問您也是教師嗎?
回覆刪除真不好意思,我忘了署名,我是探奇邱信仁。
回覆刪除哈哈~邱老師!害我分辨不出來 ^_^
回覆刪除