Visual Basic 型態不符的問題(20點) 急!!
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
End Sub
Private Sub Command1_Click()
Buf = Trim(Text1.Text)
MSComm1.Output = Chr(Buf)<<<<<<這 型態不符
End Sub
Private Sub Command2_Click()
MSComm1.Output = Chr(1)
End Sub
Private Sub Command3_Click()
MSComm1.Output = Chr(2)
End Sub
Private Sub Command4_Click()
MSComm1.Output = Chr(3)
End Sub
Private Sub Command5_Click()
MSComm1.PortOpen = False
End Sub
回答 (2)
✔ 最佳答案
MSComm1.Output = Chr(Buf)<<<<<<這 型態不符
改
MSComm1.Output = Buf
MSComm1.Output = Chr(Buf)<<<<<<這 型態不符
因為這BUF是STRING 而不是 CHAR的. 所以就出現型態不符的問題出來.
因為你看到其他的程式碼
MSComm1.Output = Chr(2)
MSComm1.Output = Chr(3)
CHR()的格式只接受一個字元的, 所以Chr(Buf)的BUF是一個字串, 就算他只有一個字元, 他還是一個字串型態
現在你只可以把BUF變為字元型態才行.
例如:
dim tmpCharArray() as char = BUF.toCharArray
MSComm1.Output = tmpCharArray(X)
這裡的X是可以0,1,2 ... 其中一個
2010-06-16 00:43:15 補充:
補充: CHR()是一個傳回一個ASCII碼的函式. 例如 Chr(65) 他的值就是 'A'
2010-06-23 11:02:18 補充:
現在你只有兩個選擇
1.
dim tmpCharArray() as char = BUF.toCharArray
MSComm1.Output = tmpCharArray(X)
2.
MSComm1.Output = BUF
參考: 不明白再問, MSDN
收錄日期: 2021-05-01 22:58:05
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100615000016KK09401
檢視 Wayback Machine 備份