![《vb第2版》課件第10章 數(shù)據(jù)文件_第1頁](http://file4.renrendoc.com/view/ad7b48e9746407b342944c2bcfee0f53/ad7b48e9746407b342944c2bcfee0f531.gif)
![《vb第2版》課件第10章 數(shù)據(jù)文件_第2頁](http://file4.renrendoc.com/view/ad7b48e9746407b342944c2bcfee0f53/ad7b48e9746407b342944c2bcfee0f532.gif)
![《vb第2版》課件第10章 數(shù)據(jù)文件_第3頁](http://file4.renrendoc.com/view/ad7b48e9746407b342944c2bcfee0f53/ad7b48e9746407b342944c2bcfee0f533.gif)
![《vb第2版》課件第10章 數(shù)據(jù)文件_第4頁](http://file4.renrendoc.com/view/ad7b48e9746407b342944c2bcfee0f53/ad7b48e9746407b342944c2bcfee0f534.gif)
![《vb第2版》課件第10章 數(shù)據(jù)文件_第5頁](http://file4.renrendoc.com/view/ad7b48e9746407b342944c2bcfee0f53/ad7b48e9746407b342944c2bcfee0f535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第十章數(shù)據(jù)文件10.1文件基本概念10.2文件操作10.3文件控件10.4本章小結(jié)10.1文件基本概念■10.1.1文件文件是指在外部存儲器上數(shù)據(jù)的集合。在計算機系統(tǒng)中,文件被解釋為一組賦名的相關(guān)聯(lián)字符流的集合,或者是相關(guān)聯(lián)記錄的集合。VisualBasic使用“文件”這個概念來對外部存儲器上的數(shù)據(jù)進行訪問。為了有效的存取外部存儲器中的數(shù)據(jù),就必須將外部數(shù)據(jù)有效的組織起來。10.1文件基本概念■10.1.2文件分類1.根據(jù)文件內(nèi)容,文件可分為
(1)程序文件(ProgramFile):
(2)數(shù)據(jù)文件(DataFile):2.根據(jù)存取方式和結(jié)構(gòu)分類,數(shù)據(jù)文件又可分為
(1)順序存取文件(SequentialAccessFile):
(2)隨機存取文件(RandomAccessFile):3.根據(jù)文件信息的編碼方式,文件又可以分為
(1)ASCII文件:(2)二進制文件(BinaryFile):10.2文件操作■10.2.1文件處理的步驟1.打開文件一個文件必須先打開才能讀/寫。如果一個文件已經(jīng)存在,則打開該文件;如果不存在,則先建立再打開該文件。2.進行讀/寫操作在打開的文件上執(zhí)行所要求的輸入或輸出操作。在文件的輸入輸出中,把內(nèi)存中的數(shù)據(jù)傳輸?shù)较嚓P(guān)聯(lián)的外部設(shè)備(如磁盤)并作為文件存放的操作稱為寫數(shù)據(jù),或稱為輸出;把外部設(shè)備上文件中的數(shù)據(jù)傳輸?shù)絻?nèi)存中的操作稱為讀數(shù)據(jù),或稱為輸入。3.關(guān)閉文件打開的文件使用(讀/寫)完后,必須關(guān)閉,否則會造成數(shù)據(jù)丟失。關(guān)閉文件會將文件緩沖區(qū)中的數(shù)據(jù)全部寫入磁盤,釋放掉該文件緩沖區(qū)占用的內(nèi)存。10.2文件操作■10.2.2順序文件
1.順序文件的打開(建立)
格式:Open<文件名>For訪問模式Acess訪問方式[Lock]As[#]文件號[Len=記錄長度]說明:①文件名是指要打開的文件的名稱,可包含驅(qū)動器名及路徑名。②訪問模式:是指文件的打開方式,對順序文件而言,有3種模式。
Output(輸出):相當(dāng)于寫文件。
Input(輸入):相當(dāng)于讀文件。
Append(添加):相當(dāng)于將數(shù)據(jù)添加在文件尾部。10.2文件操作■10.2.2順序文件③訪問方式:為可選參數(shù)。它是說明打開文件所允許的操作,有以下3種方式。
Read:只讀。
Write:只寫。
ReadWrite:讀寫皆可,只適用于順序文件的Append模式。④Lock:為可選參數(shù)。它是指其他進程對打開文件所允許的操作,有以下3種方式。
Shared:可對此文件讀寫。
LockRead:不允許讀此文件。
LockWrite:不允許寫此文件。10.2文件操作■10.2.2順序文件⑤文件號:為必選參數(shù),是給打開的文件分配一個文件號,范圍在1~511之間。一旦給文件指定了文件號,該文件號就代表打開的文件,在該文件關(guān)閉以前進行的讀寫操作均使用該文件號;直到關(guān)閉此文件,此文件號才能被其他文件使用。⑥記錄長度:為可選參數(shù)。它是一個小于或等于32767字節(jié)的數(shù)。對于順序文件,該值是緩沖字符數(shù),指定進行數(shù)據(jù)交換時數(shù)據(jù)緩沖區(qū)的大小。⑦Open語句具有打開文件和建立文件兩種功能。如果為Input方式打開的文件不存在,則產(chǎn)生“文件未找到”錯誤;如果為Output、Append等方式打開的文件不存在,則建立并打開文件。10.2文件操作■10.2.2順序文件2.關(guān)閉文件的命令是Close。格式:
Close[#]文件號[,[#]文件號]…功能:關(guān)閉Open語句所打開的指定文件。10.2文件操作■10.2.2順序文件3.順序文件的寫操作(1)Print#語句。語句格式:Print#<文件號>[,<輸出列表>]功能:按規(guī)定格式把輸出表中的數(shù)據(jù)寫入文件號指定的順序文件中。(2)Write#語句格式:Write#文件號[,輸出列表]注意:多個表達式之間可用空白、分號或逗號隔開,空白或分號等效。
10.2文件操作■例【10-1】:用如下語句建立文件city.dat,并把文本框Text1.Text的內(nèi)容寫入該文件中。PrivateSubCommand1_Click()DimFileNumAsIntegerFileNum=FreeFile()Open“city.dat”ForOutputAsFileNumPrint#FileNum,Text1.TextCloseFileNumEndSub10.2文件操作■例【10-2】:建立一個簡單的順序文件testfile.txt
。PrivateSubForm_Click()DimfilenameAsStringfilename=”c:\testfile.txt”O(jiān)penfilenameForOutputAs#1Print#1,”This”;”is”;”my”;”first”;”file.”Print#1,”This”,”is”,”my”,”second”,”file.”Close#1MsgBox”內(nèi)容已經(jīng)成功寫入文件”&filenameEndSub10.2文件操作■例【10-3】:使用Write#語句建立上面的testfile.txt文件PrivateSubForm_Click()DimfilenameAsStringfilename=”c:\testfile.txt”O(jiān)penfilenameForOutputAs#1Write#1,”This”;”is”;”my”;”first”;”file.”,1Write#1,”This”,”is”,”my”,”second”,”file.”,2Close#1MsgBox“內(nèi)容已經(jīng)成功寫入文件”&filenameEndSub10.2文件操作■10.2.2順序文件4.順序文件的讀操作(1)Input#語句Input#文件號,變量列表功能:從已打開的順序文件指針?biāo)傅奈恢闷?,讀出數(shù)據(jù)項,依次賦值給變量表中的各變量。(2)LineInput#語句格式:LineInput#文件號,字符串變量功能:從順序文件中讀取一個完整的行,并把它賦給一個字符串變量。(3)Input函數(shù)格式:Input(n,#<文件號>)功能:返回從指定的文件中讀出n個字符的字符串。10.2文件操作■例【10-4】:測試Input語句PrivateSubForm_Click()DimfilenameAsStringfilename=”c:\testfile.txt”O(jiān)penfilenameForOutputAs#1Write#1,”O(jiān)ne”,”Two”,”Line1”Write#1,”Three”,”Four”,”Line2”Close#1Dims1,s2AsStringOpenfilenameForInputAs#1Input#1,s1,s2MsgBox“S1=”&s1&“S2=”&s2‘結(jié)果是“S1=OneS2=Two“Close#1OpenfilenameForInputAs#1LineInput#1,s1MsgBox“S1=”&s1‘結(jié)果是“S1=”O(jiān)ne”,”Two”,”Line1”“Close#1EndSub10.2文件操作■例【10-4】:10.2文件操作■例【10-5】:使用Input函數(shù)PrivateSubForm_Click()DimfilenameAsStringfilename=”c:\testfile.txt”O(jiān)penfilenameForOutputAs#1Print#1,”ABC大寫字母排排坐”
Close#1OpenfilenameForInputAs#1MsgBoxInput(7,1)‘結(jié)果是“ABC大寫字母”而不是“ABC大寫”Close#1EndSub10.2文件操作■10.2.3隨機文件
這個類型文件的特點就是每個字段都具有固定的長度,針對這個特征,就可以使用隨機存取的文件來保存這些信息。隨機存取的文件是由記錄構(gòu)成的,每個隨機文件的記錄都是由定長的字段構(gòu)成,所以每個記錄的長度也都相同,利用這一點,就可以很方便地找到某個特定記錄的某個字段。
“記錄”是VisualBasic中的用戶自定義的數(shù)據(jù)類型。在程序中使用記錄類型數(shù)據(jù)時,應(yīng)先定義一個記錄類型,再聲明該類型的變量,這樣就為這個變量申請了內(nèi)存空間用于存放隨機文件中的記錄。10.2文件操作■10.2.3隨機文件
1.記錄類型
(1)記錄類型的定義格式:
Type<記錄類型名><數(shù)據(jù)項名1>As<類型><數(shù)據(jù)項名2>As<類型>……EndType
其中,記錄類型名是用戶自定義類型的名稱,數(shù)據(jù)項名是用戶自定義類型中元素的名稱,記錄類型名和數(shù)據(jù)項名的命名規(guī)則與變量的命名規(guī)則相同。
(2)記錄類型變量的訪問形式為:
<記錄變量名>[(i)].<數(shù)據(jù)項名>
其中,若使用(i),表示訪問該記錄類型數(shù)組的第i個元素。10.2文件操作■10.2.3隨機文件2.隨機文件的打開與關(guān)閉在對一個隨機文件操作之前,也必須用Open語句打開文件,隨機文件的打開方式必須是Random方式,同時要指明記錄的長度。與順序文件不同的是,隨機文件打開后,可同時進行寫入與讀出操作。Open語句的格式:Open文件名ForRandomAs#文件號Len=記錄長度因為Random是Open語句缺省的訪問類型,所以ForRandom關(guān)鍵字是可選項。隨機文件的關(guān)閉同順序文件一樣,使用Close語句。10.2文件操作■10.2.3隨機文件3.隨機文件的寫入操作向隨機文件寫數(shù)據(jù)用Put語句。格式:Put[#]文件號,[記錄號],記錄變量說明:“#”、“記錄號”是可選的。該語句是將一個記錄變量的內(nèi)容寫入所打開的磁盤文件中指定的記錄位置處。記錄號是1~231-1的整數(shù),表示寫入的是指定記錄號的記錄;若不指定記錄號,則表示將變量內(nèi)容寫在下一記錄位置。4.隨機文件的讀出操作使用Get語句從隨機文件讀取數(shù)據(jù)。格式:Get[#]文件號,[記錄號],記錄變量說明:記錄變量的數(shù)據(jù)類型必須同文件中記錄的數(shù)據(jù)類型一致。該語句是從磁盤文件將一條由記錄號指定的記錄內(nèi)容讀入記錄變量中。10.2文件操作■例【10-6】:隨機文件的讀寫操作PrivateTypeStructStudentNameAsString*16AgeAsIntegerMarkAsDoubleEndTypePrivateSubForm_Paint()DimOneStudentAsStructStudentDimtheStudentAsStructStudentDimfilenameAsStringfilename=”c:\testfile.txt”O(jiān)neStudent.Name=”張力”
OneStudent.Age=19OneStudent.Mark=79.510.2文件操作■例【10-6】:
OpenfilenameForRandomAs#1Len=Len(OneStudent)Put#1,1,OneStudentOneStudent.Name=”王五”
OneStudent.Age=18
OneStudent.Mark=80.23Put#1,2,OneStudentGet#1,1,theStudentClose#1ClsPrinttheStudent.Name;theStudent.Age;theStudent.MarkEndSub10.2文件操作■例【10-7】:建立一個學(xué)生記錄的隨機文件,通過點擊按鈕能夠?qū)崿F(xiàn)對記錄的隨時添加、刪除和修改操作。10.2文件操作■10.2.4二進制文件
二進制文件可以被看作是字節(jié)的順序排列,以字節(jié)為最小定位單位,可以從文件中任何一個字節(jié)處開始讀/寫。1.二進制文件的打開(建立)
打開二進制文件使用的Open語句形式為:
Open<文件名>ForBinaryAs<文件號>
文件剛被打開時,文件指針指向第一個字節(jié),以后將隨著文件處理命令的執(zhí)行而移動。
2.寫/讀二進制文件二進制文件打開后,可同時進行讀/寫操作,二進制文件讀寫也使用Get和Put語句,只不過不再指定記錄號,而是指定要處理的位置(字節(jié)數(shù))。格式:Put|Get[#]<文件號>,[<位置>],<變量名>其中變量名參數(shù)可以是任何類型的變量,包括可變長度的字符串以及用戶自定義的類型。10.2文件操作■例【10-8】:二進制文件的讀寫操作PrivateSubForm_Paint()DimfilenameAsStringfilename=”c:\testfile.txt”Dimm1AsStringDimn1AsLongn1=12345OpenfilenameForBinaryAs#1Put#1,1,n1Put#1,,”ABC”Get#1,1,n1m1=Input(3,#1)Close#1ClsPrintn1,m1EndSub10.2文件操作■10.2.5文件操作的相關(guān)函數(shù)和語句
1.FreeFile函數(shù)。格式:FreeFile[(n)]
功能:返回一個可用的文件號。
2.EOF(EndofFile)函數(shù)。格式:EOF(<文件號>)
功能:返回一個邏輯值,表示“文件號”所指定文件的指針是否到達文件末尾。3.LOF(LengthOfFile)函數(shù)。格式:LOF(<文件號>)
功能:返回一個長整型數(shù),表示打開的文件的大小,該大小以字節(jié)為單位。10.2文件操作■10.2.5文件操作的相關(guān)函數(shù)和語句4.Loc(Location)函數(shù)。格式:Loc(<文件號>)
功能:返回一個長整型數(shù),表示文件當(dāng)前的讀/寫位置。5.Seek語句和Seek函數(shù)。
Seek語句格式:Seek#<文件號>,<位置>
功能:設(shè)置“文件號”所指定文件中下一個讀或?qū)懙奈恢谩?/p>
Seek函數(shù)格式:Seek(<文件號>)
功能:返回已打開文件的下一次要讀寫的位置。6.FileCopy語句的作用是復(fù)制一個文件。格式:FileCopy源文件名目標(biāo)文件名7.Kill語句的作用是刪除文件。格式:Kill文件名10.2文件操作■10.2.5文件操作的相關(guān)函數(shù)和語句8.Name語句的作用是重命名一個文件或目錄。格式:Name舊文件名新文件名9.ChDrive語句的作用是改變當(dāng)前驅(qū)動器。格式:ChDrive驅(qū)動器10.MkDir語句的功能是創(chuàng)建一個新的目錄。格式:MkDir文件夾名11.ChDir語句的功能是改變當(dāng)前目錄。格式:ChDir文件夾名12.RmDir語句的功能是刪除一個存在的目錄。格式:RmDir文件夾名10.3文件控件■3個文件系統(tǒng)控件驅(qū)動器列表框(DriveListBox)目錄列表框(DirListBox)文件列表框(FileListBox)10.3文件控件■10.3.1驅(qū)動器列表框驅(qū)動器列表框是下拉式列表框,默認情況下顯示用戶系統(tǒng)的當(dāng)前驅(qū)動器。運行時,用戶可輸入任何有效的驅(qū)動器標(biāo)識符,或者單擊驅(qū)動器列表框右側(cè)的箭頭,從下拉出的驅(qū)動器列表中,用戶可選擇有效驅(qū)動器的標(biāo)識符,被選中的驅(qū)動器將出現(xiàn)在列表框的頂端。如圖所示。圖10-6驅(qū)動器列表框
在運行狀態(tài)下可以使用賦值語句給Drive屬性賦值:
<驅(qū)動器列表框名>.Drive[=<驅(qū)動器名>]驅(qū)動器列表框的基本事件是Change事件,在程序運行時,當(dāng)選擇一個新的驅(qū)動器或通過代碼改變Drive屬性的設(shè)置時,都會觸發(fā)驅(qū)動器列表框的Change事件發(fā)生。10.3文件控件■10.3.2目錄列表框在窗體中添加目錄列表框控件,以便當(dāng)程序運行時顯示當(dāng)前驅(qū)動器上的目錄列表。這個目錄列表包
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年水電工程招投標(biāo)代理服務(wù)合同
- 2025年帶燈座項目投資可行性研究分析報告
- 制作度服務(wù)合同范例
- 2025年度綠色建筑項目施工資料審核承包合同范本
- 車輛出質(zhì)抵押合同范本
- 個人股東合作合同范本
- 2025年三相中頻電源行業(yè)深度研究分析報告
- 臨建混凝土勞務(wù)合同范本
- 2025年度工程合同風(fēng)險預(yù)警與防控策略
- 加工彈簧合同范本
- 《工作場所安全使用化學(xué)品規(guī)定》
- 2022年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)考試筆試試題及答案解析
- 市政工程設(shè)施養(yǎng)護維修估算指標(biāo)
- 課堂嵌入式評價及其應(yīng)用
- 《管理學(xué)基礎(chǔ)》完整版課件全套ppt教程(最新)
- 短視頻:策劃+拍攝+制作+運營課件(完整版)
- 基金會財務(wù)報表審計指引
- 藍色卡通風(fēng)好書推薦教育PPT模板
- 2022年江蘇省泰州市中考數(shù)學(xué)試題及答案解析
- 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計46
- 智能化系統(tǒng)培訓(xùn)
評論
0/150
提交評論