不好意思 每次貼文都沒有人看 所以只有多貼一次
還有我的硬體
256ram
cpu p3 800
815 晶片
2個30g 硬碟
我寫一個小程式
只不過是讓vb 讀不到1M 的資料 50幾萬個字
沒想到 問題多多
vb 在讀資料若太多
資料的穩定性就不夠
比如 "叫你說" 前面這個叫字 就會出現亂碼
但是事實上 用剪貼簿將 "叫你說" 字串資料貼上 資料還是沒有錯
若只有讀取 不到100k 的資料 就不會有這個問題
用了許多方法 還是一樣
RichTextBox1.Text = ""
RichTextBox2.Text = ""
Text5.Text = ""
RichTextBox1.SelFontSize = 15
RichTextBox1.SelColor = vbBlack 'vbBlue
Erase DTEMP
On Error GoTo EX1:
If Right$(Dir1.Path, 1) = "\" Then
fn$ = Dir1.Path + File1.FileName
Else
fn$ = Dir1.Path + "\" + File1.FileName
End If
F = FreeFile
I = 0
Open fn$ For Input As #F
Do While Not EOF(F) '不是檔尾 繼續執行
Line Input #F, b$ '資料不可以有空白
a = Trim(b)
If a = "" Then GoTo XX:
ReDim Preserve DTEMP$(I) '將陣列x 加大1筆 與下面i無關'
DTEMP$(I) = a$
I = I + 1 '
XX:
Loop
Close #F
'---------------------
I5 = 0
Erase BDIM
For I2 = LBound(DTEMP) To UBound(DTEMP)
ReDim Preserve BDIM$(I5)
BDIM$(I5) = DTEMP(I2)
I5 = I5 + 1 '
If I5 > 2000 Then
RichTextBox1.SelText = Join(BDIM, vbCrLf) + vbCrLf
I5 = 0
Erase BDIM
End If
'原本 可以一次 讀完 可是這樣 亂碼字串 出現的機率更大
'還有 每次出現亂碼的字串 都是固定 不是隨機出現
'還有該字串 不是 ®、©及TM等特殊字
Next I2
RichTextBox1.SelText = Join(BDIM, vbCrLf) '+ vbCrLf
Erase BDIM
'---------------------
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = 0