我有一个当前正在使用 SDK 的简单应用程序,但这会导致内存问题,并且我还希望该应用程序可以在多种手持扫描仪类型上运行,而无需针对每个平台重做,如果可能的话。所以我决定使用数据楔。
扫描的文本从数据楔读入文本框(一次一个字符),问题是来自扫描仪的输入可以是不同的长度,所以我需要捕获默认的 [CR][LF](马车返回和换行)在后置码中设置的字符。
我尝试将字符串的最后一个字符与 Chr(13) 和 Chr(10) 进行比较,但无法正常工作。我正在使用文本框的 TextChanged 属性来检查框的输入 -
Private Sub tbx_Scan_TextChanged() Handles TBX_Scan.TextChanged
如果找到行尾,则希望从此函数返回有效结果
Public Function CheckLocationInput(ByVal inputString As String) As String
If (Len(inputString) >= 5) And (Len(inputString) <= 40) Then
If inputString.Contains(Environment.NewLine) Then
Return "VALID" 'Opens the Item Input Screen
End If
但是 [CR] 和 [LF] 字符似乎没有输入到文本框中,或者至少看不到阅读。基本上我要做的就是检查数据楔形输入的结尾。如果我将后同步码更改为字符串,我可以做到这一点,例如 '~E%'
我知道反对这样做的论据,但它应该是一个简单的应用程序,所以我很感激不,“你应该使用 SDK”的答案。
那么使用 VB.net 和/或 C# 从 data-wedge 输入捕获不可打印字符的最佳方法是什么?
谢谢你。