讀取 文本檔案到 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
uj5u.com熱心網友回復:
讀給變數,再賦給textboxuj5u.com熱心網友回復:
+1
很多人都喜歡象樓主那樣寫代碼。

那樣的操作真的很慢……
應該盡量避免重復的操作物件(特別是“可視”的物件)。
uj5u.com熱心網友回復:
恐怕沒有比這再慢的方法了uj5u.com熱心網友回復:
一般文本檔案都是秒讀的,加進度意義不大,基本上看不出,主要是你的代碼讀取太低太低了,給你修改如下,視窗上添加一個Label1Dim 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
uj5u.com熱心網友回復:
最根本的問題出在Dim InputData As String * 1
每次只讀一個字串,讀完又要等下一個位元組的時候磁盤已經轉過去了,于是要等磁盤再轉一圈過來才能讀到。你算算看,給你一個7200轉的硬碟,你一分鐘只能讀7K。
對于log這樣的檔案,一般用input line 方式
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/54336.html
標籤:VB基礎類
上一篇:打開vb6時,出現缺少mini.msi錯誤,怎么辦,謝謝
下一篇:ajax按鈕用VBA如何模擬點擊
