用VB 寫一個串口通訊的上位機,有許多按鍵發送資料,但是每個按鍵按下后發送內容都類似,只是個別位元組不一樣,目前是一個按鍵click事件一個函式來寫的,基本都是復制粘貼,再改細節。
不知道有沒有簡單的方法,用一個函式來寫,用引數的方法把按鍵號和區別的位元組資料傳進去,這樣也容易維護;
或者有其他的什么方法實作這種功能。
Private Sub Command21_Click()
Dim Data(4) As Byte
If Form1.MSComm1.PortOpen = False Then
MsgBox "【請打開串口】", vbOKOnly, "提示"
Else
If Len(Text1.Text) = 0 Then
MsgBox " 請輸入地址號!", vbOKOnly, "Warning"
GoTo finish
End If
Data(0) = &HAA
Data(1) = Val(Text1.Text)
Data(2) = &H14
Data(3) = &HB
Data(4) = &H11
Form1.MSComm1.Output = Data
Command21.BackColor = &HC000&
Command22.BackColor = &H8000000F
finish:
End If
End Sub
uj5u.com熱心網友回復:
用控制元件陣列唄。在事件程序中,按“控制元件索引號”區分是哪個控制元件、處理相應的“不同資料”區。
uj5u.com熱心網友回復:
研究一下VB的控制元件陣列uj5u.com熱心網友回復:
控制元件陣列的事件,會增加一個 Index 引數來區別當前控制元件。uj5u.com熱心網友回復:
宣告發送位元組全域變數,在每個按鍵Click事件中對可能更改位元組賦值,并執行發送程序。串口在表單加載時就打開。不用MsgBox陳述句。在程序中執行指令發送。uj5u.com熱心網友回復:
用控制元件陣列的話可以這么干:Private Sub Text1_Click()
for i =0 to text1.count-1
text1(i).text="OK"
next i
End Sub
不用控制元件陣列的話可以這么干:
Private Sub Text1_Click()
text1.text="OK"
End Sub
Private Sub Text2_Click()
call Text1_Click()
End Sub
.......
TEXT3 4 5 6 7 ...同理
uj5u.com熱心網友回復:
用控制元件陣列。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/50024.html
標籤:控件
