Foxtable(狐表)用户栏目专家坐堂 → [求助]返回字符串长度出错


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

主题:[求助]返回字符串长度出错

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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
[求助]返回字符串长度出错  发帖心情 Post By:2015/6/9 13:43:00 [只看该作者]

下面代码中,红色部分报错:索引和长度必须引用该字符串内的位置。参数名: length。请问,为什么,怎么修改?
    Dim xmmcjh As New List(Of String()) '项目名称_集合
    xmmcjh = DataTables("合同or费用台账").GetValues("项目代码|子项目代码") '列名用符号|分割_集合
    For Each xmmcsz As String() In xmmcjh '项目名称_数组
        Dim xmmc As String
        xmmc = String.join("|",xmmcsz)
        msgbox(xmmc)
        Dim xmdm As String '项目代码
        Dim zxmdm As String '子项目代码
        Dim wzz As Integer '| 出现位置长度
        Dim l As Integer '
        wzz = xmmc.IndexOf("|")
        msgbox(wzz)
        l = xmmc.Length
        xmdm = xmmc.SubString(0,wzz)
        zxmdm = xmmc.SubString(wzz + 1,l)
        msgbox(xmdm)
        msgbox(zxmdm)
   next

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/9 14:03:00 [只看该作者]

xmdm = xmmc.SubString(0,wzz)
        zxmdm = xmmc.SubString(wzz + 1,l)

错误代码是这两句 

你用SUbstring的话.要确保字符足够长.  否则你字符串长度为5 你要切割 1-10的字符串.肯定报错

加入if 判断

if xmmc.length >wzz then
 mdm = xmmc.SubString(0,wzz)
end if
if xmmc.length >=(wzz+1+I) then
 zxmdm = xmmc.SubString(wzz + 1,l)
end if

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/9 14:03:00 [只看该作者]

zxmdm = xmmc.SubString(wzz + 1,l)

 

改成

 

zxmdm = xmmc.SubString(wzz + 1)


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


加好友 发短信
等级:幼狐 帖子:151 积分:1110 威望:0 精华:0 注册:2015/1/24 15:26:00
  发帖心情 Post By:2015/6/9 14:56:00 [只看该作者]

谢谢Bin,谢谢大红袍,基础太差,出点错就不知所以。

 回到顶部