注册 登录
编程论坛 VB6论坛

如何逐行读取txt文件,每读一行就写入label并加以判断?

ictest 发布于 2012-03-19 23:20, 5017 次点击
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)为绿色。


不知如何编程,请各位前辈赐教!
9 回复
#2
ictest2012-03-19 23:31
或者简单点,去除label列,直接就是每读一行就加以判断,如是“1”,则Shape1(n)为红色,如是“0”,则Shape1(n)为绿色。一定要第几行与第几个Shape相对应。

#3
Artless2012-03-19 23:33
读写用open
显示到label用label.caption=
判断用if
#4
ictest2012-03-20 23:35
主要是不会“读取不定长的文件数据”;谢谢!
#5
ictest2012-03-20 23:37

Open App.Path & "1.txt" For Input As #1
        While Not EOF(1)
            Line Input #1, tmp
            ....
            DoEvents
        Wend
        Close #1
这样的么?
#6
ictest2012-03-21 00:47
我原来编写的程序是:
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行,我就不知怎么写了,麻烦专家帮我修改一下程序,谢谢!
#7
Artless2012-03-21 01:53
Do While Not EOF
#8
apple00720112012-03-21 10:19
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
#9
ictest2012-03-22 10:45
谢谢前辈,经验证,完全正确!
#10
肖伟2013-05-16 05:56
a a a a
1