注册 登录
编程论坛 VB6论坛

关于VB的txt读取的问题

q359870562 发布于 2013-08-18 18:03, 417 次点击
自己做了一个可以读取txt文件的程序
Private Sub Command1_Click()
   Dim st As String, fpath As String
    If Right(Dir1.Path, 1) = "\" Then
        fpath = Dir1.Path & File1.FileName
    Else
        fpath = Dir1.Path & "\" & File1.FileName
    End If
    Form2.Text1.Text = ""
    Open fpath For Input As #1
    Do While Not EOF(1)
        Line Input #1, st
        Form2.Text1.Text = Form2.Text1.Text + st + vbCrLf
    Loop
    Close #1
Form2.Show
End Sub
但是运行时发现如果读取的txt文件较小的话还是可以正常显示到text控件上的
但是如果txt文件较大时,,vb就没法读取,,甚至会卡住
所以想问大神看看有没有什么的办法能让较大的txt文件也能正常显示到VB的text或者是其他更好的控件上,
2 回复
#2
hjxlj2013-08-21 00:50
你下面这些读取文件的代码是最糟糕的
程序代码:
    Do While Not EOF(1)
        Line Input #1, st
        Form2.Text1.Text = Form2.Text1.Text + st + vbCrLf  '这句代码太糟糕了
    Loop
哪有在循环里不停地给Text1.Text属性赋值的,带来的后果必定运行速度极慢。下面是我为你修改后的代码:
程序代码:
Private Sub Command1_Click()
   Dim st As String, fpath As String
    If Right(Dir1.Path, 1) = "\" Then
        fpath = Dir1.Path & File1.FileName
    Else
        fpath = Dir1.Path & "\" & File1.FileName
    End If
    Form2.Text1.Text = ""
    Open fpath For Binary Access Read As #1
    Form2.Text1.Text  = Input(LOF(1), #1)   '一下就把所有内容赋给Text1.Text属性
    Close #1
    Form2.Show
End Sub
另外,如果你的Text1是TextBox控件的话,它对过大的txt文件也是无能为力的。不过这是控件本身的限制,与我们的代码没有关系了。如果你想显示较大的txt文件,建议你不要使用TextBox控件,而应该使用RichTextBox控件。

#3
q3598705622013-08-21 11:21
问题解决了。。谢了
1