教學(xué)材料《VB導(dǎo)論》-第8章_第1頁
教學(xué)材料《VB導(dǎo)論》-第8章_第2頁
教學(xué)材料《VB導(dǎo)論》-第8章_第3頁
教學(xué)材料《VB導(dǎo)論》-第8章_第4頁
教學(xué)材料《VB導(dǎo)論》-第8章_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

章節(jié)內(nèi)容8.1文件處理8.2順序文件8.3隨機(jī)文件8.4二進(jìn)制文件8.1文件的概念8.1文件的概念及文件的類型

文件:存儲(chǔ)在磁盤上的數(shù)據(jù)的集合。

文件的類型:(按存取方式分)(掌握)

順序文件隨機(jī)文件二進(jìn)制文件1.順序文件

以順序存取的方式保存數(shù)據(jù)的文件就叫順序存取文件,簡稱順序文件。順序存取的定義:將要保存的數(shù)據(jù)依序逐個(gè)字符轉(zhuǎn)換成ascii碼,然后再存入磁盤。順序文件按行存取。1行1條記錄(一項(xiàng)數(shù)據(jù)),記錄按需可長可短,文件中的記錄按順序一個(gè)接一個(gè)地排列。讀寫文件時(shí),都必須按記錄順序逐個(gè)進(jìn)行。(比如記事本文件)

文件的定義(了解)2.隨機(jī)文件

隨機(jī)文件(RandomAccessFile)按記錄存取。由大小相同的記錄組成(比如都是10KB)。在這種文件結(jié)構(gòu)中,每個(gè)記錄都有其唯一的1個(gè)記錄號(hào)。隨機(jī)文件的文件結(jié)構(gòu)3.二進(jìn)制文件

二進(jìn)制文件(Binaryfile)是直接把二進(jìn)制碼存放在文件中,沒有什么格式。其存取方式是按字節(jié)進(jìn)行存取,能夠存取任意所需的字節(jié)。二進(jìn)制文件不能使用一般的文本編輯軟件來查看文件的內(nèi)容。課堂練習(xí)根據(jù)數(shù)據(jù)的存取方式和結(jié)構(gòu),文件可分為()A:程序文件和數(shù)據(jù)文件B:ASCII文件和二進(jìn)制文件C:順序文件、隨機(jī)文件、二進(jìn)制文件D:順序文件和ASCII文件C2.文件操作的一般步驟打開讀寫關(guān)閉8.1.2訪問文件的語句和函數(shù)1.open語句(重點(diǎn))

功能:打開或創(chuàng)建一個(gè)文件.

語句格式為:open文件名[for模式][access存取類型][鎖定]as[#]文件號(hào)[len=記錄長度]其中:1.文件名是必要參數(shù),表示要打開文件的名字,可用字符串或字符型變量表示,并可以包括盤符和路徑。例:open“exam”foroutputas#5

或者:open“d:\exam”foroutputas#52.模式參數(shù)是必要參數(shù),用來說明打開文件的方式,可以是:Output:把數(shù)據(jù)寫到文件中。若文件不存在。則創(chuàng)建一個(gè)新文件。若文件存在,則覆蓋原有的內(nèi)容。Input:從文件讀出數(shù)據(jù),若文件不存在,則系統(tǒng)會(huì)報(bào)錯(cuò)。Append:追加數(shù)據(jù)到文件的末尾,不覆蓋文件原來的內(nèi)容。若文件不存在,則創(chuàng)建新文件。Random:打開隨機(jī)文件。Binary:打開二進(jìn)制文件。如果缺省,表示以隨機(jī)訪問模式打開文件。例:Open“Exam”ForOutputAs#5InputAppendRandomBinary4.文件號(hào):這是一個(gè)整型表達(dá)式,取值范圍在1—511之間。Open“exam”foroutputas#5Open“exam”foroutputas#512錯(cuò)誤!要對(duì)順序文件進(jìn)行寫操作,下列打開文件語句中正確的是______。Open“file.txt”ForOutputAs#1Open“file.txt”ForInputAs#1Open“file.txt”ForRandomAs#1Open“file.txt”ForBinaryAs#1A課堂練習(xí)4.若磁盤文件C:\data1.dat不存在,下列打開文件語句中,會(huì)產(chǎn)生錯(cuò)誤的是

A:open“c:\data1.dat”foroutputas#1B:open“c:\data1.dat”forinputas#2C:open“c:\data1.dat”forappendas#3D:open“c:\data1.dat”forbinaryas#4B注意:(1)如果用input模式打開一個(gè)不存在的文件,VB會(huì)產(chǎn)生一個(gè)“文件未找到”的錯(cuò)誤。如果用output、Append、random、binary模式打開一個(gè)不存在的文件,VB會(huì)自動(dòng)創(chuàng)建一個(gè)新文件,不會(huì)報(bào)錯(cuò)。5.從存有數(shù)據(jù)的c:\test\test.txt文件添加數(shù)據(jù),正確的文件打開命令是A:open“c:\test\test.txt”forappendas#512B:open“c:\test\test.txt”forappendas#511C:open“c:\test\test.txt”foroutputas#512D:open“c:\test\test.txt”foroutputas#511B注意:(2)以output模式和Append模式打開文件,目的都是為了向文件中寫入內(nèi)容。但是用output模式打開一個(gè)已有內(nèi)容的順序文件,則該文件中的原來的數(shù)據(jù)將被覆蓋。而用Append模式打開一個(gè)已有內(nèi)容的順序文件,則在該文件末尾追加新內(nèi)容。關(guān)閉文件語句—close格式為:close[[#]文件號(hào)][,[#]文件號(hào)]…….

其中文件號(hào)是open語句使用的文件號(hào),close語句可以包括多個(gè)文件號(hào),之間用逗號(hào)分隔。如果省略文件號(hào),則所有用open語句打開的文件都關(guān)閉。

文件訪問函數(shù)EOF():判斷文件是否結(jié)束。例如:DoWhilenotEOF(8)表示#8文件沒有結(jié)束時(shí),一直循環(huán)。打開文件讀出或?qū)懭腙P(guān)閉文件8.2順序文件在程序中對(duì)文件的操作,通常按3個(gè)步驟進(jìn)行:8.2.1順序文件的寫操作1、打開順序文件Open文件名foroutputas[#]文件號(hào)Open文件名forappendas[#]文件號(hào)例如:

OPEN“C:\TEMP\B.TXT”FOROutputAS#2OPEN“C:\TEMP\C.TXT”FORAppendAS#12.Print#

語句:將一個(gè)或多個(gè)數(shù)據(jù)寫到順序文件中。使用格式:Print#文件號(hào),輸出列表說明:文件號(hào)為以寫方式打開文件的文件號(hào);輸出列表為用分號(hào)或逗號(hào)分隔的變量、常量、空格和定位函數(shù)序列。例1:在C盤的根目錄下建立一個(gè)data.txt文件,并向文件中寫入學(xué)生的信息。PrivateSubForm_Click()Open"c:\data.txt"ForOutputAs#1Print#1,"table1:";Date;Tab(40);"studentinformation"Print#1,Print#1,"0008022101","李強(qiáng)","男","漢族","團(tuán)員","信息工程"Print#1,"0008022102","朱欣","男","漢族","團(tuán)員","信息工程"Print#1,"0008022103","耿鍵","男","漢族","團(tuán)員","通信工程"Close#1EndSub2.Write語句使用格式:Write#<文件號(hào)>,[<輸出列表>]Write語句采用緊湊格式。數(shù)據(jù)項(xiàng)之間自動(dòng)插入“,”,并給字符數(shù)據(jù)加上雙引號(hào),日期和邏輯型加上#。

例2:將例1的文件寫操作全部用write語句替換PrivateSubForm_Click()Open"c:\data.txt"ForOutputAs#1Write#1,"table1:";Date;Tab(40);"studentinformation"Write#1,Write#1,"0008022101","李強(qiáng)","男","漢族","團(tuán)員","信息工程"Write#1,"0008022102","朱欣","男","漢族","團(tuán)員","信息工程"Write#1,"0008022103","耿鍵","男","漢族","團(tuán)員","通信工程"Close#1EndSub練習(xí):在順序文件中,當(dāng)使用write#語句時(shí),文件打開的方式必須是()A:output和appendB:outputC:output或appendD:appendC 8.2.2.順序文件讀操作

1.INPUT#語句(重點(diǎn))

從打開的順序文件中讀取數(shù)據(jù),并將這些數(shù)據(jù)賦值給相應(yīng)的變量。

格式為:input#文件號(hào),變量表.

PrivateSubForm_Click()DimaAsInteger,bAsInteger,cAsInteger,stAsStringOpen"c:\exam.txt"ForInputAs#1Input#1,a,b,c,stPrint"a=";aPrintPrint"b=";bPrintPrint"c=";cPrintPrint"st=";stPrintClose#1EndSub盤上有一個(gè)student.dat文件,其中數(shù)據(jù)為某班學(xué)生的姓名和成績,編寫程序求該班平均成績。PrivateSubCommand1_Click()Open"student.dat"For__________As#1total=0n=0DoWhileNot________Input#1,stu_name,score

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論