串口接收数据如何只显示我需要的字符串和符号

时间:2021-06-01 23:44:09
我想串口接收到数据以后只显示我需要的字符在文本text1中,我的代码如下,我这样写的话在TEXT1文本中只能输入我指定的字符或符号,但是从串口接收到数据以后无论是什么字符都会显示在Text1中,我要怎么改呢??

Public Function Alphabet_Digit_Only(ByVal KeyAscii As Integer) As Integer
Select Case KeyAscii
   Case 8, 45, 24147, 33, 40, 59, 41, 58, 46, 44, 32, 9, 13, &H30 To &H39, Asc("A") To Asc("Z"), Asc("a") To Asc("z"), Asc("0") To Asc("9")
     Alphabet_Digit_Only = KeyAscii
   Case Else
     Alphabet_Digit_Only = 0
   End Select

End Function


Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Alphabet_Digit_Only(KeyAscii)
End Sub

3 个解决方案

#1


Private Sub Text1_TextChanged

#2


你这是键盘向textbox输入时限制指定字符的方法吧,从串口读到的数据直接for循环判断一遍不就得了?直接写在OnComm里面
而且他向textbox写也不能触发keypress事件

#3


方法很多,例如在 Text1_Change 事件中,用正则表达式过滤一下。

#1


Private Sub Text1_TextChanged

#2


你这是键盘向textbox输入时限制指定字符的方法吧,从串口读到的数据直接for循环判断一遍不就得了?直接写在OnComm里面
而且他向textbox写也不能触发keypress事件

#3


方法很多,例如在 Text1_Change 事件中,用正则表达式过滤一下。