版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第八章數(shù)據(jù)文件,是指存儲在外部存儲器(如磁盤)中的信息集合,可以將應(yīng)用程序處理的數(shù)據(jù)以文件、程序文件和數(shù)據(jù)文件的形式保存下來。本章主要內(nèi)容,數(shù)據(jù)文件,順序文件概述,隨機文件,基本操作系統(tǒng)文件對象(FSO),第8章,數(shù)據(jù)文件,8.1.1數(shù)據(jù)文件的結(jié)構(gòu)數(shù)據(jù)文件由記錄組成,記錄由字段組成,字段由字符組成,8.1數(shù)據(jù)文件中的記錄按順序依次排列。它不能隨意靈活地訪問。它僅適用于定期和不經(jīng)常修改的數(shù)據(jù)。(2)隨機文件:隨機文件的每條記錄都有固定的長度,每條記錄都有記錄號。該文件的特點是允許用戶訪問文件中的任何記錄。它可以同時被讀取或?qū)懭?。存儲和讀取速度快,數(shù)據(jù)容易更新。(3)二進制文件:可理解為長度為1的
2、特殊隨機文件,8.1.2文件類型。(1)打開(或創(chuàng)建)文件。(2)讀寫。操作系統(tǒng)設(shè)置文件指針來記住當(dāng)前的讀寫位置。(3)關(guān)閉文件,8.1.3文件處理1。打開文件名對于模式訪問訪問類型鎖定為#文件號Len=記錄長度描述:(1)文件名;(2)模式用于指定文件訪問方法,包括:追加從文件末尾添加二進制二進制文件,輸入順序輸入輸出順序輸出隨機訪問方法(3)文件編號(或文件緩沖區(qū))(4)訪問類型:訪問文件類型,只讀,只寫,讀寫(5)鎖定:限制其他用戶或其他進程讀寫文件。共享、鎖定讀取、鎖定寫入、鎖定讀取寫入(6) Len:用于指定每個記錄的長度(字節(jié)數(shù))。示例:打開d:cj1。dat輸出為# 1,8.1.
3、4文件打開和關(guān)閉,2。關(guān)閉文件(關(guān)閉)打開的文件必須在使用后關(guān)閉。關(guān)閉文件的語句格式:關(guān)閉#1號文件,# 2號文件示例:關(guān)閉# 1,1。FreeFile函數(shù)格式:FreeFile函數(shù):返回程序中未使用的文件編號示例:file no=FreeFileOpend : my file . txt作為文件2輸出。查找語句和查找函數(shù)查找函數(shù)格式:查找函數(shù):返回文件指針的當(dāng)前位置。對于隨機文件,seek函數(shù)返回指針當(dāng)前指向的記錄號。對于順序文件,尋道函數(shù)返回指針?biāo)诘漠?dāng)前字節(jié)位置(從開始算起的字節(jié)數(shù))。尋道語句的格式:尋道#文件號,位置函數(shù):將指定文件的文件指針設(shè)置在下一次讀寫操作的指定位置。對于隨機文件
4、,“位置”是一個記錄號;對于順序文件,“位置”是指字節(jié)位置。8.1.5相關(guān)聲明和功能。3.Eof函數(shù)格式:Eof(文件編號)函數(shù):測試與文件編號相關(guān)的文件是否已經(jīng)到達文件的結(jié)束位置。如果是,函數(shù)值為真;否則,它就是假的。Eof用于避免在讀取文件末尾的數(shù)據(jù)時出錯。4.Lof函數(shù)格式:Lof(文件名)函數(shù):返回與文件號相關(guān)的文件的總字節(jié)數(shù)。5Loc函數(shù)格式:Loc(文件編號)函數(shù):返回與文件編號相關(guān)的文件的當(dāng)前讀寫位置。8.2.1順序文件寫入操作以輸出或附加模式打開文件。然后使用寫#語句或打印#語句將數(shù)據(jù)寫入文件。1.寫語句格式:寫#文件號,表達式表函數(shù):將表達式的值寫入與文件號相關(guān)的順序文件。每
5、個write語句將一條記錄(不定長)寫入順序文件,順序文件自動用逗號分隔每個表達式的值。在字符串中添加雙引號。寫完最后一個字符后,插入一個回車符(Chr(13) Chr(10),這標(biāo)志著記錄的結(jié)束。示例:寫# 1,下午好,1998年8月2日順序文件,它在兩個文件中分別存儲50個150的整數(shù)和可被7整除的數(shù)字,文件名為num1和num2。文件存儲在私有子窗體_ load()中,輸出為# 1,輸出為# 2,I=1到50,在VB默認文件夾中寫入# 1。如果我mod 7=0,然后寫# 2,我下一步我關(guān)閉# 1,# 2卸載我結(jié)束子描述:有50條記錄寫入num1.txt文件,而num2.txt文件只寫幾條
6、可被7整除的記錄。示例8.1在兩個文件中分別存儲了150和可被7整除的數(shù)字。在示例8.1中生成的num2.txt文件中,存儲了幾個可被7整除的數(shù)字。要求在51200范圍內(nèi)添加可被7整除的數(shù)字的程序代碼,如下所示:private subform _ load()opennum2.txt for append as # 1 I=51到200如果I mod 7=0則寫# 1,I Next i Close #1 Unload Me End Sub,例8.2在num 2 . txt文件中添加一個可被7整除的數(shù)字,并輸入某個組中5個學(xué)生的分數(shù)(表8.1)。存儲在文件夾“C:My Documents”中的新
7、序列文件Cj2.txt設(shè)計如下:(1)創(chuàng)建應(yīng)用程序的用戶界面并設(shè)置對象屬性,示例8.3創(chuàng)建學(xué)生成績序列文件Cj2.txt,(2)設(shè)置事件處理表單_加載():創(chuàng)建新文件命令1 _單擊():接收輸入信息, 并在文件Command2_Click()中保存一條記錄:關(guān)閉文件并結(jié)束程序以運行私有子窗體_ load(),打開“c: my documents cj2.txt”以輸出為# 1結(jié)束子私有子命令1_Click() Dim num As String * 6,name As String * 8,score As Integer num=Text1。 文本名稱=文本2。文本分數(shù)=值(文本3。文本)寫
8、入#1,編號,名稱,分數(shù)保存記錄文本1。Text=清空text 2 . text=text 3 . text=text 1 . set focus設(shè)置焦點結(jié)束子命令,私有子命令2 _ click()關(guān)閉# 1結(jié)束子程序運行,用Windows記事本打開順序文件(文本文件),您可以看到存儲文件內(nèi)容的描述:在顯示的文件內(nèi)容中,字符串(學(xué)生編號和姓名)兩邊的引號由系統(tǒng)自動添加。這些字段用逗號分隔。2.打印報表格式:打印#文件編號。表達式表具有與寫相同的功能。將一個或多個表達式的值寫入與文件編號相關(guān)的順序文件。其輸出數(shù)據(jù)格式類似于表單上的打印方法。示例:打印#1,編號,名稱,分數(shù)對應(yīng)于區(qū)域格式打印# 1
9、,編號;名稱;分數(shù)對應(yīng)于緊湊格式。首先,通過輸入打開文件,然后使用輸入或行輸入語句從文件中讀取數(shù)據(jù)。一般來說,輸入用于讀取寫操作寫入的記錄,而行輸入用于讀取打印操作寫入的記錄。1.輸入語句的一般格式:輸入#文件號,變量名表函數(shù):從指定文件中讀取一條記錄。變量的數(shù)量和類型應(yīng)該與要讀取的記錄中存儲的數(shù)據(jù)一致。打開文件時,文件指針指向文件中的第一條記錄,指針在讀取每條記錄后前進一次。如果您想再次從文件開頭讀取數(shù)據(jù),請先關(guān)閉文件,然后再打開它。8.2.2按順序讀出文件。程序代碼如下:private subform _ load()show opendata 1 . txt for output as
10、# 1a=123 3360 b $=ABCD write # 1,a,B $被保存在Close # 1 opendata 1 . txt for input as # 1 input # 1,c,d $讀出Close #1 Print c,d$ End子程序運行,輸出結(jié)果如下:123 ABCD,例8.4,一個訪問數(shù)據(jù)的例子,已知一批可被7整除的數(shù)字被存儲在每行顯示4個數(shù)字。私有子窗體_ load()顯示k=0 opennum2.txt輸入為#1 do,而不是eof (1)當(dāng)文件未完成時,循環(huán)輸入# 1,x打印x,K=k 1如果k Mod 4=0然后打印,每顯示四個數(shù)字后,將循環(huán)結(jié)束# 1結(jié)束子
11、窗體。示例8.5從文件“num2.txt”中讀取數(shù)據(jù),從文件Cj2.txt中讀取五名學(xué)生的數(shù)據(jù)(參見示例8.3),并將其顯示在列表框中。并獲得平均分數(shù):(1)創(chuàng)建應(yīng)用程序的用戶界面并設(shè)置對象屬性,例如,8.6從文件Cj2.txt中讀取五個學(xué)生的數(shù)據(jù),(2)編寫程序代碼的功能要求:當(dāng)您單擊“查詢”按鈕時,打開文件并讀取文件中的所有記錄,并將它們顯示在列表框List1中。計算出的平均分數(shù)顯示在文本框Text1 private子命令1 _ click () dim n為字符串,m為字符串,S為整數(shù)dim x為字符串,t為整數(shù)Open C:my documentsCj2.txt輸入為#1t=0 I=1
12、到5輸入為# 1,n,m,S x=n空格(2) m個字符串列表1。下一次我關(guān)閉# 1text1。text=t/5末端接頭,2。lineinput語句格式:Line Input #文件編號,Character變量函數(shù):從打開的序列文件中讀取一條記錄,即一條Line Input信息示例8.7 private subform _ load()示例將打開的mytxt.txt顯示為#1 a=123 : b $=ABCD打印# 1,a,b $寫入第一條記錄打印# 1,a;B$寫入第二條記錄關(guān)閉#1打開mytxt.txt作為#1行輸入# 1,x$讀取第一條記錄打印x$行輸入# 1,x$讀取第二條記錄打印x
13、$關(guān)閉# 1結(jié)束Sub,3。輸入函數(shù)格式:輸入(字符數(shù),#文件號)函數(shù):從文件中讀取指定字符數(shù)的字符示例:A$=Input(20,#1)順序文件的缺點是不能快速訪問所需的數(shù)據(jù),并且不容易插入、刪除和修改數(shù)據(jù),因此不適合頻繁修改數(shù)據(jù)或取出文件中的單個數(shù)據(jù),但變化不大。每次使用它,你都需要從頭到尾按順序讀寫。它仍然是一個好的文件結(jié)構(gòu)。隨機文件中的每條記錄的長度都是固定的,記錄號也是設(shè)置好的。記錄編號從1開始。當(dāng)訪問記錄時,只需解釋所需記錄的數(shù)量,系統(tǒng)將計算記錄的位置,然后寫入或讀取它們。8.3.1初步理解示例8.8創(chuàng)建一個隨機文件,該文件包含10條記錄,每條記錄由一個數(shù)字(1-10)組成,該數(shù)字為記錄編號。8.3隨機文件,(1)通過類型定義記錄類型.End Type語句,程序代碼如下:Private Type Num Val Squre as Integer
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒類年關(guān)活動策劃方案(3篇)
- 水田拓展活動方案策劃(3篇)
- 答謝活動策劃方案范本(3篇)
- 租賃衣服活動策劃方案(3篇)
- 氣體混凝土施工方案(3篇)
- 大紅圍巾活動策劃方案(3篇)
- 2025年大學(xué)大三(生物工程概論)工程原理實踐測試試題及答案
- 2025年中職航空服務(wù)(客艙安全)試題及答案
- 2025年大學(xué)病理學(xué)實踐(病理實踐操作)試題及答案
- 2025年高職(市場營銷)崗位能力認證測試題及解析
- 2026年菏澤學(xué)院單招職業(yè)傾向性考試題庫附答案解析
- 實際問題與一次函數(shù)課件2025-2026學(xué)年人教版八年級數(shù)學(xué)下冊
- 2025年天津科技大學(xué)毛澤東思想和中國特色社會主義理論體系概論期末考試模擬題及答案1套
- 南方航空安全員培訓(xùn)
- 2025-2026學(xué)年嶺南美版(新教材)初中美術(shù)七年級上冊期末綜合測試卷及答案
- DB11∕T 2398-2025 水利工程巡視檢查作業(yè)規(guī)范
- 2025秋國家開放大學(xué)《政府經(jīng)濟學(xué)》期末機考精準(zhǔn)復(fù)習(xí)題庫
- PCB設(shè)計規(guī)范-MD元器件封裝庫尺寸要求
- 番茄的營養(yǎng)及施肥
- 霧化吸入治療效果的評估與觀察
- 脫硫塔制作安裝施工技術(shù)方案
評論
0/150
提交評論