| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:vb中怎么读取txt的一列
只看楼主 加入收藏
chen123free
Rank: 1
等 级:新手上路
帖 子:31
专家分:5
注 册:2015-5-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
vb中怎么读取txt的一列
读取一个已经存在的txt中内容,输出其中大写字母P在txt中所处的行数和列数
下面是我的思路,求大神指点
Dim temp as String
Open "\test.text" For Input As #1
Open "\output.text" For Output As #3
For i = 1 To 9 '行数   
    Line Input #1, temp  '读取1行
    For j = 1 To 9  '列数
    ...
    中间少了几行不知道怎么写
   
    If arr(i, j) = "P" Then
    Print #3, i & "," & j
    End If
next j
next i
Close #1
搜索更多相关主题的帖子: 字母 
2015-06-14 14:28
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
要把你的数据贴出来才能指点。
方法是根据数据写的。

一般可以使用 split 分解,使用 instr 查找。根据你的数据决定方法。
行号一般do循环和使用计数,而不是for 定数循环。

授人于鱼,不如授人于渔
早已停用QQ了
2015-06-14 16:46
chen123free
Rank: 1
等 级:新手上路
帖 子:31
专家分:5
注 册:2015-5-28
收藏
得分:0 
回复 2楼 风吹过b
数据大致是这样的

..P.PPP....
.P.P..PP...
..P.PPPP..
..PPPP.PP..
...P...P...
.P..PPP....

输出为所有P的坐标,(1,3),(1,5),(1,6),(1,7),(2,2),...
2015-06-14 16:50
chen123free
Rank: 1
等 级:新手上路
帖 子:31
专家分:5
注 册:2015-5-28
收藏
得分:0 
回复 2楼 风吹过b
Open App.Path + "\3.txt" For Input As #1
While Not EOF(1)
Line Input #1, arr(i, j)
For i = 1 To 10  
For j = 1 To 10
If arr(i, j) = "P" Then
Print #3, arr(i, j)  
End If
Next j
Next i
Wend
         
Close #1
Close #3
2015-06-14 16:53
中南红叶
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2015-3-12
收藏
得分:0 
我觉得读取列,用Mid(s,a,b),b = InStrRev(sFile, "\")好些
2015-06-14 18:03
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
程序代码:
Dim temp As String
Dim i As Long, j As Long
Open "d:\test.txt" For Input As #1                '文件名我修改了,一般是 txt 的结缀,没有 text 后缀
Open "d:\output.txt" For Output As #3
i = 0                               '行号,初始为 0
Do While Not EOF(1)                 '文件未结束,则继续循环
    Line Input #1, temp             '读取1行
    i = i + 1                       '行号
    For j = 1 To Len(temp)          '测试一行内所有数据
        If Mid(temp, j, 1) = "P" Then   '字符=P
            Print #3, i; ","; j     '输出坐标
        End If
    Next j
Loop
Close #1
Close #3


结果为:
1 , 3
 1 , 5
 1 , 6
 1 , 7
 2 , 2
 2 , 4
 2 , 7
 2 , 8
 3 , 3
 3 , 5
 3 , 6
 3 , 7
 3 , 8
 4 , 3
 4 , 4
 4 , 5
 4 , 6
 4 , 8
 4 , 9
 5 , 4
 5 , 8
 6 , 2
 6 , 5
 6 , 6
 6 , 7

授人于鱼,不如授人于渔
早已停用QQ了
2015-06-14 21:34
chen123free
Rank: 1
等 级:新手上路
帖 子:31
专家分:5
注 册:2015-5-28
收藏
得分:0 
回复 6楼 风吹过b
万分感谢
2015-06-15 08:35
快速回复:vb中怎么读取txt的一列
数据加载中...
 
   



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

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