Basic程序設(shè)計課程輔導(dǎo)第5章_第1頁
Basic程序設(shè)計課程輔導(dǎo)第5章_第2頁
Basic程序設(shè)計課程輔導(dǎo)第5章_第3頁
Basic程序設(shè)計課程輔導(dǎo)第5章_第4頁
Basic程序設(shè)計課程輔導(dǎo)第5章_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Visual Basic 程序設(shè)計課程輔導(dǎo)第5 章第 5 章文件處理應(yīng)用程序設(shè)計方法本章以一個簡單的文件管理器應(yīng)用程序開發(fā)為起點, 詳細(xì)介紹了文件讀寫的基本操作方法、主要函數(shù)、常用控件。通過本章學(xué)習(xí),你應(yīng)該能夠達到如下學(xué)習(xí)目標(biāo):1掌握文件讀寫的基本方法2掌握與文件處理相關(guān)的語句和函數(shù)的用法,并能夠完善程序。3理解文件系統(tǒng)控件的基本功能,能夠通過對驅(qū)動器列表框、目錄列表框、文件列表框三類控件的屬性設(shè)置,編寫簡單的文件管理程序。4了解“文件管理器”應(yīng)用程序的開發(fā)過程,能夠讀懂并完善這類程序的部分語句。1文件的基本概念文件一般是指存儲在外部介質(zhì)(如磁盤)上的數(shù)據(jù)的集合。根據(jù)數(shù)據(jù)的性質(zhì),可以把文件分成

2、程序文件和數(shù)據(jù)文件。我們討論的主要是數(shù)據(jù)文件。根據(jù)數(shù)據(jù)的存儲方式和結(jié)構(gòu),可以將文件分為順序文件、隨機文件和二進制文件。( 1)順序文件順序文件將要保存的數(shù)據(jù)依次逐個轉(zhuǎn)換成ASCII 字符,然后存入磁盤。順序文件是最簡單的文件結(jié)構(gòu),它按次序一個接一個的排列紀(jì)錄,并且只提供第一個記錄的存儲位置。 當(dāng)需要讀取某一記錄時,就必須按順序從第一條記錄開始依次讀出數(shù)據(jù),直到找到所需記錄為止。( 2)隨機文件以隨機存取方式存取數(shù)據(jù)的文件。隨機文件是可以按照任意順序讀寫的文件,它的每條記錄都有一個記錄號,并且所有記錄的長度是相等的。讀取數(shù)據(jù)時,只要指定記錄號,就可以直接讀取記錄。隨機文件一旦打開,就可以同時進行

3、讀寫操作。隨機文件的優(yōu)點是數(shù)據(jù)的存取靈活、方便、 速度快。 主要缺點是占用的空間大、數(shù)據(jù)組織復(fù)雜。( 3)二進制文件磁盤中的文件在本質(zhì)上都是以二進制方式存儲的,二進制文件存取方式是以字節(jié)為單位對文件進行訪問的,允許程序讀寫文件的任何字節(jié),不管是文本文件、可執(zhí)行文件,都可以二進制方式存取訪問。2常用的文件操作語句和函數(shù)語句格式功能ChDrive 語句ChDrive 改 變 當(dāng)ChDriveD前 驅(qū) 動說明:將當(dāng)前驅(qū)動器改變?yōu)镈器ChDir 語句ChDir 改 變 當(dāng)ChDirD:TMP前目錄說明:改變當(dāng)前目錄為D:TMPKill語句Kill 刪 除 文KillD:DataTest.txt件說明:

4、刪除在D 盤Data 目錄下的Test.txt文件1FileCopy語句Name 語句MkDir 語句CurDir語句SetAttr語句Lof 函數(shù)Eof 函數(shù)FreeFile函數(shù)Loc 函數(shù)FileCopy , Name As MkDir 或CurDir SetAttr , 格式: Lof( 文件號 )格式: Eof( 文件號 )格式: FreeFile格式: Loc( 文件號 )Kill C:TEMP*.tmp說明:刪除在 C 盤 TEMP 目錄下所有 tmp 后綴的文件拷 貝 文FileCopy SourceFile,DestinationFile件說明:將源文件的內(nèi)容復(fù)制到目的文件中,

5、SourceFile 為源文件名, DestinationFile 為目標(biāo)文件名。 FileCopy 語句不能復(fù)制一個已打開的文件。對 文 件Name OldName As NewName重命名將 OldName 重命名為 NewName創(chuàng) 建 新MkDir 成績單 目 錄 或說明:創(chuàng)建一個 成績單 目錄文件夾得 到 當(dāng)MyPath = CurDir(C)前路徑說明:返回 C:Program Files設(shè) 置 文SetAttr TEST.txt,vbNormal+vbHidden件屬性說明:將當(dāng)前目錄下的文件Test.txt設(shè)置為常規(guī)和隱藏文件功能:返回由文件號指定的、 用 Open 語句打開

6、的文件的長度,單位是字節(jié)。若返回值為 0,則表示該文件是空文件。功能:返回一個打開的指定文件的文件指針是否指向文件尾的標(biāo)志,若指向文件尾, Eof 的返回值是 True ,否則返回值是False 。功能:返回一個在程序中沒有使用的文件號。功能:返回一個打開的指定文件的最近讀寫位置。3文件系統(tǒng)控件VB 提供了 3 個文件系統(tǒng)控件, 驅(qū)動器列表框 ( DriveListBox )、目錄列表框 (DirListBox )和文件列表框( FileListBox )。利用這 3 個控件進行文件管理十分方便。( 1)驅(qū)動器列表框重要屬性 Drive 屬性Drive1. Drive = C:指定 C 盤為當(dāng)

7、前驅(qū)動器ChDrive Drive1.Drive將 Drive 屬性指定的驅(qū)動器設(shè)置為當(dāng)前驅(qū)動器。重要事件 Chang 事件當(dāng)選擇一個新的驅(qū)動器或通過程序代碼改變Drive 屬性的確定值時,會觸發(fā)驅(qū)動器列表框的Chang 事件,驅(qū)動器列表框的默認(rèn)名為Drive1 , Chang 事件的過程名為 Drive1_Chang()2)目錄列表框常用屬性 Path 屬性2該屬性用于設(shè)置或返回當(dāng)前目錄的完整路徑。它只能在程序代碼中設(shè)置, 不能在屬性窗口中設(shè)置。如:Dir1.Path=C:Visual BasicStu指定 C 盤 Visual Basic 目錄下的 Stu 子目錄為當(dāng)前目錄。重要事件 Ch

8、ang 事件在程序運行時,每當(dāng)改變當(dāng)前目錄,即目錄列表框的Path 屬性值發(fā)生變化時,將引發(fā) Chang 事件,目錄列表框Chang 事件的過程名為Dir1_Chang()(3)文件列表框常用屬性 Path 屬性、 Pattem 屬性、 FileName 屬性主要事件PathChange 事件當(dāng) FileName 和 Path 屬性值改變時,將引發(fā)PathChange 事件。Click 事件在文件列表框中單擊文件時發(fā)生。DbClick 事件在文件列表框中雙擊文件時發(fā)生。4驅(qū)動器列表框、目錄列表框及文件列表框的同步操作當(dāng)改變驅(qū)動器列表框中的驅(qū)動器名后, 目錄列表框中的目錄應(yīng)當(dāng)隨之變?yōu)樵擈?qū)動器上的

9、目錄,下列程序代碼可使驅(qū)動器列表框和目錄列表框產(chǎn)生同步效果。Private Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd Sub上述事件過程表明,每當(dāng)改變驅(qū)動器列表框的Drive 屬性時,將產(chǎn)生Change 事件,目錄列表框中的目錄變?yōu)樵擈?qū)動器的目錄。同樣可以通過以下事件過程使目錄列表框和文件列表框同步。Private Sub Dri1_Change()File1.Path = Dri1.PathEnd Sub上述兩個事件過程可使三個列表框產(chǎn)生同步效果。5文件的處理步驟文件是指存儲在外部介質(zhì)(如磁盤) 上的數(shù)據(jù)的集合,每一個文件有一個文件名作為標(biāo)

10、識。根據(jù)數(shù)據(jù)的存儲方式和結(jié)構(gòu),文件分為順序文件、隨機文件和二進制文件三種類型。文件的類型不同,訪問數(shù)據(jù)的方式也不同。但不論哪種類型的文件,基本處理步驟是相同的,大致都經(jīng)過以下三步來完成:打開(或建立)文件:文件必須在打開和建立后才能使用。進行讀 / 寫操作: 在打開或建立的文件上執(zhí)行所要求的輸入輸出操作。在文件處理中,把內(nèi)存中的數(shù)據(jù)傳輸?shù)酵獠拷橘|(zhì)(如磁盤) 并保存為文件的操作叫做寫數(shù)據(jù),而把數(shù)據(jù)文件中的數(shù)據(jù)傳輸?shù)絻?nèi)存程序中的操作叫做讀數(shù)據(jù)。關(guān)閉文件:關(guān)閉文件就是將數(shù)據(jù)寫入磁盤,并釋放相關(guān)的資源。6文件的打開( 1)順序文件的打開3格式: Open For As # 其中模式是指文件的打開方式,

11、有三種情況:Input :以讀方式打開文件。Output :以寫方式打開文件。Append:以追加方式打開文件。例如:Open A:D1.Dat For Input As #1以讀方式打開A 盤中的 D1.Dat 文件Open A:D2.Txt For Output As #2以寫方式打開A 盤中的 D2.Txt 文件( 2)隨機文件的打開格式: OpenFor Random As #Len= 記錄長度 ( 3)二進制文件的打開格式: OpenFor Binary As #7文件的關(guān)閉順序文件、隨機文件和二進制文件的關(guān)閉完全相同,其格式為:Close# ,#說明: Close 語句用來關(guān)閉文件

12、,它是在打開文件之后進行的操作。格式中的是Open 語句中使用的文件號。例如用下面的語句打開文件:Open A:D1.Dat For Input As #1則可以用下面的語句關(guān)閉該文件:Close # 1關(guān)閉一個數(shù)據(jù)文件具有兩方面的作用,一是把文件緩沖區(qū)中的所有數(shù)據(jù)寫到文件中;二是釋放與該文件相聯(lián)系的文件號,以供其它Open 語句使用。 Close 語句可以同時關(guān)閉多個已打開的文件,如:Close #1,#2關(guān)閉文件號為1 和 2 的兩個文件Close關(guān)閉所有已打開的文件8文件的寫操作( 1)順序文件的寫操作要向順序文件中寫入內(nèi)容,應(yīng)先以O(shè)utput 或 Append 方式打開文件,然后使用P

13、rint# 語句或 Write# 語句向文件中寫數(shù)據(jù)。 Print# 語句格式為: Print # , 輸出項列表 其中 是以寫方式打開文件的文件號, 輸出項列表 為用逗號或分號分隔的表達式序列, 輸出項列表 若缺省, 將向文件中寫入一個空行。詳細(xì)說明見教材第129 130 頁。例編寫程序把一個文本框中的內(nèi)容以文本的形式保存在磁盤上。假定文本框的名稱為Text1,文件名為Mytext.dat 。程序代碼如下:Open Mytext.dat For Output As #1Print #1, Text1.TextClose #1Write #Write # , 輸出項列表 4Write # 語句

14、的功能與Print #語句基本相同,主要區(qū)別是:Write #語句在各輸出項之間自動插入逗號。Write #語句為字符串兩側(cè)加雙引號。Write #語句在將最后一個字符寫入文件后會插入回車換行符,即Chr(13) +Chr(10) 。( 2)隨機文件的寫操作格式: Put#, 記錄號 , ( 3)二進制文件的寫操作格式: Put #, 位置 ,變量名9文件的讀操作( 1)順序文件的讀操作順序文件的讀操作由Input#、 Line Input#或 Input函數(shù)從文件中讀數(shù)據(jù) Input# 語句格式: Input # , Input# 語句從一個順序文件中讀出數(shù)據(jù)項,把這些數(shù)據(jù)項分別賦給指定的變量,變量的類型與文件中數(shù)據(jù)的類型要對應(yīng)一致。Line Input#語句Line Input#, Line Input#語句從已打開的順序文件中讀出一行,并將其分配給字符串變量。讀出的數(shù)據(jù)中不包含回車及換行符。在文件操作中,Line Input#語句是十分有用的語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論