第6次課-文件(4學(xué)時(shí)).ppt_第1頁(yè)
第6次課-文件(4學(xué)時(shí)).ppt_第2頁(yè)
第6次課-文件(4學(xué)時(shí)).ppt_第3頁(yè)
第6次課-文件(4學(xué)時(shí)).ppt_第4頁(yè)
第6次課-文件(4學(xué)時(shí)).ppt_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2010年9月等級(jí)考試輔導(dǎo),二級(jí)Visual Basic,第六講 文件,順序文件和隨機(jī)文件,(1)順序文件:順序文件的結(jié)構(gòu)比較簡(jiǎn)單,文件中的記錄一個(gè)接一個(gè)地存放; (2)隨機(jī)文件:數(shù)據(jù)采用記錄方式組織,可以根據(jù)需要直接訪問(wèn)文件中的每個(gè)記錄。優(yōu)點(diǎn)是數(shù)據(jù)的存取較為靈活、方便,速度較快,容易修改;缺點(diǎn)是占空間較大,數(shù)據(jù)組織較復(fù)雜。,順序文件:文件讀/寫(xiě)只能在文件指針?biāo)肝恢?隨機(jī)文件:可任意讀取或在任意位置寫(xiě)入記錄,考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),文件的打開(kāi)(建立) 在對(duì)文件進(jìn)行操作之前,必須先打開(kāi)或建立文件。 1. 語(yǔ)句格式,例1:Open in5.txt For Input As #1 例2:Op

2、en App.Path + in5.txt For Input As #1,Open 文件名 For模式 As #文件號(hào) Len=記錄長(zhǎng)度,P154- 考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),Open 文件名 For模式 As #文件號(hào) Len=記錄長(zhǎng)度,For Output:順序文件寫(xiě),For Input:順序文件讀,Input方式打開(kāi),要求被讀取文件必須存在,For Append:順序文件追加方式寫(xiě),For Random:隨機(jī)文件讀寫(xiě),考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),文件指針 文件打開(kāi)后自動(dòng)生成一個(gè)文件指針。 當(dāng)使用Input、Output、Random等方式打開(kāi)文件時(shí),文件指針指向文件的開(kāi)頭。 使用

3、Append方式打開(kāi)文件時(shí),文件指針指向文件的末尾。 完成一次讀寫(xiě)操作后,文件指針自動(dòng)地指向下一次讀寫(xiě)操作的位置。,考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),Open 文件名 For模式 As #文件號(hào) Len=記錄長(zhǎng)度 文件號(hào):1511,在操作時(shí)用于指代打開(kāi)的文件 記錄長(zhǎng)度:隨機(jī)文件操作時(shí)需指定記錄長(zhǎng)度,文件大小=所有記錄大小之和,考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),文件的關(guān)閉 文件的讀寫(xiě)操作結(jié)束后,必須將文件關(guān)閉,這一操作將緩沖區(qū)的內(nèi)容寫(xiě)入文件。 語(yǔ)句格式 Close# 文件號(hào), #文件號(hào) Close,關(guān)閉所有已打開(kāi)的文件,關(guān)閉指定編號(hào)文件,考點(diǎn)2 文件的操作語(yǔ)句和函數(shù),重要函數(shù) 1LOF(文件號(hào)) 返回文

4、件的長(zhǎng)度(字節(jié)數(shù)) 2EOF(文件號(hào)) 如果當(dāng)前文件指針指向文件末尾,則返回True,否則返回False 3. Seek #文件號(hào),位置 定位文件指針,考點(diǎn)3 順序文件,順序文件的寫(xiě)操作 1Print #語(yǔ)句 Print #文件號(hào),Spc(n)|Tab(n)表達(dá)式表;|, Open “test” For Output As #1 打開(kāi)文件供輸出(寫(xiě)入) Print #1, this is a test 輸出一行內(nèi)容 Print #1, 輸出一個(gè)空行 Print #1, hello; ; world Print #1, Spc(5); hello everyone Print #1, Tab(1

5、0); hello Close #1,標(biāo)準(zhǔn)輸出,緊湊輸出,省略會(huì)怎么樣呢?,考點(diǎn)3 順序文件,順序文件的寫(xiě)操作 2Write#語(yǔ)句 Write #文件號(hào),表達(dá)式表,2005年4月選擇題第33題,1在窗體上畫(huà)一個(gè)名稱(chēng)為Command1的命令按鈕和一個(gè)名稱(chēng)為T(mén)ext1的文本框,在文本框中輸入以下字符串:Microsoft Visual Basic Programming,然后編寫(xiě)如下事件過(guò)程: Private Sub Command1_Click() Open d:tempoutf.txt For Output As #1 For i = 1 To Len(Text1.Text) c = Mid(

6、Text1.Text, i, 1) If c = A And c = Z Then Print #1, LCase(c) End If Next i Close End Sub 程序運(yùn)行后,單擊命令按鈕,文件outf.txt中的內(nèi)容是_。,考點(diǎn)3 順序文件,順序文件寫(xiě)操作 將一個(gè)二維數(shù)組a(5,5)的所有數(shù)組元素按矩陣(5行5列)寫(xiě)入到文件OUT.txt,Dim a(5, 5) As Integer For i = 1 To 5 For j = 1 To 5 a(i, j) = Rnd * 100 Next j Next i Open out.txt For Output As #1 For

7、i = 1 To 5 For j = 1 To 5 Print #1, a(i, j); Next j Print #1, Next i Close #1,考點(diǎn)3 順序文件,順序文件的讀操作 1Input#語(yǔ)句 格式:Input #文件號(hào),變量表 功能:把讀出的每個(gè)數(shù)據(jù)項(xiàng)分別存放到所對(duì)應(yīng)的變量 2Line Input #語(yǔ)句 格式:Line Input #文件號(hào),字符串變量 功能:讀一行到變量中,主要用來(lái)讀取文本文件。 3Input$函數(shù) 格式:Input$(n,#文件號(hào)) 功能:從“文件號(hào)”所指定的順序文件中讀出n個(gè)字符,Open “out.txt For Input As #1 Input

8、 #1, a, b, c Close,Open “out.txt For Input As #1 While Not EOF(1) Line Input #1, a Wend Close,Do While Not EOF(1) inputdata = Input(1, #1) Text1.Text = Text1.Text + inputdata Loop,歷年真題,2在名稱(chēng)為Form1的窗體上畫(huà)一個(gè)文本框,其名稱(chēng)為T(mén)ext1,在屬性窗口中把該文本框的MultiLine屬性設(shè)置為T(mén)rue,然后編寫(xiě)如下的事件過(guò)程: Private Sub Form_Click() Open d:testsmte

9、xt1.txt For Input As #1 Do While Not 【1】 Line Input #1, aspect$ whole$ = whole$ + aspect$ + Chr$(13) + Chr$(10) Loop Text1.Text = whole$ Close #1 Open d:testsmtext2.txt For Output As #1 Print #1, 【2】 Close #1 End Sub,Eof(1),Text1.Text,歷年真題,3.假定在工程文件中有一個(gè)標(biāo)準(zhǔn)模塊,其中定義了如下記錄類(lèi)型 Type Books Name As String * 10

10、 TelNum As String * 20 End Type 要求當(dāng)執(zhí)行事件過(guò)程Command1_Click時(shí),在順序文件Person.txt中寫(xiě)入一條記錄。,上機(jī)教程147-真題11.1,【例7】捷成14-5,程序界面如下,代碼不完整,只有一個(gè)函數(shù)過(guò)程isprime(a)可以在程序中直接調(diào)用,其功能是判斷參數(shù)a是否為素?cái)?shù),如果是素?cái)?shù),則返回True,否則返回False。請(qǐng)編寫(xiě)適當(dāng)?shù)氖录^(guò)程,使得在運(yùn)行時(shí),單擊“輸入”按鈕,就把文件in5.txt中的整數(shù)放入Text1中;單擊“計(jì)算”按鈕,則找出大于Text1中的整數(shù)的第1個(gè)素?cái)?shù),并顯示在Text2中;單擊“存盤(pán)”按鈕,則把Text2中的計(jì)算

11、結(jié)果存入out5.txt文件中。,考點(diǎn)5 隨機(jī)文件,隨機(jī)文件的特點(diǎn): 文件由相同大小的記錄組成; 每個(gè)記錄包含記錄號(hào)和記錄的內(nèi)容。,考點(diǎn)4 用戶自定義數(shù)據(jù)類(lèi)型,用戶定義的數(shù)據(jù)類(lèi)型 利用Type語(yǔ)句定義自己的數(shù)據(jù)類(lèi)型(因其常用于隨機(jī)文件的記錄操作,又稱(chēng)記錄類(lèi)型),其格式如下:,記錄類(lèi)型的定義必須放在通用聲明段,Type 自定義類(lèi)型名 元素名(下標(biāo)) As 類(lèi)型名 元素名(下標(biāo)) As 類(lèi)型名 End Type,Type Student num As String*6 學(xué)號(hào) name As String*8 姓名 sex As String*1 性別 mark(1 To 4) As Single

12、4門(mén)課程成績(jī) total As Single 總分 End Type,自定義數(shù)據(jù)類(lèi)型定義位置 1、標(biāo)準(zhǔn)模塊中定義,默認(rèn) 為Public 2、窗體層定義,需要加上 Private,自定義類(lèi)型變量: Dim 變量名 As 自定義數(shù)據(jù)類(lèi)型名,記錄,考點(diǎn)5 隨機(jī)文件,隨機(jī)文件的特點(diǎn): 文件由相同大小的記錄組成; 每個(gè)記錄包含記錄號(hào)和記錄的內(nèi)容。 隨機(jī)文件的打開(kāi) Open “文件名“ For Random As 文件號(hào) Len=記錄長(zhǎng)度 隨機(jī)文件的寫(xiě)操作 Put #文件號(hào),記錄號(hào),變量 隨機(jī)文件的讀操作 Get #文件號(hào),記錄號(hào),變量,隨機(jī)文件的操作步驟,(1)自定義數(shù)據(jù)類(lèi)型; (2)打開(kāi)隨機(jī)文件; (

13、3)將內(nèi)存中的數(shù)據(jù)進(jìn)行寫(xiě)、讀操作: (4)關(guān)閉文件。,(2004年4月選擇題第23題),假定在窗體(名稱(chēng)為Form1)的代碼窗口中定義如下記錄類(lèi)型: Private Type animal AnimalName As String*20 AColor As String*10 End Type 在窗體上畫(huà)一個(gè)名稱(chēng)為Command1的命令按鈕,然后編寫(xiě)如下事件過(guò)程: Private Sub Command1_Click() Dim rec As animal Open c:vbTest.dat For Random As #1 Len = Len(rec) rec.animalName = Ca

14、t rec.aColor = White Put #1, , rec Close #1 End Sub,上機(jī)教程P150-真題11.3,【例】捷成7-5,“寫(xiě)文件”命令按鈕事件過(guò)程用來(lái)建立一個(gè)通信錄,以隨機(jī)存取方式保存到文件t5.txt中;而“讀文件”命令按鈕事件過(guò)程用來(lái)讀出文件t5.txt中的每個(gè)記錄,并在窗體上顯示出來(lái)。 文件t5.txt中已有3個(gè)記錄,請(qǐng)運(yùn)行程序,單擊“寫(xiě)文件”命令按鈕,向文件t5.txt中添加兩個(gè)記錄。,考點(diǎn)6 文件控件,考點(diǎn)6 文件控件,上機(jī)教程P152-真題11.4,【例】捷成45-2,編寫(xiě)適當(dāng)?shù)某绦?,使得三個(gè)文件系統(tǒng)控件可以同步變化,即當(dāng)驅(qū)動(dòng)器列表框中顯示的內(nèi)容發(fā)

15、生變化時(shí),目錄列表框和文件列表框中顯示的內(nèi)容同時(shí)發(fā)生變化。單擊文件列表框時(shí),將選擇的文件名顯示在標(biāo)簽中。 注意:要求程序中不得使用變量,事件過(guò)程中只能寫(xiě)一條語(yǔ)句。,多重窗體程序設(shè)計(jì)與環(huán)境應(yīng)用,與多重窗體程序設(shè)計(jì)有關(guān)的語(yǔ)句和方法 (1)Load語(yǔ)句 格式:Load窗體名稱(chēng) (2)Unload語(yǔ)句 格式:Unload窗體名稱(chēng) (3)Show方法 格式:窗體名稱(chēng).Show 模式 (4)Hide方法 格式:窗體名稱(chēng).Hide,考點(diǎn)2 多重窗體程序的執(zhí)行與保存,一、指定啟動(dòng)窗體 在Visual Basic的應(yīng)用程序中,只有啟動(dòng)窗體才能在運(yùn)行程序時(shí)自動(dòng)顯示出來(lái),其他窗體必須通過(guò)Show方法才能看到。 啟動(dòng)窗體通過(guò)“工程”菜單中的“工程屬性”命令來(lái)指定。執(zhí)行該命令后,將打開(kāi)“工程屬性”對(duì)話框,單擊“通用”選項(xiàng)卡后,在“啟動(dòng)對(duì)象”組合框中可選擇要作為啟動(dòng)窗體的窗體的名稱(chēng)。,上機(jī)教程P140-練習(xí)10.4,程序運(yùn)行后,在Form1窗體的文本框中輸入有關(guān)信息(“密碼”框中顯示“*

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論