以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]提示startindex 不能大于字符串长度 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113812) |
||||
-- 作者:YDS -- 发布时间:2018/1/23 15:47:00 -- [求助]提示startindex 不能大于字符串长度 If vars("g") = 1 Then If vars("js") >= 3 And vars("js") <= 7 Then Dim cnt As Integer = Ports(vars("com1")).BytesToRead If cnt > 7 Then \'缓冲区是否有数据 Dim V(cnt - 1) As Byte Ports(vars("com1")).Read(V,0,cnt) Dim str As String = V(0) For x As Integer = 1 To cnt - 1 str = str & "-" & V(x) Next If str.Contains("0-0-0") Then str = str.Replace("0-0-0","0") Else If str.Contains("-0-") Then str = str.Replace("-0-","-") End If End If Dim Values() As String Dim s1,s2 As String Values = str.split("-") If Values.Length = 8 Then s1 = DecToBin(Values(3)) & DecToBin(Values(2)) s2 = DecToBin(Values(5)) & DecToBin(Values(4)) s1 = BinToDec(s1) s2 = BinToDec(s2) e.form.Controls("TextBox" & vars("js") & "1").text = s1 e.form.Controls("TextBox" & vars("js") & "2").text = s2 End If End If End If Dim i,i1 As Integer If vars("js") = 7 Or vars("js") < 3 Then i = 3 Else i = vars("js") + 1 End If i1 = i + 112 Dim Val() As Byte = New Byte() {1,112,i,i1,2} vars("js") = i Ports(vars("com1")).Write(Val, 0, Val.Length) End If 这段代码在主窗口 TimerTick 请问哪里出问题了
|
||||
-- 作者:有点甜 -- 发布时间:2018/1/23 15:56:00 -- 这段代码不应该有问题,加入msgbox定位出错位置。可能触发了其它事件导致的。 |
||||
-- 作者:YDS -- 发布时间:2018/1/24 13:10:00 --
请帮忙看一下,谢谢
|
||||
-- 作者:有点甜 -- 发布时间:2018/1/24 15:14:00 -- 你上传的实例,别人无法直接测试的啊。请自行加入msgbox,定位哪句代码出错
http://www.foxtable.com/webhelp/scr/1485.htm
|