VB讀寫文件要用到以下語句:
1、Open語句打開文件。
2、讀文件使用Line Input、Input #,(以上為文本方式)和Get(以上為二進(jìn)制方式)。
3、寫文件使用Print #、Write(以上為文本方式)和Put(以上為二進(jìn)制方式)。
4、Close語句關(guān)閉文件
5、二進(jìn)制方式下移動文件位置使用Seek語句。
所有這些語句在VB的幫助中都有詳細(xì)說明和例子。
文本文件的示例:
Open "TESTFILE" For Output As #1 ' 打開輸出文件。
Print #1, "This is a test" ' 將文本數(shù)據(jù)寫入文件。
Print #1, ' 將空白行寫入文件。
Print #1, "Zone 1"; Tab ; "Zone 2" ' 數(shù)據(jù)寫入兩個(gè)區(qū)(print zones)。
Print #1, "Hello" ; " " ; "World" ' 以空格隔開兩個(gè)字符串。
Print #1, Spc(5) ; "5 leading spaces " ' 在字符串之前寫入五個(gè)空格。
Print #1, Tab(10) ; "Hello" ' 將數(shù)據(jù)寫在第十列。
' 賦值 Boolean、Date、Null 及 Error 等。
Dim MyBool, MyDate, MyNull, MyError
MyBool = False : MyDate = #February 12, 1969# : MyNull = Null
MyError = CVErr(32767)
' True、False、Null 及 Error 會根據(jù)系統(tǒng)的地區(qū)設(shè)置自動轉(zhuǎn)換格式。
' 日期將以標(biāo)準(zhǔn)的短式日期的格式顯示。
Print #1, MyBool ; " is a Boolean value"
Print #1, MyDate ; " is a date"
Print #1, MyNull ; " is a null value"
Print #1, MyError ; " is an error value"
Close #1 ' 關(guān)閉文件。
讀文件示例
使用 Line Input # 語句從順序文件中讀入一行數(shù)據(jù),并將該行數(shù)據(jù)賦予一個(gè)變量。本示例假設(shè) TESTFILE 文件內(nèi)含數(shù)行文本數(shù)據(jù)。
Dim TextLine
Open "TESTFILE" For Input As #1 ' 打開文件。
Do While Not EOF(1) ' 循環(huán)至文件尾。
Line Input #1, TextLine ' 讀入一行數(shù)據(jù)并將其賦予某變量。
Debug.Print TextLine ' 在調(diào)試窗口中顯示數(shù)據(jù)。
Loop
/++++++++++++++++++++++++++++++++++++++++++++++++++++/
讀取指定行
/++++++++++++++++++++++++++++++++++++++++++++++++++++/
我是用 Line Input 語句來實(shí)現(xiàn)的。
用 DO 循環(huán) 加 eof(#n) 再來個(gè)計(jì)數(shù)變量就可以很好的的控制讀取固定的行,一次整行讀入。這樣的代碼很簡單?。?
'打開文件 c:\Escreps.prn
Open "c:\Escreps.prn" For Input As #1
'取文件內(nèi)容,這種是知道文件的固定行數(shù)
For i = 1 To 24
Line Input #1, temp
Select Case i
Case 8 '例如要處理第8行
'在這里可以處理 TEMP 讀取的內(nèi)容
End Select
Next i
Close #1
'*-----------------不知道文件總行數(shù)的時(shí)候用這種辦法。
Do While Not EOF(1)
'------------取文件內(nèi)容
Line Input #10, DateSr
i=i+1
Select Case i '這個(gè)你也可以用其他判斷語句。
Case 8 '例如要處理第8行
'在這里可以處理 TEMP 讀取的內(nèi)容
End Select
LOOP