24小时热门版块排行榜    

CyRhmU.jpeg
查看: 768  |  回复: 6

RwingRWING

新虫 (初入文坛)

[求助] 读取TXT文件中的数据已有3人参与

这是我编写的程序代码,可是读取的结果似乎不对,因为我后面的计算中要用到这些数据,一运行就提示溢出,我发现我不知道怎么改,谢谢帮助
Dim TempLine As String
  Dim temp() As String
  Dim I As Integer
  Dim J As Integer
  Dim SAdd As Boolean
Open App.Path & "\jilu.txt" For Input As #1
  Do While Not EOF(1)
    Line Input #1, TempLine
      TempLine = FormatStr(TempLine)
      temp = Split(TempLine, " "
      Select Case UBound(temp)
        Case Is = 3
          HL = temp(0)
          Q = Val(temp(1))
          NN = Val(temp(2))
          Z(1) = Val(temp(3))
        Case Is = 4
          SAdd = Not (SAdd)
         
          If SAdd = False Then J = 1
           I = Val(temp(0))
           L(I) = Val(temp(1))
           M(I) = Val(temp(2))
           GG(I) = Val(temp(3))
           n(I) = Val(temp(4))
       Case Is = 1
          AX(I, J) = Val(temp(0))
          GCH(I, J) = Val(temp(1))
          If J <= M(I) Then
          J = J + 1
          End If
       End Select
    Loop
    Close #1
Function FormatStr(temp As String) As String
  FormatStr = Trim(temp)
  Do While InStr(1, FormatStr, "  " > 0
     FormatStr = Replace(FormatStr, "  ", " "
   Loop
End Function

附上TXT中的数据
ALGOU          320           2             90
1             0             11            0             .04
0             96
0             88.7
4             86.1
12            85.9
17.2          85.6
19.5          86.1
20            86.4
27.2          88.5
32.6          88.8
42.3          88.5
42.3          96
2             39            12            0             .04
0             97
0             90.2
3.4           88
7.2           86
12.5          86.3
21.6          86.7
27.4          87.2
33            90.1
40            90.1
40.6          89.7
46.4          87.3
46.4          97
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
老是数据溢出可能是你的 temp() 数组多次调用,在新的一次调用时要重新定义大小,要 redim 下。
2楼2015-05-30 19:56:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

我试了一下,不是temp()的问题., 我在前面定义字符类型中加上了这两行后运行没有问题。
  Dim z(100), L(100), M(100), GG(100), n(100) As Single
  Dim ax(100, 100), gch(100, 100) As Single
因为你的数据少,我定义到100,应该足够了。 运行没有问题。
可能是你的这几个数组定义有问题。
3楼2015-05-30 20:32:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

RwingRWING

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by deephill at 2015-05-30 20:32:44
我试了一下,不是temp()的问题., 我在前面定义字符类型中加上了这两行后运行没有问题。
  Dim z(100), L(100), M(100), GG(100), n(100) As Single
  Dim ax(100, 100), gch(100, 100) As Single
因为你的数据少 ...

我没有给J赋过值,可是为什么最后会J=13呢,所以显示下标越界
4楼2015-06-01 09:32:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖


xzhdty: 金币+1, 谢谢参与 2015-06-02 06:51:00
SAdd = Not (SAdd)
来历不明,也没有初始值。 我以为你给我们看的只是你程序的一段代码。

你要让结果正确,应该向大家讲出你程序的目的,说明数据和结果。
5楼2015-06-01 20:26:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

43fd6ys

木虫 (正式写手)

【答案】应助回帖

不知程序何处结束. END
6楼2015-07-23 22:00:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

york1996

新虫 (初入文坛)

【答案】应助回帖

你要干什么呢,用固定数组来读取
7楼2016-03-03 20:09:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 RwingRWING 的主题更新
信息提示
请填处理意见