VB程序設(shè)計(jì)第10章文件_第1頁(yè)
VB程序設(shè)計(jì)第10章文件_第2頁(yè)
VB程序設(shè)計(jì)第10章文件_第3頁(yè)
VB程序設(shè)計(jì)第10章文件_第4頁(yè)
VB程序設(shè)計(jì)第10章文件_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 Visual Basic 界面設(shè)計(jì)主講教師:徐州工程學(xué)院信電學(xué)院Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院第十章 文件10.1 文件的概念10.2 文件的分類10.3 文件的操作10.4 文件控件Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.1 文件的概念文件是存儲(chǔ)數(shù)據(jù)的基本單位,任何對(duì)數(shù)據(jù)的訪問都是通過文件進(jìn)行的。通常在計(jì)算機(jī)外存儲(chǔ)設(shè)備上存儲(chǔ)著大量的文件,比如文本文件、位圖文件、程序文件等,常將具有相互關(guān)系的一組文件放在同一個(gè)文件夾中,系統(tǒng)通過對(duì)文件、文件夾的管理達(dá)到管理數(shù)據(jù)信息的目的。文件:存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院1

2、0.2 文件的分類從不同角度對(duì)文件進(jìn)行分類:n 按文件的內(nèi)容分類:程序文件、數(shù)據(jù)文件程序文件:源程序代碼、可執(zhí)行文件數(shù)據(jù)文件:程序運(yùn)行所處理的數(shù)據(jù)Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.2 文件的分類從不同角度對(duì)文件進(jìn)行分類:n 按存儲(chǔ)信息的形式分類:二進(jìn)制文件、ASCII文件例:用二進(jìn)制方式和ASCII方式保存 100二進(jìn)制文件 0000 0000 0110 0100 00 H64 HASCII文件1的ASCII碼值49,即31H0的ASCII碼值48,即30H31 H30 H30 HVisual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.2 文件的分類從不同角度對(duì)文件進(jìn)行分類:

3、n 按文件的內(nèi)容分類:程序文件、數(shù)據(jù)文件n 按存儲(chǔ)信息的形式分類:二進(jìn)制文件、ASCII文件n 按訪問方式分類:順序文件、隨機(jī)文件、二進(jìn)制文件Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.2 文件的分類順序文件:普通的文本文件,其數(shù)據(jù)是以字符(ASCII碼)的形式存儲(chǔ)的,可以用任何字處理軟件(比如記事本)進(jìn)行訪問。記錄1記錄2記錄N文件結(jié)束標(biāo)志優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,可以使用記事本建立和查看;缺點(diǎn):查找數(shù)據(jù)必須按照順序進(jìn)行,且不能同時(shí)對(duì)文件進(jìn)行讀寫操作。修改不方便,適合于不經(jīng)常修改的文件。Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.2 文件的分類隨機(jī)文件:以固定長(zhǎng)度的記錄為單位進(jìn)行存

4、儲(chǔ)的。隨機(jī)文件由若干條記錄組成,而每條記錄又可以包含多個(gè)字段,每條記錄包含的字段數(shù)和數(shù)據(jù)類型都是相同的。記錄1學(xué)號(hào)姓名性別年齡記錄2學(xué)號(hào)姓名性別年齡記錄N學(xué)號(hào)姓名性別年齡優(yōu)點(diǎn):存取速度快,容易更新;缺點(diǎn):占用空間大,設(shè)計(jì)程序較復(fù)雜,二進(jìn)制方式存儲(chǔ),不方便查看Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.2 文件的分類二進(jìn)制文件:字節(jié)的集合,直接把二進(jìn)制碼值存放在文件中。除了沒有數(shù)據(jù)類型或者記錄長(zhǎng)度的含義外,它與隨機(jī)文件很類似。二進(jìn)制訪問模式是以字節(jié)數(shù)來定位數(shù)據(jù),在程序中可以按任何方式組織和訪問數(shù)據(jù),對(duì)文件中各字節(jié)數(shù)據(jù)直接進(jìn)行存取。優(yōu)點(diǎn):靈活性很大;缺點(diǎn):程序更復(fù)雜Visual Basi

5、c 程序設(shè)計(jì) 徐州工程學(xué)院10.3 文件的操作VB中文件的訪問:在程序中對(duì)文件的操作,通常按照3個(gè)步驟進(jìn)行:打開文件 讀出或?qū)懭?關(guān)閉文件D:Dataa.txtD:Datab.dat外存#1 文件緩沖區(qū)文件緩沖區(qū)#2 文件緩沖區(qū)文件緩沖區(qū)內(nèi)存數(shù)據(jù)內(nèi)存Write # 或或Print #Put寫操作Input # 或或Line Input #Get讀操作操作系統(tǒng)完成程序控制OpenCloseVisual Basic 程序設(shè)計(jì) 徐州工程學(xué)院1、順序文件的打開 打開文件語句 OPEN語句格式:Open 文件名 For 模式 As #文件號(hào) 作用:在內(nèi)存中開辟文件緩沖區(qū),將物理文件和邏輯文件關(guān)聯(lián)例如:O

6、pen “D:DataStudent.dat” For Input As #1其中:文件名:指定要打開(或創(chuàng)建)的文件,可包含盤符和路徑模式: Input:讀操作,將文件數(shù)據(jù)從外存讀入內(nèi)存; Output:寫操作,從文件的起始處寫入數(shù)據(jù),替代原有內(nèi)容; Append:追加方式,從文件結(jié)尾處開始寫入數(shù)據(jù),并保留原有數(shù)據(jù)。文件號(hào):一個(gè)介于1511之間的整數(shù),又稱為文件標(biāo)識(shí)符或通道號(hào),用來在文件操作中表示該文件。10.3 文件的操作Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院2、順序文件的寫操作(Write # 語句和Print # 語句)nPrint # 語句格式:Print # 文件號(hào),輸出

7、列表功能:將輸出列表的內(nèi)容寫入指定的文件中。例如:10.3 文件的操作Open “D:/Data/Student.txt” For Output As #1Print #1,100,200Print #1, “使用Print語句寫入”Close #1Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院2、順序文件的寫操作(Write # 語句和Print # 語句)nWrite # 語句格式:Write # 文件號(hào),輸出列表功能:將輸出列表的內(nèi)容寫入指定的文件中。例如:10.3 文件的操作Open “D:/Data/Student.txt” For Output As #1Write #1,100

8、,200Write #1, “使用Write語句寫入”Close #1Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院用Write # 語句和Print # 語句寫入的數(shù)據(jù)文件比較10.3 文件的操作說明:nWrite:數(shù)據(jù)項(xiàng)之間逗號(hào)分隔,字符串用雙引號(hào)括起來nPrint:無逗號(hào)分隔、雙引號(hào),按區(qū)(每區(qū)14個(gè)字符寬)分隔思考:哪種寫入方式好?Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院3、順序文件的讀操作使用格式如下:nInput # 文件號(hào),變量列表 把讀出的每個(gè)數(shù)據(jù)項(xiàng)分別存放到所對(duì)應(yīng)的變量nLine Input #文件號(hào),字符串變量 讀取一行數(shù)據(jù)到變量中,主要用來讀取文本文件10.3

9、文件的操作Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院3、順序文件的讀操作nInput # 文件號(hào),變量列表例:注意:確定讀出的數(shù)據(jù)是什么類型?設(shè)置相同類型變量接收讀出的數(shù)據(jù)Open D:datastudent.txt For Output As #1Write #1, 用Write # 語句寫入Write #1, 001, 張三, 87, 92Write #1, 002, 李四, 88, 93Write #1, 003, 王五, 89, 94Close #1Dim no$, Name$, s1%, s2%Open D:datastudent.txt For Input As #1Do W

10、hile Not EOF(1) Input #1, no$,name$,s1%,s2% Print no,name,s1,s2LoopClose #1Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院3、順序文件的讀操作nLine Input #文件號(hào),字符串變量Open D:datastudent.txt For Output As #1Write #1, 用Write # 語句寫入Write #1, 001, 張三, 87, 92Write #1, 002, 李四, 88, 93Write #1, 003, 王五, 89, 94Close #1Open D:datastudent.txt F

11、or Input As #1Do While Not EOF(1) Line Input #1, sPrint sLoopClose #1Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院4、順序文件的關(guān)閉nClose語句Close # 文件號(hào) , # 文件號(hào) 例:Close #1,#2 關(guān)閉1號(hào)文件和2號(hào)文件 Close 關(guān)閉所有已打開的文件10.3 文件的操作注意:關(guān)閉文件時(shí)將內(nèi)存緩沖區(qū)中的數(shù)據(jù)全部寫入文件,并清除緩沖區(qū),釋放全部與被關(guān)閉文件有關(guān)的VB緩沖區(qū)和表示該文件的文件號(hào)。Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院與讀文件操作有關(guān)的幾個(gè)函數(shù)LOF函數(shù)格式:LOF(文件號(hào))功能:返

12、回已打開文件的字節(jié)數(shù)注意:中文占2個(gè)ByteFileLen函數(shù)格式:FileLen(文件名)功能:返回指定文件的長(zhǎng)度EOF函數(shù)格式:EOF(文件號(hào))功能:測(cè)試文件指針是否到達(dá)文件末尾函數(shù)結(jié)果:文件沒有到達(dá)末尾返回False,否則為True10.3 文件的操作例:s=“VB6.0程序設(shè)計(jì)”LOF(1)函數(shù)獲得的文件字節(jié)數(shù):13Len(s)字符數(shù):9Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院綜合示例:學(xué)生信息順序文件的讀寫10.3 文件的操作說明:學(xué)生信息:由學(xué)號(hào)、姓名、性別、聯(lián)系方式四個(gè)字段組成;添加按鈕:使用write語句將輸入的學(xué)生信息添加到數(shù)據(jù)文件;讀取按鈕:從指定文件讀取學(xué)生信息,

13、并顯示在picture1控件上Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院Private Sub Command1_Click()Open “d:datastudent.txt” For Append As #1Write #1, Text1.Text, Text2.Text, Combo1.Text, Text3.TextClose #1MsgBox 添加成功Text1.Text = Text2.Text = Text3.Text = End SubPrivate Sub Command2_Click()Open d:datastudent.txt For Input As #1Do W

14、hile Not EOF(1)Input #1, no, stuName, male, phonePicture1.Print no; Tab(5); stuName; Tab(12); male; Tab(16); phoneLoopClose #1End Sub添加數(shù)據(jù)讀取數(shù)據(jù)Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.4 文件控件n 驅(qū)動(dòng)器列表框:下拉列表,用來顯示系統(tǒng)當(dāng)前驅(qū)動(dòng)器的名稱n 目錄列表框:顯示當(dāng)前驅(qū)動(dòng)器目錄結(jié)構(gòu)及當(dāng)前目錄下的子目錄n 文件列表框:當(dāng)前目錄下所有文件清單Visual Basic 程序設(shè)計(jì) 徐州工程學(xué)院10.4 文件控件n3種控件結(jié)合使用Private Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubVisual Basic 程序設(shè)計(jì) 徐州工程學(xué)院2、順序文件的寫操作例題:假定文本框的名稱為Text1,文件名為Test.dat,保存

溫馨提示

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

評(píng)論

0/150

提交評(píng)論