Foxtable(狐表)用户栏目专家坐堂 → [求助]读com端口,索引超出了数组界限


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

主题:[求助]读com端口,索引超出了数组界限

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
[求助]读com端口,索引超出了数组界限  发帖心情 Post By:2018/4/24 17:21:00 [显示全部帖子]

老师 我下面代码 在计时器读取com1的GPS数据,有时会出现:

.NET Framework 版本:2.0.50727.5472
Foxtable 版本:2018.3.9.1
错误所在事件:窗口,GPS接收,TimerTick
详细错误信息:
索引超出了数组界限。

问题在哪里?   怎么处理?

Dim s As String
Dim COMStr As String = e.Form.Controls("ComboBox_com").value
s = Ports(COMStr).ReadExisting

If S.Length  > 0 AndAlso S.Contains("$GPGGA") Then    '判断是否含有 字符串 "$GPGGA"
    S = S.Remove(0,S.IndexOf("$GPGGA"))
Else
    Return
End If

Dim rs1() As String = s.Split(vbcrlf )

Dim rs_max,rs_long As Integer
rs_max = 20
rs_long = rs1.Length -1
If rs_max < rs1.Length Then
    rs_long = rs_max
End If
For  i  As Integer = 0 To rs_long -1
    Dim cs1() As String = rs1(i).Split(",")
    If cs1.Length = 15 And cs1(0) = "$GPGGA" And cs1(6) = "1"   Then
        e.Form.Controls("TextBox_GPStxt").value = rs1(i)
        e.Form.Controls("TextBox_gpsn").value = cs1(7)     '   卫星数
    End If
Next


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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2018/4/24 19:25:00 [显示全部帖子]

嗯嗯   大部分是 15,13,18,20

 回到顶部