Foxtable(狐表)用户栏目专家坐堂 → 串口监视器,DataReceived参数“Length”必须大于或等于 0


  共有2570人关注过本帖树形打印复制链接

主题:串口监视器,DataReceived参数“Length”必须大于或等于 0

帅哥哟,离线,有人找我吗?
tommyfung
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:183 积分:2014 威望:0 精华:0 注册:2013/2/28 18:11:00
串口监视器,DataReceived参数“Length”必须大于或等于 0  发帖心情 Post By:2021/7/14 10:51:00 [只看该作者]

串口监视器,DataReceived参数“Length”必须大于或等于 0。System.ArgumentException: 参数“Length”必须大于或等于 0。
   在 Microsoft.VisualBasic.Strings.Left(String str, Int32 Length)
   在 UserCode.DataReceived(DataReceivedEventArgs e)


不知道问题出在哪儿?谢谢!

Dim s As String
s = e.Port.ReadExisting()
's = "LBL11A1512109+UBS"


If len(s) < 3 Then Return

' * check COM Input Type : LBL = Scanner ID for Label Printing
If left(s,3) = "LBL" Then
    
    s = left( s, If(len(s)<25,22, s.IndexOf("LBL",17)) )
.....

End If
[此贴子已经被作者于2021/7/14 10:57:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/14 11:14:00 [只看该作者]

s = left( s, If(len(s)<25,22, s.IndexOf("LBL",17)) )
改为

if len(s)<25
s=  left( s, 22)
else
dim idx as integer = s.IndexOf("LBL",17)
if idx > -1 then
s=  left( s, idx)
end if
end if

 回到顶部