ASP-高手指点!Microsoft VBScript 运行时错误 '800a0009'下标越界: '[number: 1]'

MicrosoftVBScript运行时错误'800a0009'下标越界:'[number:1]'\fun\funlogic.asp,line321代码多,HI里发Mic... Microsoft VBScript 运行时错误 '800a0009'

下标越界: '[number: 1]'

\fun\funlogic.asp, line 321

代码多,HI里发
Microsoft VBScript 运行时错误 '800a0009'

下标越界: '[number: 1]'

\fun\funlogic.asp, line 318
318行错,

一下是代码。

end function

function filenametime(str)
arr=split(str,"-")
filenametime=arr(0)&arr(1)&arr(2) 318行处
end function

function timemd(str)
arr=split(str,"-")
if len(arr(2))=1 then
arr(2)="0"&arr(2)
end if
if len(arr(1))=1 then
arr(1)="0"&arr(1)
end if
timemd=arr(1)&"-"&arr(2)
end function
展开
 我来答
开发者之路
2010-04-26 · TA获得超过910个赞
知道大有可为答主
回答量:2031
采纳率:0%
帮助的人:932万
展开全部
很明显嘛,你的arr数组的元素个数少.
你确定arr是具有3个元素吗? 你的str这个变量的值都是类似什么样的?发出来

------------------------

把:filenametime=arr(0)&arr(1)&arr(2) 318行处
改成:

for i=ibound(arr) to ubound(arr)
filenametime=filenametime&arr(i)
next

就可以了.
lqk12
2010-04-13 · 超过27用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:72.9万
展开全部
这是数组的下限溢出了。

你可以使用 ubound(数组名) 意思是最后面一个,不管多少都不出错,
lbound(数组名) 第一个数组号

for i=lbound(数组名) to ubound(数组名)

next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ccljjccljj
2010-04-12 · 超过15用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:45万
展开全部
arr(0)&arr(1)&arr(2) 这里有问题
首先你不能肯定数组里肯定有3个元素吧,比如str="1-2"的话那么就没有arr(2)了
你在考虑下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhu0927
2010-04-12 · TA获得超过175个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:112万
展开全部
越界了啊。如果数组中没有,那是输出不了的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaojiea123
2010-04-14 · 超过12用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:22.6万
展开全部
arr(0)&arr(1)&arr(2)

这样试试
<%
Response.Write "arr(0)"
Response.Write "arr(1)"
Response.Write "arr(2)"
%>

你看看里面有没有值。如果那个没有 filenametime=arr(0)&arr(1)&arr(2) 那个去掉看看还 报不报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式