| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 405 人关注过本帖
标题:下标越界
只看楼主 加入收藏
lovechang198
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-7-19
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:3 
下标越界
图片附件: 游客没有浏览图片的权限,请 登录注册



我是超级新手,求大侠指教为什么会下标越界呢?
2013-07-29 16:15
lovechang198
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-7-19
收藏
得分:0 
谢谢诸位,我知道了,b我没有指定具体的维数,j=0 to 5  中应该把5改成ubound(b)即可
2013-07-29 16:30
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
temp=replace(........   这行,容易导致出错。
修改为

   temp=station(i)            '给初值
do   
   j=len(temp)                        '取长度
   temp=replace(temp,"  "," ")        '替换
loop while j<>len(temp)               '如果替换后的长度不等于替换前的长度,继续替换

另外,需要考虑 station(i) 为空的情况,也就是在读取 数据时,要先判断一下数据是否为空,如果为空,需要跳过该行。

[ 本帖最后由 风吹过b 于 2013-7-29 17:35 编辑 ]

授人于鱼,不如授人于渔
早已停用QQ了
2013-07-29 17:34
lovechang198
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-7-19
收藏
得分:0 
回复 3楼 风吹过b
真的很谢谢你,我这样确实容易出错,因为我是超级菜鸟,而且对编程又是比较不在行。

就是关于你说的空行不读的问题,我就想问一下如果是末尾行是空行怎么解决?
另外您看这一段代码
Dim i As Integer, arr() As Integer
s = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
While InStr(s, "  ") '空格处理
  s = Replace(s, "  ", " ")
Wend
s1 = Split(s, vbCrLf) '分行处理
这样做我把txt的所有字符行全都读入了,但是其中有些是我不想要的,比如前几行,我该怎么做呢?有时候就因为这个行数的原因总是导致下标超界的问题,烦恼不已
试了很多办法但都感觉是治标不治本,虽然能做出来,但是对于以后如果碰到不是这个固定行数的文件就又要修改读入的代码。。。


此外比如我有2w行,这其中包括前5行没用的,还有后面的2w-5行数据的头一列是从0 to 2w-4,我有一列我需要读入的行数,比如
    a(1)=5,a(2)=264,....一直到a(10)=n,这样很随机的一组数,我就要读这2w-5行中的这些行有什么简便的方法么,
最笨的当然是做一个循环从1到10,然后比较a(i)=data(j,0)了,然后输出j,在赋值就可以解决,但是觉得比较麻烦,应该有更简单的办法吧?
最后再次感谢你的热心帮助。
谢谢
2013-07-30 21:06
快速回复:下标越界
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017958 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved