【求助】读取 文本文件到 Text1 中时 如何显示进度条

yuanyong911 2017-09-02 04:48:10
读取 文本文件到 Text1 中时 如何显示进度条

如下 我的 A.log 文件 将要读入 Text1中,只是40多KB时 读取速度 就会很慢。有什么方法 加快读取速度,或者 加入一个进度条。
告诉我读取进度。多谢 万分感谢。

Dim InputData As String * 1
Open ".\A.log" For Input As #1
Do While Not EOF(1)
InputData = Input(1, #1)
Text1.Text = Text1.Text + InputData
Loop
Close #1
...全文
297 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
脆皮大雪糕 2017-09-17
  • 打赏
  • 举报
回复
最根本的问题出在 Dim InputData As String * 1 每次只读一个字符串,读完又要等下一个字节的时候磁盘已经转过去了,于是要等磁盘再转一圈过来才能读到。你算算看,给你一个7200转的硬盘,你一分钟只能读7K。 对于log这样的文件,一般用input line 方式
MyRain_2012 2017-09-16
  • 打赏
  • 举报
回复
一般文本文件都是秒读的,加进度意义不大,基本上看不出,主要是你的代码读取太低太低了,给你修改如下,窗口上添加一个Label1
Dim InputData As String, FileNr As String, FileMz As String
Dim FileCd As Long

FileMz = "C:\overlaystub.log"
FileCd = FileLen(FileMz)

Open FileMz For Input As #1
Do While Not EOF(1)
    Line Input #1, InputData
    FileNr = FileNr & InputData & vbCrLf
    Label1.Caption = Len(FileNr) / FileCd * 100 & "%"
    DoEvents
Loop
Close #1

Text1.Text = FileNr
思考 2017-09-14
  • 打赏
  • 举报
回复
恐怕没有比这再慢的方法了
舉杯邀明月 2017-09-02
  • 打赏
  • 举报
回复
引用 1 楼 Runnerchin 的回复:
读给变量,再赋给textbox
+1 很多人都喜欢象楼主那样写代码。  那样的操作真的很慢…… 应该尽量避免重复的操作对象(特别是“可视”的对象)。
X-i-n 2017-09-02
  • 打赏
  • 举报
回复
读给变量,再赋给textbox

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧