| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖, 1 人收藏
标题:VB读取txt文件
取消只看楼主 加入收藏
z18234089392
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-5-29
结帖率:83.33%
收藏(1)
已结贴  问题点数:20 回复次数:3 
VB读取txt文件
'读入河流参数,读入断面参数
Dim ss As String
   Dim t As Long
   Dim aa
   Dim tot As Long
Open App.Path & "\jilu.txt" For Input As #1
Do While Not EOF(1)
 Line Input #1, ss
      ss = Trim(ss)
      ss = Replace(ss, "  ", ",")
      ss = Replace(ss, ",,", ",")
      aa = Split(ss, ",")
      tot = UBound(aa)
      
      If t = 1 Then
         '第一行为河流参数
         HL = aa(0) '第1列
         Q = aa(1) '第2列
         NN = aa(2) '第3列
         Z(1) = aa(3) '第4列
         t = t + 1
      Else
         If tot = 4 Then
            I = aa(0)
            L(I) = aa(1)
            M(I) = aa(2)
            GG(I) = aa(3)
            n(I) = aa(4)
            t = t + 1
         Else
            AX(I, M(I)) = aa(0)
            GCH(I, M(I)) = aa(1)
         End If
      End If
Loop
Close #1
我的除了AX 和GCH是二维 其它都是一维的,运行后这两行显示类型不匹配,应该怎么改
2015-05-29 12:20
z18234089392
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-5-29
收藏
得分:0 
不是太明白,我发现这个读取数据不是自己想象的那么简单。。
能不能直接跳过空格读取数据呢。我发现我这样编的话很多都读的是空的。
而且aa(0)好像被前面赋值了,后面的出现了的aa(0)还是那个值
方便的话能加下QQ么 我已经被这个问题困扰三天进行不下去了。。。。
我的QQ:837051349  谢谢
2015-05-29 15:49
z18234089392
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-5-29
收藏
得分:0 
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
这是数据部分,是这样的,我的数据有很多组这只是其中的两组,第一行是河流参数,第二行是第一个断面的参数,3-12行是第一个断面的地形点参数,13行是第二个断面的参数,14-25行是第二个断面的地形点参数。
程序运行时不只是两个断面,可能会有很多个,而且每个断面的地形点个数也不一样。
后面的计算要用到这些参数,所以要读取进去。我现在总觉得我用aa(0),aa(1)....后面的读取的值会覆盖了前面读取的数。谢谢了。实在是头大啊
2015-05-29 18:24
z18234089392
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-5-29
收藏
得分:0 
dim HL As String
dim Q As Double '流量Q
dim NN As Integer '断面个数NN
dim L(100) As Double '距前一段面的距离L
dim GG(100) As Double '局部阻力系数GG
dim n(100) As Double '糙率N
dim M(100) As Integer '各断面地形点总个数
dim AX(100, 50) As Double '各断面地形点距左岸第一点水平距离
dim GCH(100, 50) As Double '各断面地形点高程
dim Z(100) As Double '水位
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 I = I + 1
           J = 0
           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))
          J = J + 1
       End Select
    Loop
    Close

这样能运行,可是还是不太对,这是怎么回事啊
AX(I, J) = Val(temp(0))
GCH(I, J) = Val(temp(1))

我想弄成这种形式的。。。。
2015-05-29 22:29
快速回复:VB读取txt文件
数据加载中...
 
   



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

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