vb 为什么在SSTab1.Tab内有“下标越界”的问题

[复制链接]
查看11 | 回复5 | 2011-6-29 09:30:34 | 显示全部楼层 |阅读模式
过程:打开文件,一行一行地读出,并赋给StrinFo(i),但为什么在Label15.Caption=StrinFo(1)处却出现“下标越界”,请帮忙解决一下,谢谢。
OpenApp.Pathdefds123\"\\AAAA.txt\"ForInputAs#1\'打开文件。
DoWhileNotEOF(1)\'循环至文件尾。
LineInput#1,TextLine\'读入一行数据并将其赋予某变量。
StrinFo=Split(TextLine,StrChar)
ForI=0ToUBound(StrinFo)
IfSSTab1.Tab=0Then
Label15.Caption=StrinFo(1)\'“下标越界”处
EndIf
\'PrintStrinFo(I)
Next
Loop
回复

使用道具 举报

千问 | 2011-6-29 09:30:34 | 显示全部楼层
TextLine中没有分隔符StrChar(数组一个元素)或TextLine为空(数组无元素)
在Label15.Caption=StrinFo(1)前加上ifStrChar\"\"then
你的程序只用到StrinFo(1),所以ForI=0ToUBound(StrinFo)除了减慢程序的运行速度外没有其他任何效果(纯粹是多余的)。
程序代码修改如下:
IfSSTab1.Tab=0Then
OpenApp.Path0ThenLabel15.Caption=StrinFo(1)\'“下标越界”处
Loop
Close#1
EndIf









<h4class=\"ask\">追问


没有反映,请帮忙了。过程:打开文件,一行一行地读出,并赋给StrinFo(i),再赋给Label15.Caption=StrinFo(1)、Label14.Caption=StrinFo(2)、Label13.Caption=StrinFo(0)...,请求帮忙。
DimTextLineAsString
DimStrinFo()AsString
ConstStrChar=\"\"
DimiAsLong
回复

使用道具 举报

千问 | 2011-6-29 09:30:34 | 显示全部楼层
你的StrChar是啥?TAB?几个空格?
StrChar=vbTab
OpenApp.Path0ThenLabel15.Caption=StrinFo(1)\'“下标越界”处
Ifl1ThenLabel14.Caption=StrinFo(2)\'“下标越界”处
Ifl=0ThenLabel13.Caption=StrinFo(0)\'“下标越界”处
Loop
Close#1
上述循环的结果是只显示最后一行,其他的数据一闪即过(根本看不见就闪过了)
回复

使用道具 举报

千问 | 2011-6-29 09:30:34 | 显示全部楼层
抄来的,不知TAB多少
IfSSTab1.Tab=0Then\'用这,则没反映
\'StrChar=vbTab\'用这,则不能给常数赋值
OpenApp.Path0ThenLabel15.Caption=StrinFo(1)
Loop
Close#1
EndIf
请求帮忙
回复

使用道具 举报

千问 | 2011-6-29 09:30:34 | 显示全部楼层
VbTab为Tab键即Chr(9)
1、删除ConstStrChar=\"\"
2、修改为ConstStrChar=VbTab,删除StrChar=vbTab
解决办法选其一
StrChar为分隔符,一般为TAB,如果为其他,修改之。
回复

使用道具 举报

千问 | 2011-6-29 09:30:34 | 显示全部楼层
原程序在:[email protected]
PW:ygx12345678900
帮忙了。在\"机上答题\"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行