您的位置:程序门 -> vb -> 基础类



这个字串怎么赋值到字符串数组?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


这个字串怎么赋值到字符串数组?[已结贴,结贴人:hhec2008]
发表于:2007-04-25 20:18:53 楼主
这个字串怎么赋值到字符串数组?
dim   tdata   as   string
tdata= "680041680f85612345001100000128571299840000012486161539000001273220491885612345000000000009990000000001125f120f228f004f125f120f228f500000000000020000603e16 "
'掉前面的22个字符和后面的4个字符,这些字符是信息头(680041680f856123450011)校验符(3e)及信息结束符(16)

tdata   =   mid(tdata,   23,   len(tdata)   -   26)

这样一来:        
tdata   就等于: "00000128571299840000012486161539000001273220491885612345000000000009990000000001125f120f228f004f125f120f228f50000000000002000060 "
刚好剩下128个字符,我想把上面的字符   16   个字符为一组放到一个字符数组中,格式如下:
0000012857129984
0000012486161539
0000012732204918
8561234500000000
0009990000000001
125f120f228f004f
125f120f228f5000
0000000002000060

请问怎么处理比较方便,如果用for     ...next   循环可以吗?谢谢!
发表于:2007-04-25 20:48:491楼 得分:10
for   i=0   to   8
  debug.print   mid(tdata   ,i*16,16)
next
发表于:2007-04-25 20:57:122楼 得分:0
就用楼上的方法吧
发表于:2007-04-25 20:58:373楼 得分:0
楼上的老大,输出不正确啊,出错。
发表于:2007-04-25 21:01:494楼 得分:20
dim   tdata   as   string
tdata   =   "680041680f85612345001100000128571299840000012486161539000001273220491885612345000000000009990000000001125f120f228f004f125f120f228f500000000000020000603e16 "
'掉前面的22个字符和后面的4个字符,这些字符是信息头(680041680f856123450011)校验符(3e)及信息结束符(16)

tdata   =   mid(tdata,   23,   len(tdata)   -   26)
dim   arr(7)   as   string
dim   i   as   long
for   i   =   0   to   7
        arr(i)   =   mid(tdata,   i   *   16   +   1,   16)
        debug.print   arr(i)
next
发表于:2007-04-25 21:02:255楼 得分:20
dim   arr()   as   string
redim   arr(15)   as   string
for   i=0   to   7
arr(i)=mid(tdata,i*16+1,16)
next
发表于:2007-04-25 21:03:186楼 得分:0
来晚一步
发表于:2007-04-25 21:03:337楼 得分:0
现在,应该ok

ps:我是让你按照cathysun118(斯年)的思路写,不是让你着搬他的代码
发表于:2007-04-25 21:03:448楼 得分:0
好像这样可以:
        for   i   =   0   to   7
            if   i   =   0   then
                  debug.print   mid(tdata,   1,   16)
            else
                  debug.print   mid(tdata,   i   *   16   +   1,   16)
            end   if
        next

  可否循环时把截取的字符丢掉,进行退减来获取呢?

还有没有更高效的办法啊,谢谢
发表于:2007-04-25 21:04:049楼 得分:0
数组应该是16位的哦
发表于:2007-04-25 21:08:3610楼 得分:0
哈哈,还是高手厉害。

要结贴了,大家还有没有更好的办法,继续。

下班前结贴!谢谢,辛苦了!


快速检索

最新资讯
热门点击