| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5017 人关注过本帖, 1 人收藏
标题:如何逐行读取txt文件,每读一行就写入label并加以判断?
只看楼主 加入收藏
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
结帖率:70%
收藏(1)
已结贴  问题点数:20 回复次数:9 
如何逐行读取txt文件,每读一行就写入label并加以判断?
c盘下a.txt文件,内容为:
1
1
0
1
0
1
.........(行数不定,可能为2行,可能为5行,可能为10行,但最多15行)。

现窗体中有label1(0)~label1(14),竖向排列,每个label后有一个Shape,Shape编号与label编号相呼应,为Shape1(0)~Shape1(14),
现希望能把a.txt内容逐行显示到label1(n)中,同时判断该行如是“1”,则Shape1(n)为红色,如是“0”,则Shape1(n)为绿色。


不知如何编程,请各位前辈赐教!
搜索更多相关主题的帖子: 编程 如何 
2012-03-19 23:20
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
或者简单点,去除label列,直接就是每读一行就加以判断,如是“1”,则Shape1(n)为红色,如是“0”,则Shape1(n)为绿色。一定要第几行与第几个Shape相对应。

2012-03-19 23:31
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:5 
读写用open
显示到label用label.caption=
判断用if

无知
2012-03-19 23:33
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
主要是不会“读取不定长的文件数据”;谢谢!
2012-03-20 23:35
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 

Open App.Path & "1.txt" For Input As #1
        While Not EOF(1)
            Line Input #1, tmp
            ....
            DoEvents
        Wend
        Close #1
这样的么?
2012-03-20 23:37
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
我原来编写的程序是:
Private Sub Form_Load()
Dim i As Integer
Dim s As String
Open "c:\a.txt" For Input As #1
For i = 0 To 14 Step 1
Line Input #1, s
Label1(i).Caption = s
If s = "1" Then
Shape1(i).BorderColor = vbRed
Else
Shape1(i).BorderColor = vbGreen
End If
Next i
Close #1
当a.txt内数据行数大于等于14行的话,该段程序运行正常,也达到我的要求,但是a.txt内数据行数不定,可能为2行,可能为5行,可能为10行,但最多15行,我就不知怎么写了,麻烦专家帮我修改一下程序,谢谢!
2012-03-21 00:47
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:5 
Do While Not EOF

无知
2012-03-21 01:53
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:10 
For i = 0 To 14 Step 1
Line Input #1, s
Label1(i).Caption = s
If s = "1" Then
Shape1(i).BorderColor = vbRed
Else
Shape1(i).BorderColor = vbGreen
End If
Next i
修改为:
i=0
do while not eof(1)
Line Input #1, s
Label1(i).Caption = s
If s = "1" Then
Shape1(i).BorderColor = vbRed
Else
Shape1(i).BorderColor = vbGreen
End If
i=i+1
loop

天道酬勤
2012-03-21 10:19
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
谢谢前辈,经验证,完全正确!
2012-03-22 10:45
肖伟
Rank: 2
来 自:连云港
等 级:论坛游民
威 望:1
帖 子:44
专家分:30
注 册:2013-5-7
收藏
得分:0 
a a a a
2013-05-16 05:56
快速回复:如何逐行读取txt文件,每读一行就写入label并加以判断?
数据加载中...
 
   



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

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