一、開啟檔案
語法:
Open pathname For mode[Access accmode]  [lock] As [#]filenumber [Len=reclength]

Open 陳述式語法單元

單元說明
pathname 可以為一個字串運算式,代表欲開啟的檔案或裝置,若檔案不在目前資料夾下,須在檔名前加上路徑名稱。
mode 用來設定使用那類的資料檔及存取模式。
accmode 選擇性引數。它是個關鍵字,用來指定所開啟的檔案可被允許的動作:有 Read、Write、或 Read Write 等。
lock 選擇性引數。它是個關鍵字,用來指出其它處理程序對於本開啟的檔案可被限制的動作:有 Shared、Lock Read、Lock Write、和 Lock Read Write等。
filenumber 資料檔開啟後便賦予一個檔案代碼,其值為1~511。一個檔案被開啟後,所有檔案的處理都是用代碼來代表該檔案,其值為整數。
reclength 選擇性引數。記錄長度使用於隨機檔,用來設定每一筆記錄的長度,以Byte為單位,其值為1~32767。若輸入一筆資料的長度小於所設定記錄長度則資料無法存放,會出現錯誤訊息。


Mode

檔案結構模式說明
循序存取檔 Output 將主記憶體的資料寫入磁碟中。若磁碟中已有此檔案,則該檔案的 資料全被刪除變成一個空檔,該檔若不存在,則建立一個新的檔案。
Input 由磁碟中讀取檔案的資料存入主記憶體中,由開頭讀取,若磁碟中無此檔名,會有錯誤訊息。
Append 由主記憶體將資料寫入磁碟中,若磁碟中有此檔名,則新的資料加在檔案最後面。若不存在,則建一個新的的檔案。
隨機存取檔 Random 可由磁碟中讀取或寫入資料。若省略模式,則內定式為隨機檔。

二進位檔
Binary 以Byte為單位,可以在檔案中任一位置做讀寫。
  1. 您在對檔案做任何 I/O 動作之前,必須先開啟它。Open 陳述式會配置一個暫存區以供檔案做 I/O 時使用,並且會決定此暫存區所使用的存取模式。
  2. 如果由引數 pathname 所指定的檔案不存在,但是其指定的檔案開啟模式為 Append、Binary、Output、或 Random 的話,Open 陳述式仍會依照此檔名產生一個檔案。
  3. 如果所指定的檔案已由其它程序所開啟,且所指定的存取型態是不被允許的話,則 Open 動作會失敗,而且會有錯誤發生。
  4. 如果引數 mode 是 Binary 模式,則 Len 子句會被忽略掉。
  5. 在 Binary、Input 和 Random 等模式下,您可以使用不同的檔案代碼去開啟同一個檔案,而不必先將檔案關閉。但在 Append 和 Output 模式下,若要以不同的檔案代碼去開啟同一個檔案,則您必須在開啟前先關閉該檔案。

Ex.
以循序存取模式開啟 c:\mytext.txt 檔
Open "c:\mytext.txt" For Input As #1
以二進位檔模式輸出 c:\mydat.dat 檔
Open "c:\mydat.dat" For Binary Access Write As #1

以隨機存取檔開啟檔案
Type Record  
ID As Integer  
Name As String * 20
End Type
Dim MyRecord As Record
Open "c:\address.txt" For Random As #1 Len = Len(MyRecord)

二、關閉檔案
語法:
Close [[#] filenumber1,[#] filenumber 2,...]

  1. 若省略代碼,會將所有已開啟的資料檔關閉。
  2. 任何已開啟的檔案,不再使用時,要記得關閉,如此才能將佔用的緩衝區歸還系統。
  3. 以Output或Append開啟的檔案,使用Close敘述會將存放在緩衝區內的資料寫入檔案中,再將資料檔關閉。

三、相關檔案函數
語法:LOF(filenumber
功能:將檔案代碼所對應資料檔的長度傳回,使用本函數之前,必須先用Open敘述將該資料檔打開方有效。
語法:FileLen(pathname)
功能:將指定資料檔的長度傳回,本函數對尚未使用Open敘述打開的資料檔有效。
語法:EOF(filenumber)
功能:用來測試檔案是否結束。
語法:FreeFile
功能:自動取得一個有效的檔案代碼。

 

http://webhd01.blogspot.tw/2009/08/vb6.html

arrow
arrow
    全站熱搜

    nineaddnine 發表在 痞客邦 留言(0) 人氣()