《Visual Basic程序設(shè)計(jì)簡(jiǎn)明教程》課件第9章_第1頁(yè)
《Visual Basic程序設(shè)計(jì)簡(jiǎn)明教程》課件第9章_第2頁(yè)
《Visual Basic程序設(shè)計(jì)簡(jiǎn)明教程》課件第9章_第3頁(yè)
《Visual Basic程序設(shè)計(jì)簡(jiǎn)明教程》課件第9章_第4頁(yè)
《Visual Basic程序設(shè)計(jì)簡(jiǎn)明教程》課件第9章_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》19.1概述文件(file)是指具有文件名的相關(guān)數(shù)據(jù)的集合,一般把它保存在外部存儲(chǔ)介質(zhì)中(例如磁盤(pán))。VB文件由記錄組成,記錄由字段組成,字段則由字符組成。

VB語(yǔ)言提供了一些語(yǔ)句和函數(shù),專(zhuān)門(mén)用來(lái)完成文件的輸入輸出等操作。按照文件的存取方式進(jìn)行分類(lèi),VB文件一般可以分為順序文件、隨機(jī)文件和二進(jìn)制文件。

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》2順序文件:順序文件一般是普通的文本文件,其所有數(shù)據(jù)都以字符串的形式存儲(chǔ)。順序文件的一行數(shù)據(jù)就是一條記錄,記錄的長(zhǎng)度不固定,記錄之間以換行符予以分隔。順序文件的記錄是順序存儲(chǔ)的,而且只提供第一條記錄的存儲(chǔ)位置。順序文件的訪問(wèn)應(yīng)采取順序存取方式,例如查找某一個(gè)數(shù)據(jù)只能從文件的頭部開(kāi)始,一條一條地順序讀取記錄,直至找到所要查找的記錄為止。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》3隨機(jī)文件:隨機(jī)文件由相同長(zhǎng)度的記錄集合組成,每一條記錄有一個(gè)唯一的記錄號(hào)。隨機(jī)文件的訪問(wèn)可以采取隨機(jī)存取方式,直接讀取某一條記錄。只要指定記錄號(hào),就能夠快速找到該條記錄在文件中的位置,然后進(jìn)行相應(yīng)的操作。 二進(jìn)制文件按二進(jìn)制的形式存儲(chǔ)數(shù)據(jù),這正是數(shù)據(jù)在內(nèi)存中存儲(chǔ)的原始形式。二進(jìn)制文件與隨機(jī)文件很相似,只是沒(méi)有數(shù)據(jù)類(lèi)型和記錄長(zhǎng)度這些說(shuō)明信息。二進(jìn)制文件的訪問(wèn)同樣可以采取隨機(jī)存取方式,直接讀取某一個(gè)字節(jié)。二進(jìn)制文件允許程序按照所需的任何方式組織數(shù)據(jù),并且適用于存取任意結(jié)構(gòu)的數(shù)據(jù)。二進(jìn)制文件:返回2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》49.2文件打開(kāi)與關(guān)閉對(duì)磁盤(pán)文件的操作,主要有打開(kāi)、讀、寫(xiě)、關(guān)閉和刪除等等。對(duì)文件操作時(shí),必須遵循“先打開(kāi),后讀寫(xiě),最后關(guān)閉”的原則。

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》59.2文件打開(kāi)與關(guān)閉——文件打開(kāi)

VB語(yǔ)言為文件打開(kāi)提供Open語(yǔ)句,其格式為:Open文件名[For模式][Access存取類(lèi)型][鎖定]As[#]文件號(hào)[Len=記錄長(zhǎng)度]說(shuō)明:(1)文件名是一個(gè)字符串,該參數(shù)是必選項(xiàng),用來(lái)指定需要打開(kāi)的文件。如果該文件不在當(dāng)前目錄中,則在文件名中必須包含路徑名。(2)模式位于關(guān)鍵字For之后,用來(lái)指定文件的操作方式。一共有5種方式,其中默認(rèn)方式是Random。模式含義Input順序輸入Output順序輸出Append在文件尾部順序輸出Random隨機(jī)存取Binary二進(jìn)制方式2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》6(3)存取類(lèi)型位于關(guān)鍵字Access之后,用來(lái)指定所訪問(wèn)文件的類(lèi)型。(4)鎖定只在網(wǎng)絡(luò)或者多任務(wù)環(huán)境中使用,其作用是限制其他用戶或者進(jìn)程對(duì)已打開(kāi)的文件進(jìn)行讀寫(xiě)操作。(5)文件號(hào)是一個(gè)整型表達(dá)式,該參數(shù)是必選項(xiàng),取值范圍在1~511之間。在執(zhí)行Open語(yǔ)句時(shí),系統(tǒng)自動(dòng)為打開(kāi)的文件和文件號(hào)之間建立關(guān)聯(lián)。此后文件號(hào)就代表打開(kāi)的文件,在程序中對(duì)該文件的操作都要借助于文件號(hào)。(6)記錄長(zhǎng)度是一個(gè)整型表達(dá)式,其取值不能超過(guò)32767。對(duì)于順序文件,該參數(shù)是指緩沖區(qū)的字符數(shù),默認(rèn)值是512;對(duì)于隨機(jī)文件,該參數(shù)是指記錄的長(zhǎng)度,默認(rèn)值是128。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》79.2文件打開(kāi)與關(guān)閉——文件關(guān)閉VB語(yǔ)言為文件關(guān)閉提供Close語(yǔ)句,其格式為:

Close[[#]文件號(hào)][,[#]文件號(hào)…]說(shuō)明:如果省略文件號(hào),則系統(tǒng)會(huì)將程序中所有已經(jīng)打開(kāi)的文件全部關(guān)閉。例如關(guān)閉1號(hào)文件和2號(hào)文件,可以寫(xiě)為:

Close#1,#2返回2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》89.3文件讀寫(xiě)——順序文件1.Print語(yǔ)句Print語(yǔ)句用于將格式化的數(shù)據(jù)寫(xiě)入順序文件,其格式為:Print#文件號(hào),[表達(dá)式列表][;|,]說(shuō)明:(1)Print語(yǔ)句的格式與Print方法十分相似,其差別在于Print語(yǔ)句增加了一個(gè)文件號(hào)參數(shù)。Print語(yǔ)句輸出的對(duì)象是文件,而Print方法輸出的對(duì)象則是窗體、圖片框和打印機(jī)。(2)表達(dá)式列表列出向文件寫(xiě)入的信息,它的用法與Print方法相同。該參數(shù)是可選項(xiàng),如果被省略,則表示向文件寫(xiě)入一個(gè)空行。(3)如果用分號(hào)(;)分隔表達(dá)式列表中的數(shù)據(jù)項(xiàng),按照緊湊格式寫(xiě)入數(shù)據(jù);如果用逗號(hào)(,)分隔數(shù)據(jù)項(xiàng),按照標(biāo)準(zhǔn)格式寫(xiě)入數(shù)據(jù)。(4)對(duì)于字符串?dāng)?shù)據(jù),如果其中含有逗號(hào)、分號(hào)、空格或者換行符,則應(yīng)該先給字符串加上雙引號(hào)(“”),然后寫(xiě)入文件。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》9PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,nameAsString,age%n=Val(Text1.Text)Open"d:\test01.txt"ForOutputAs#1'打開(kāi)文件

Fori=1Tonname=InputBox("請(qǐng)輸入第"&i&"個(gè)學(xué)生的姓名")age=InputBox("請(qǐng)輸入第"&i&"個(gè)學(xué)生的年齡")Print#1,name;age'向文件寫(xiě)入學(xué)生的姓名和年齡

NextiClose#1'關(guān)閉文件

EndSub例9.1

輸入學(xué)生信息,并寫(xiě)入到文件test01.txt中

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》102.Write語(yǔ)句Write語(yǔ)句也能夠?qū)?shù)據(jù)寫(xiě)入順序文件,其格式為:Write#文件號(hào),[輸出列表]說(shuō)明:(1)輸出列表列出向文件寫(xiě)入的信息,其中的各個(gè)數(shù)據(jù)項(xiàng)之間用逗號(hào)(,)分隔。(2)Write語(yǔ)句的功能與Print語(yǔ)句基本相同。其差別在于Write語(yǔ)句寫(xiě)入的數(shù)據(jù)在文件中按照緊湊格式存放,而且自動(dòng)在數(shù)據(jù)之間插入逗號(hào)(,),并給字符串加上雙引號(hào)。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》11例9.2

追加信息到文件test01.txt

PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,nameAsString,age%n=Val(Text1.Text)Open"d:\test01.txt"ForAppendAs#1'打開(kāi)文件

Fori=1Tonname=InputBox("請(qǐng)輸入第"&i&"個(gè)學(xué)生的姓名")age=InputBox("請(qǐng)輸入第"&i&"個(gè)學(xué)生的年齡")Write#1,name,age'向文件寫(xiě)入學(xué)生的姓名和年齡

NextiClose#1'關(guān)閉文件

EndSub2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》123.Input語(yǔ)句Input語(yǔ)句用于從順序文件讀取數(shù)據(jù),并把這些數(shù)據(jù)賦給相應(yīng)的變量。其格式為:

Input#文件號(hào),變量列表說(shuō)明:(1)變量列表列出的變量用于接收從文件讀出的信息,各個(gè)變量之間用逗號(hào)(,)分隔。(2)變量的類(lèi)型應(yīng)該與文件中數(shù)據(jù)的類(lèi)型相匹配。為了確保能夠?qū)⑽募械臄?shù)據(jù)正確地讀出,Input語(yǔ)句應(yīng)該與Write語(yǔ)句配合使用。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》13例9.3

顯示文件test01.txt中的信息

PrivateSubCommand1_Click()DimnameAsString,age%

Open"d:\test01.txt"ForInputAs#1'打開(kāi)文件

DoWhileNotEOF(1)Input#1,name,age'從文件讀出學(xué)生的姓名和年齡

Picture1.Printname,ageLoopClose#1‘關(guān)閉文件

EndSub

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》144.LineInput語(yǔ)句LineInput語(yǔ)句用于從順序文件讀取一行數(shù)據(jù),并把它賦給一個(gè)字符串變量。其格式為:LineInput#文件號(hào),字符串變量說(shuō)明:LineInput語(yǔ)句能夠一次讀出文件中的一行數(shù)據(jù)即一條記錄,其中不包含換行符。LineInput語(yǔ)句一般與Print語(yǔ)句配合使用。5.Input函數(shù)Input函數(shù)用于從文件中讀取指定數(shù)量的字符,并把它賦給一個(gè)字符串變量。其格式為:

Input(n,#文件號(hào))說(shuō)明:Input函數(shù)通常出現(xiàn)在賦值語(yǔ)句中,參數(shù)n指定了讀取字符的數(shù)量。例如:

DimaAsStringa=Input(20,#1)Input函數(shù)從1號(hào)文件讀出20個(gè)字符,并賦給字符串變量a。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》159.3文件讀寫(xiě)——隨機(jī)文件隨機(jī)文件由一組相同長(zhǎng)度的記錄組成,是以記錄為單位進(jìn)行文件的讀寫(xiě)操作。在程序中打開(kāi)一個(gè)隨機(jī)文件之前,應(yīng)先定義一個(gè)記錄類(lèi)型,與該文件所包含的記錄結(jié)構(gòu)相對(duì)應(yīng)。在打開(kāi)隨機(jī)文件之后,既可以進(jìn)行寫(xiě)操作,也可以進(jìn)行讀操作,而且能夠直接定位在任意一條記錄上。

2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》161.Put語(yǔ)句Put語(yǔ)句用于將記錄變量中的數(shù)據(jù),寫(xiě)入到隨機(jī)文件中指定的記錄位置。其格式為:

Put#文件號(hào),[記錄號(hào)],變量說(shuō)明:記錄號(hào)是一個(gè)自然數(shù),表示寫(xiě)入的是第幾條記錄。如果省略了記錄號(hào),例如寫(xiě)為:

Put#1,,stu

則表示把變量中的記錄寫(xiě)入到文件的下一個(gè)記錄位置。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》172.Get語(yǔ)句Get語(yǔ)句用于從隨機(jī)文件讀取指定位置的記錄,并把它賦給一個(gè)記錄變量。其格式為:

Get#文件號(hào),[記錄號(hào)],變量說(shuō)明:Get語(yǔ)句的格式與Put語(yǔ)句基本相同,其作用則正好相反。返回2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》189.4文件操作讀寫(xiě)操作是文件操作的重要組成部分,它針對(duì)的是文件內(nèi)容。文件操作還有刪除、復(fù)制和重命名等等,這些操作主要是針對(duì)文件整體。VB提供了一組語(yǔ)句和函數(shù),使得程序員可以對(duì)文件或者目錄進(jìn)行一些維護(hù)性操作。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》199.4文件操作——文件操作語(yǔ)句1.FileCopy語(yǔ)句FileCopy語(yǔ)句用于將源文件復(fù)制到指定的目標(biāo)文件,其格式為:

FileCopy源文件名,目標(biāo)文件名2.Kill語(yǔ)句Kill語(yǔ)句用于刪除指定的文件,其格式為:

Kill文件名2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》203.Name語(yǔ)句N(xiāo)ame語(yǔ)句用于對(duì)文件重命名,其格式為:

Name原文件名As新文件名4.Seek語(yǔ)句Seek語(yǔ)句用于設(shè)置文件的下一個(gè)讀寫(xiě)位置,其格式為:

Seek#文件號(hào),位置5.ChDrive語(yǔ)句ChDrive語(yǔ)句用于設(shè)置當(dāng)前驅(qū)動(dòng)器,其格式為:

ChDrive驅(qū)動(dòng)器名2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》216.MkDir語(yǔ)句MkDir語(yǔ)句用于創(chuàng)建一個(gè)新目錄,其格式為:

MkDir目錄名

7.ChDir語(yǔ)句ChDir語(yǔ)句用于設(shè)置當(dāng)前目錄,其格式為:

ChDir目錄名8.RmDir語(yǔ)句RmDir語(yǔ)句用于刪除指定的目錄,其格式為:

RmDir目錄名2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》229.4文件操作——文件操作函數(shù)1.FreeFile函數(shù)FreeFile函數(shù)的格式為:

FreeFile[(n)]該函數(shù)的作用是,返回一個(gè)在程序中尚未使用的文件號(hào)。2.LOF函數(shù)LOF函數(shù)的格式為:

LOF(文件號(hào))該函數(shù)的作用是,返回指定文件的長(zhǎng)度(字節(jié)數(shù))。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》233.EOF函數(shù)EOF函數(shù)的格式為:EOF(文件號(hào))該函數(shù)的作用是,檢測(cè)當(dāng)前操作是否到達(dá)文件的尾部。4.Seek函數(shù)Seek函數(shù)的格式為:Seek(文件號(hào))該函數(shù)的作用是,返回文件的當(dāng)前讀寫(xiě)位置。5.CurDir函數(shù)CurDir函數(shù)的格式為:CurDir[(驅(qū)動(dòng)器名)]該函數(shù)的作用是,返回指定驅(qū)動(dòng)器的當(dāng)前目錄。

6.Shell函數(shù)Shell函數(shù)的格式為:Shell(文件名[,窗口類(lèi)型])該函數(shù)的作用是,調(diào)用并運(yùn)行指定的可執(zhí)行文件。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》249.5文件系統(tǒng)控件除了通用對(duì)話框之外,VB還提供了文件系統(tǒng)控件,它包括驅(qū)動(dòng)器列表框控件、目錄列表框控件和文件列表框控件。文件系統(tǒng)控件是標(biāo)準(zhǔn)控件,程序員可以使用它創(chuàng)建自定義對(duì)話框,編寫(xiě)文件管理程序。返回2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》259.5文件系統(tǒng)控件——驅(qū)動(dòng)器列表框驅(qū)動(dòng)器列表框(DriveListBox)控件用來(lái)列出系統(tǒng)中全部有效的驅(qū)動(dòng)器,默認(rèn)情況下顯示系統(tǒng)當(dāng)前的驅(qū)動(dòng)器,用戶也可以從下拉式列表框中選擇所需的驅(qū)動(dòng)器。在工具箱中表示為:2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》26驅(qū)動(dòng)器列表框的常用屬性屬性作用Name設(shè)置驅(qū)動(dòng)器列表框的對(duì)象名,程序第一個(gè)驅(qū)動(dòng)器列表框控件的默認(rèn)對(duì)象名是Drive1Drive設(shè)置所選擇的驅(qū)動(dòng)器名List確定驅(qū)動(dòng)器列表框所顯示的驅(qū)動(dòng)器列表ListCount確定驅(qū)動(dòng)器列表框中驅(qū)動(dòng)器的總數(shù)2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》27說(shuō)明:⒈Drive是驅(qū)動(dòng)器列表框控件最重要的屬性,其屬性值只能通過(guò)程序代碼設(shè)置。⒉List是一個(gè)字符串?dāng)?shù)組,其中每一個(gè)元素都存放了一個(gè)有效的驅(qū)動(dòng)器名和卷標(biāo)。Change事件是驅(qū)動(dòng)器列表框控件最重要的事件。一旦用戶選擇了一個(gè)新的驅(qū)動(dòng)器,導(dǎo)致Drive屬性值被改變,就會(huì)引發(fā)Change事件。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》289.5文件系統(tǒng)控件——目錄列表框目錄列表框(DirListBox)控件用來(lái)顯示系統(tǒng)當(dāng)前驅(qū)動(dòng)器上的目錄結(jié)構(gòu),初始狀態(tài)下只顯示當(dāng)前驅(qū)動(dòng)器的根目錄和當(dāng)前目錄。程序運(yùn)行時(shí)如果用戶雙擊某個(gè)子目錄,就可以使它成為當(dāng)前目錄。在工具箱中表示為:2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》29目錄列表框的常用屬性屬性作用Name設(shè)置目錄列表框的對(duì)象名,程序第一個(gè)目錄列表框控件的默認(rèn)對(duì)象名是Dir1Path設(shè)置當(dāng)前目錄List確定當(dāng)前目錄下的子目錄列表ListCount確定當(dāng)前目錄下子目錄的總數(shù)ListIndex確定當(dāng)前目錄在目錄列表中的索引2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》30說(shuō)明:⒈目錄列表框只能顯示當(dāng)前驅(qū)動(dòng)器上的目錄,如果要顯示其他驅(qū)動(dòng)器上的目錄,則必須修改Path屬性,從而改變路徑。⒉List是一個(gè)字符串?dāng)?shù)組,其中每一個(gè)元素都存放了當(dāng)前目錄下的一個(gè)子目錄名。⒊當(dāng)前目錄的ListIndex屬性值是-1。如果當(dāng)前目錄包含子目錄,則每一個(gè)子目錄的ListIndex屬性值依次從0到ListCount-1;如果當(dāng)前目錄有父目錄,則父目錄的ListIndex屬性值是-2,依次類(lèi)推。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎn)明教程》31事件:Change事件是目錄列表框控件最重要的事件。一旦用戶選擇了一個(gè)新的目錄,導(dǎo)致Path屬性值被改變,就會(huì)引發(fā)Change事件。2023/12/13《VisualBasic程序設(shè)計(jì)簡(jiǎ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)論