打開文本文件是不少程序必須處理的問題。如何更有效地打開文本文件應該是一個值得研究的課題。為此,筆者將自己搜集到的幾種方法無私地奉獻出來(-_-),供各位參考。同時期盼大家也來參與,借VB編程樂園這塊寶地互相交流。如您有這份心,土人在這裡先說聲謝謝!
下面所舉的例子均假設F盤下有一個名為d.txt的文本文件,若需要嘗試這些例子請作相應的改動。
方法一:
用定長的String變量獲取文本內容。由於定長String變量支持的下界為65400,所以在打開超過32K字節的文件時超出部分的字節將無法獲取:
PrivateSubCommand1_Cliack()
DimsAAsString*65400'聲明定長String變量
Open"F:d.txt"ForBinaryAs#1'用二進制打開文件
Get#1,,sA'用Get語句從文件中獲取字節
Text1=sA'顯示打開的文件
Close#1'關閉文件
EndSub
方法二:
先聲明一字符串變量,然後用空格填充字符串,使變量大小與文件大小一致,再通過Get語句將文件全部數據存儲到變量中,從而達到獲取整個文件字節數的目的。此法可以打開大於32K的文件,但應該注意的是,裝載文件的容器必須能裝載大於32K的文件,下例用RichTextBox控件顯示打開的文件:
PrivateSubCommand1_Click()
DimsAAsString
Open"f:d.txt"ForBinaryAs#1
sA=Space(LOF(1))'用空格填充sA變量
Get#1,,sA'用Get語句獲取文件全部內容
RichTextBox1.Text=sA
Close#1
EndSub
方法三:
用StrConv函數將文件的控制字符串數據和Unicode碼之間進行轉換,從而達到打開文件的目的。可打開任意大小文件。此法筆者曾有一篇文章談及,這裡再給一個簡單例子:
PrivateSubCommand1_Click()
Open"f:d.txt"ForInputAs#1
RichTextBox1.Text=StrConv(InputB$(LOF(1),1),vbUnicode)
Close#1
EndSub
方法四:
用Shell語句直接調出Windows的記事本,給個文件名即可輕而易舉地打開文本文件。此法適合於打開程序的Readme文件(注意:在可執行文件和要打開的文本文件之間要有空格):
Shell"NotePad.EXEf:d.txt",vbNormalFucus
方法五:
用RichTextBox控件自身的LoadFile屬性打開文件:
RichTextBox1.LoadFile"f:d.txt",rtfText->