vb 中读操作。当读的文本文档很大时,程序一调试就关闭。怎么办。

来源:百度知道 编辑:UC知道 时间:2024/06/22 01:09:47
Private Sub Command1_Click()
Open "1.txt" For Input As #1
Do While EOF(1) = False
Line Input #1, jb
Text1.Text = Text1.Text + jb + vbCrLf
Loop
Close #1
End Sub
当1.txt很长时。一打开就关闭。怎么办。

1.text控件,只支持32KB以下的文本,太多的,你就算放进去,也会被删除后面的部分的.

2.VB的应该不要对对象进行频繁的操作,以提高程序效率..你大可
s = s & jb & vbCrLf
在过程全部完成后 , 再使用text1 = s, 来显示

3.同样的操作,在不得已对控件或对象操作时,可以先将其隐藏,代码结束后,再让它显示出来,以提高效率.
Text1.Visible = False
'省略操作代码
Text1.Visible = True

4.在VB中不要大量使用字符串叠加,这样会花掉巨大的时间去重新指定内存空间和释放掉它们.. 比较好的方法是使用数组来得到中间变量,最好的方法是使用api中的copymem来完成

如上所说 , 我通常将文本置入文本框时的代码是:
Private Sub Command1_Click()
Dim tmpStr$, ss$(), lineJ&
ReDim ss$(1 To 100000) '根据数据量给一个远大于行数的范围

Open "1.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, tmpStr
lineJ = lineJ + 1
ss(lineJ) = tmpStr
Loop
Close #1

If lineJ > 0 Then
ReDim Preserve ss(1 To lineJ)
Text1 = Join(ss, vbCrLf)
End If

End Sub