計(jì)算機(jī)VB學(xué)習(xí)第9章_第1頁
計(jì)算機(jī)VB學(xué)習(xí)第9章_第2頁
計(jì)算機(jī)VB學(xué)習(xí)第9章_第3頁
計(jì)算機(jī)VB學(xué)習(xí)第9章_第4頁
計(jì)算機(jī)VB學(xué)習(xí)第9章_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 Visual Basic程 序 設(shè) 計(jì)山東外貿(mào)職業(yè)學(xué)院E-mail:信息管理系 柳淑花第9章 文 件 本章主要內(nèi)容1、文件的打開、關(guān)閉與讀寫 2、順序文件3、隨機(jī)文件4、二進(jìn)制文件5、文件操作函數(shù)與語句6、文件操作控件作業(yè) 本章小結(jié) 退出第9章 文 件 什么是文件? 文件是存儲(chǔ)在外部介質(zhì)(如磁盤)上的數(shù)據(jù)的集合。以文件名進(jìn)行標(biāo)識(shí)。 存儲(chǔ)在磁盤上的文件稱為磁盤文件,輸出到打印機(jī)上就是一個(gè)打印機(jī)文件。與計(jì)算機(jī)相連的設(shè)備稱為設(shè)備文件。因此廣義地說,任何輸入輸出設(shè)備都是文件。上一頁下一頁返回本章首頁 文件的分類 根據(jù)不同的分類標(biāo)準(zhǔn),文件可分為不同的類型: 根據(jù)文件的內(nèi)容,文件可分為: 程序文件:可由

2、計(jì)算機(jī)直接執(zhí)行的程序。 如:.exe、 .frm、 .vbp、 .vbg、 .bas 等 數(shù)據(jù)文件:用來存放普通的數(shù)據(jù),必須由程序來存取和 管理。 根據(jù)數(shù)據(jù)的編碼方式,文件可分為: ASCII文件:(文本文件)可用字處理軟件建立和修改。 二進(jìn)制文件:以二進(jìn)制方式保存的文件。它不能用字處 理軟件編輯,占空間較小。 根據(jù)數(shù)據(jù)的存取訪問方式,文件可分為: 順序文件、隨機(jī)文件和二進(jìn)制文件上一頁下一頁返回本章首頁返回本章首頁9.1 文件的打開、關(guān)閉與讀寫 為訪問存放在外部介質(zhì)上的數(shù)據(jù),應(yīng)先按文件名找到所指定的文件,然后再從該文件中讀取數(shù)據(jù)。 文件名(文件標(biāo)識(shí)符)指的是: 設(shè)備名:文件所在的路徑名主文件名

3、.擴(kuò)展名 即:盤號(hào): 路徑 在VB中,文件說明沒有大小寫之分。 如:c:windowscalc.exe文件結(jié)構(gòu): 為了有效地存取數(shù)據(jù),數(shù)據(jù)必須以某種特殊的方式存放,這種特定的方式稱為文件結(jié)構(gòu)。 上一頁下一頁返回本章首頁文件的組成: VB中文件由記錄組成,記錄由字段組成,字段由字符組成。 字符:是構(gòu)成文件的最基本單位。 字段或域:由若干個(gè)字符組成,用來表示一項(xiàng)數(shù)據(jù)。 記錄:就是一組有相互關(guān)系的字段。 文件:是記錄的集合。 如:用戶電腦購置清單編號(hào)姓名CPU內(nèi)存硬盤顯示器顯卡光驅(qū)軟驅(qū)機(jī)箱組件其它00001王偉鋒P733HY256APD40GPhilips自帶MGH50NEC中檔無00002李偉鋒P

4、800HY640APD50GPhilips自帶MGH50NEC高檔無上一頁下一頁返回本章首頁返回本章首頁文件操作的步驟: 在 VB中數(shù)據(jù)文件的讀寫按下列步驟進(jìn)行:(1)打開(或建立)文件 一個(gè)文件必須先打開或建立后才能使用。(若已存在,則打開該文件;若不存在,則建立該文件)(2)進(jìn)行讀、寫操作 在打開(或建立)的文件上執(zhí)行所要求的輸入輸出操作。 把內(nèi)存中的數(shù)據(jù)傳輸?shù)较嚓P(guān)聯(lián)的外部設(shè)備(如磁盤)并作為文件存放的操作叫做寫數(shù)據(jù)。 把數(shù)據(jù)文件中的數(shù)據(jù)傳輸?shù)絻?nèi)存中的操作叫做讀數(shù)據(jù)。 即:主存 外設(shè)叫做輸出或?qū)?外設(shè) 主存 叫做輸入或讀(3)關(guān)閉文件上一頁下一頁返回本章首頁返回本章首頁 文件的緩沖區(qū):緩沖

5、區(qū):是內(nèi)存中供信息臨時(shí)存儲(chǔ)的一片區(qū)域。 VB對(duì)文件進(jìn)行讀寫操作時(shí),在內(nèi)存開辟一個(gè)“文件緩沖區(qū)”,從文件中讀取的內(nèi)容、從內(nèi)存向文件寫入的內(nèi)容都必須先送到緩沖區(qū)。使用“文件緩沖區(qū)”的好處是:可提高文件的讀寫 速度。每一個(gè)打開的文件都對(duì)應(yīng)一個(gè)緩沖區(qū),每個(gè)緩沖區(qū)有一個(gè)緩沖區(qū)號(hào),即讀寫操作涉及到的文件號(hào)。上一頁下一頁返回本章首頁9.2 順序文件(文本文件)順序文件中的數(shù)據(jù)是按順序組織的文本行,每行(即一個(gè)記錄)的長度可以變化,用“換行”字符作為分隔符號(hào)。在順序文件中,只知道第一個(gè)記錄的存放位置,其他的記錄無從知曉。當(dāng)要查找某項(xiàng)數(shù)據(jù)時(shí),只能從文件的開頭,一個(gè)記錄一個(gè)記錄的順序查找,直到找到所需記錄為止。

6、文件中的數(shù)據(jù)以ASCII碼方式存儲(chǔ)。上一頁下一頁返回本章首頁1. 打開順序文件 在VB中,使用Open語句打開或建立文件,為文件的輸入輸出分配緩沖區(qū),并確定緩沖區(qū)所使用的存取方式。 格式: Open 文件名 For Input | Output | Append As #文件號(hào) 其中: 文件名:字符串類型,指定文件的路徑與文件名,可以是字符型常量、變量、表達(dá)式。 上一頁下一頁返回本章首頁 打開方式: Input從文件讀入數(shù)據(jù)(磁盤 內(nèi)存) Output 把數(shù)據(jù)寫到文件中(內(nèi)存 磁盤, 若文件不存在,則新建;若文件已存在,則覆蓋) Append追加數(shù)據(jù)到文件末尾 文件號(hào):代表被打開文件的文件號(hào)(

7、緩沖區(qū)號(hào))。 取值范圍是:1511 之間的整數(shù)。 注意: 一個(gè)被占用的文件號(hào)不能再用于打開其他的文件。 如:打開文件d:myfile.txt Open “d:myfile.txt For Input As #1上一頁下一頁返回本章首頁2、關(guān)閉文件 Close語句用于關(guān)閉使用Open 語句所打開的輸入/輸出文件。 格式: Close #文件號(hào)1 , #文件號(hào)2 說明: (1)若省略 Close關(guān)鍵字后的內(nèi)容,則將關(guān)閉 Open 語句打開的所有活動(dòng)文件。 (2)文件被關(guān)閉之后,它所占用的文件號(hào)會(huì)被釋放,可供以后的OPEN 語句使用。 如: Close #1上一頁下一頁返回本章首頁3、寫順序文件 寫

8、順序文件之前,應(yīng)該使用Output 或Append 方式先打開文件,然后將常量、變量、屬性、表達(dá)式寫入順序文件。 寫順序文件使用Print# 語句或Write# 語句實(shí)現(xiàn): (1)Print # 語句 格式:Print #文件號(hào), spc(n) | tab(n) 表達(dá)式表 ;|, 功能:將表達(dá)式表 中的數(shù)據(jù)寫入順序文件中。 如:open “d:myfile.txt” for append as #1 print #1 ,“ Hello”,123.45,date,time上一頁下一頁返回本章首頁說明: A、SPC(n) 用來在輸出位置插入n個(gè)空格 B、Tab(n) 用來將其后的輸出項(xiàng)定位在第n列

9、分隔符可以是逗號(hào)或分號(hào),打印格式分別對(duì)應(yīng)標(biāo)準(zhǔn)格式或緊湊格式 標(biāo)準(zhǔn)格式輸出(用“ , ”)例如: Open “Test.Dat” For Output As #10 Print #10, 1, 2, 3 Print #10, ”we”, ”study”, ”VB6.0” Close 10打印結(jié)果: 1 2 3 we study VB6.0上一頁下一頁返回本章首頁 緊湊格式輸出(用“ ; ”)例如: Open “Test.Dat” For Output As #10 Print #10, 1; 2; 3 Print #10, ”we”; ”study”; ”VB6.0” Close 10打印結(jié)果:

10、 1 2 3 westudyVB6.0上一頁下一頁返回本章首頁C、如何將文本框的內(nèi)容寫入文件 如果要將文本框的內(nèi)容一次性寫入文件中,可以采用如下方法: Open “d:Mytext1.txt For Output As #1 Print #1,Text1.Text Close #1 如果要將文本框的內(nèi)容逐字地寫入文件中,可以采用如下方法: Open “d:Mytext2.txt“ For Output As #1 For i=1 to Len(Text1.Text) Print #1,Mid(Text1.Text, i, 1) Next i Close #1上一頁下一頁返回本章首頁例 9.1

11、Print # 語句舉例使用 Print # 語句將數(shù)據(jù)寫入一個(gè)文件Open “d:sxw.txt For Output As #1 打開輸出文件Print #1, 學(xué)生成績表 將文本數(shù)據(jù)寫入文件Print #1, 將空白行寫入文件Print #1, “姓名”, “成績”, “備注” 數(shù)據(jù)寫入三個(gè)區(qū)Print #1, 王維; ; 95 以空格隔開兩個(gè)字符串Print #1, 黃梅; ; 0; 下一個(gè)Print # 語句將不換行Print #1, Spc(15); “舞弊” 在字符串之前寫入十五個(gè)空格Print #1, Tab(5); 輸入完畢! 在第5列輸出字符串 Close #1 Li9_1

12、.vbp上一頁下一頁返回本章首頁(2)Write # 語句 格式:Write #文件號(hào), spc(n) | tab(n) 表達(dá)式表 功能:將數(shù)據(jù)寫入順序文件。 Write #語句 與 Print # 語句不同: Write # 語句會(huì)在輸出的數(shù)據(jù)項(xiàng)之間插入逗號(hào); 若參數(shù)是字符類型,則文件中對(duì)應(yīng)的輸出項(xiàng)被加上雙引號(hào); 日期時(shí)間類型、邏輯類型參數(shù)所對(duì)應(yīng)的輸出項(xiàng)兩邊被加上“#”號(hào),數(shù)值類型無特殊處理; 表達(dá)式表中的分界符; | ,作用相同。 Write # 語句在將表達(dá)式表中的最后一個(gè)字符寫入文件后會(huì)插入一個(gè)新行字符,即回車換行符,(Chr(13) + Chr(10)。上一頁下一頁返回本章首頁如:

13、Open “Test.Dat” For Output As #12 Write #12, 1, -2, 3, “ABC” Write #12 Write #12, 5, 6, 7, “DEF”, Write #12 Close 12 執(zhí)行上面程序片斷,寫到文件“Test.Dat”中的數(shù)據(jù)是: 1,-2 ,3,“ABC” 5,6,7,“DEF” 例9.2:Write # 語句舉例 Li9_2.vbp上一頁下一頁返回本章首頁4、讀順序文件 要將順序文件中的數(shù)據(jù)讀到變量中,則必須以 Input 方式打開順序文件。 讀順序文件可以使用以下方式:(1)Line Input # 語句 (也可用于隨機(jī)文件)

14、 格式:Line Input #文件號(hào), 字符串變量 功能:從已打開的順序文件中讀入一行(直到遇到回車符為止),并將它賦給字符串變量。(回車換行被跳過)例9.3:將文本文件中的文本讀到文本框中。 界面如圖: li9_3.vbp上一頁下一頁返回本章首頁(2)Input # 語句 格式:Input #文件號(hào), 變量列表 功能:從已打開的順序文件中讀入一項(xiàng)或多項(xiàng)數(shù)據(jù),并將數(shù)據(jù)賦給用逗號(hào)分隔的變量列表中的變量。 說明: 讀入的數(shù)據(jù)項(xiàng)的類型應(yīng)與變量列表中的變量的類型相對(duì)應(yīng); Input # 語句在讀入數(shù)據(jù)時(shí),是按文件中的分隔符(空格、回車、換行、逗號(hào))來區(qū)分?jǐn)?shù)據(jù)項(xiàng)的,所以應(yīng)用Input # 語句來讀Wr

15、ite #語句產(chǎn)生的數(shù)據(jù); 例9.4:Input # 語句舉例 界面如圖: li9_4.vbp上一頁下一頁返回本章首頁(3)Input 函數(shù)格式:Input(讀取的字符數(shù), #文件號(hào))功能:讀取以 Input 方式打開的文件中的指定數(shù)目 的字符。舉例見 li9_3.vbp Open d:sxw.txt For Input As #1 Do While Not EOF(1) inputdate = Input(1, #1) Text1.Text = Text1.Text + inputdate Loop Close #1 上機(jī)作業(yè) 實(shí)訓(xùn)十二 文件操作上一頁下一頁返回本章首頁9.3 隨機(jī)文件隨機(jī)文

16、件有時(shí)又稱隨機(jī)存取文件或直接存取文件, 是由一組長度相等的記錄組成的,一般它們以二進(jìn)制形式存放,每個(gè)記錄包含一個(gè)或多個(gè)字段(若只有一個(gè)字段,則可以是任何一種標(biāo)準(zhǔn)數(shù)據(jù)類型,如整數(shù)或者定長字符串;若有多個(gè)字段,則該記錄對(duì)應(yīng)于用戶自定義類型。)對(duì)于隨機(jī)文件,可以根據(jù)文件中的記錄號(hào)訪問任何一條記錄,無須按順序進(jìn)行。在隨機(jī)文件中,每個(gè)記錄是等長的,記錄中每個(gè)字段的長度也是固定的,且每個(gè)記錄都有一個(gè)記錄號(hào),讀寫數(shù)據(jù)時(shí),只需指定記錄號(hào)即可,且可以同時(shí)進(jìn)行讀寫操作,數(shù)據(jù)的存取靈活、方便、速度快,但是占用的空間大、數(shù)據(jù)組織復(fù)雜。上一頁下一頁返回本章首頁1、隨機(jī)文件的打開與關(guān)閉格式:Open 文件名 For Ra

17、ndom As #文件號(hào) Len = 記錄長度 (默認(rèn)是128B)其中: 文件名:字符串類型,指定文件的路徑與文件名。 For Random:指定文件是以隨機(jī)方式打開(默認(rèn)) 以隨機(jī)方式打開的文件既可以讀也可以 寫,如果文件不存在。則新建文件。 記錄長度:指定讀寫操作時(shí)一條記錄的長度(字節(jié))。如:用隨機(jī)方式打開d:myfile2文件,記錄長度為512字節(jié)。 Open “d:myfile2 For Random As # 1 Len = 512上一頁下一頁返回本章首頁如:以隨機(jī)方式打開D:myfile2 文件,文件中 含有用戶自定義數(shù)據(jù)類型 Record 的記錄。 Type Record 定義用

18、戶自定義數(shù)據(jù)類型 ID As Integer Name As String * 16 End Type Dim MyRecord As Record 聲明變量 Open “d:myfile For Random As # 1 Len = Len (MyRecord) 隨機(jī)文件的關(guān)閉同順序文件一樣,用Close語句上一頁下一頁返回本章首頁2、隨機(jī)文件的寫操作 隨機(jī)文件的寫操作使用Put 語句。格式:Put #文件號(hào), 記錄號(hào), 表達(dá)式功能:將表達(dá)式的數(shù)據(jù)作為一條記錄寫入磁盤文件中。說明: 文件號(hào)已打開的隨機(jī)文件的文件號(hào); 記錄號(hào)指定數(shù)據(jù)要寫入的記錄號(hào)(原記錄有數(shù)據(jù),則覆蓋);若省略,則寫在上一次

19、讀寫記錄的下一條記錄。若未讀寫,則為第一條記錄。 表達(dá)式要寫入文件中的數(shù)據(jù);上一頁下一頁返回本章首頁3、隨機(jī)文件的讀操作 隨機(jī)文件的讀操作使用Get 語句。格式:Get #文件號(hào), 記錄號(hào), 變量名 功能:是將一個(gè)已打開的磁盤文件的一條記錄的內(nèi)容讀入一個(gè)變量之中。說明: 文件號(hào)指定要讀取的隨機(jī)文件的文件號(hào); 記錄號(hào)指定數(shù)據(jù)要讀入的記錄號(hào)(若省略, 為上一次讀寫記錄的下一條記錄。若未 讀寫,則為第一條記錄)。 變量名保存讀入的數(shù)據(jù);上一頁下一頁返回本章首頁例 9.5: 隨機(jī)文件的讀寫舉例 界面如圖: li9_5.vbp上一頁下一頁返回本章首頁9.4 二進(jìn)制文件二進(jìn)制文件:以二進(jìn)制方式保存文件,以

20、字節(jié)數(shù)來定位數(shù)據(jù),沒有固定的格式,允許程序按所需的任何方式組織和訪問數(shù)據(jù),對(duì)文件中的各個(gè)字節(jié)數(shù)據(jù)進(jìn)行存取訪問和改變。二進(jìn)制文件不能用普通的字處理軟件進(jìn)行編輯,但占用的空間較小。二進(jìn)制文件的操作與隨機(jī)文件類似,區(qū)別在于二進(jìn)制文件的訪問單位是字節(jié),而隨機(jī)文件的訪問單位是記錄。說明:任何類型的文件(順序文件或隨機(jī)文件)都可以使用二進(jìn)制訪問模式打開。二進(jìn)制存取可以獲取任何一個(gè)文件的原始字節(jié)。上一頁下一頁返回本章首頁 二進(jìn)制使用 GET#語句 獲取數(shù)據(jù) 用 PUT#語句 寫入數(shù)據(jù)二進(jìn)制存取模式與隨機(jī)存取模式不同之處是:二進(jìn)制存取可以定位到文件中的任一字節(jié)位置,而隨機(jī)存取要定位在記錄的邊界上;二進(jìn)制存取從

21、文件中讀取數(shù)據(jù)或向文件寫入數(shù)據(jù)的字節(jié)長度取決于 GET#語句 或 PUT#語句中“變量”的長度,而隨機(jī)存取方式讀寫固定個(gè)數(shù)的字節(jié)(一個(gè)記錄的長度)上一頁下一頁返回本章首頁1、二進(jìn)制文件的打開與關(guān)閉格式:Open 文件名 For Binary As #文件號(hào) 說明: 文件名:字符串類型,指定文件的路徑與文件名。 For Binary:指定文件是以二進(jìn)制方式打開,以 二進(jìn)制方式打開的文件既可以讀也可以寫, 如果文件不存在。則新建文件。如:以二進(jìn)制方式打開文件 d:mytext1.txt。 Open d:mytext1.txt For Binary As #1 二進(jìn)制文件的關(guān)閉同前上一頁下一頁返回本

22、章首頁2、二進(jìn)制文件的寫操作 二進(jìn)制文件的寫操作使用Put 語句。格式:Put #文件號(hào), 寫位置 , 表達(dá)式功能:將表達(dá)式的內(nèi)容寫入文件中,一次寫入的長 度等于表達(dá)式的長度。說明: 文件號(hào)已打開的二進(jìn)制文件的文件號(hào); 寫位置指定數(shù)據(jù)要寫入文件中的位置(從文件開頭以字節(jié)為單位計(jì)算),若省略,則緊接上一次操作的位置寫入。若尚未讀寫,則為文件頭。 表達(dá)式要寫入文件中的數(shù)據(jù);上一頁下一頁返回本章首頁3、二進(jìn)制文件的讀操作 二進(jìn)制文件的讀操作使用Get 語句。格式:Get #文件號(hào), 讀位置, 變量名 功能:是將一個(gè)已打開的二進(jìn)制文件的指定位置讀取長度等于變量長度的內(nèi)容到變量中。讀出數(shù)據(jù)后,指針移動(dòng)變

23、量長度的位置。說明: 文件號(hào)指定要讀取的隨機(jī)文件的文件號(hào); 讀位置指定要讀入的數(shù)據(jù)在文件中的位置(從文件開頭以字節(jié)為單位)。若省略,則緊接上一次操作的位置開始讀。若尚未讀寫,則從文件頭開始讀入。 變量名保存讀入的數(shù)據(jù);上一頁下一頁返回本章首頁例9.6 :二進(jìn)制文件應(yīng)用舉例li9_6.vbp上一頁下一頁返回本章首頁9.5 文件操作常用函數(shù)1. LOF 函數(shù)格式: LOF(文件號(hào))功能:返回以“文件號(hào)” 所代表的文件的長度,以字節(jié)為 單位,Long 型。注意:對(duì)于尚未打開的文件,可以使用 FileLen 函數(shù)得 到其長度。例題: 在D 盤根目錄下的文件 test.txt 中含有數(shù)據(jù):“This I

24、s tests Information”,程序運(yùn)行時(shí)單擊“顯示文件長度”命令按鈕,將在窗體上顯示數(shù)據(jù)28。上一頁下一頁返回本章首頁1. LOF 函數(shù)代碼如下:Private Sub Command1_Click() Dim FileLength Open “d:test.txt“ For Input As #1 打開文件 FileLength = LOF(1) 取得文件長度。 Close #1 關(guān)閉文件 Print FileLengthEnd Sub上一頁下一頁返回本章首頁2. FileLen 函數(shù)格式:FileLen(文件名)功能:返回以“文件名” (字符串類型)所代表的 文件的長度(以字節(jié)

25、為單位),Long 型。說明:文件不要求打開。若文件已打開,則返回 打開前的長度。 如:測(cè)試未打開文件“d:myfile.txt”文件的大小 Dim mysize as Long mysize=FileLen(“d:myfile.txt”)上一頁下一頁返回本章首頁3. EOF函數(shù)格式:EOF( #文件號(hào) )功能:測(cè)試當(dāng)前讀寫位置是否位于“文件號(hào)”所代 表文件的末尾,返回值為Boolean 型。EOF函數(shù)的一般用法為:Do While Not EOF(文件號(hào)) 讀/寫操作Loop上一頁下一頁返回本章首頁4. LOC函數(shù)格式:LOC( 文件號(hào) )功能:返回當(dāng)前讀寫的位置,類型為Long 型。說明:

26、 對(duì)于隨機(jī)文件,返回最近讀寫的記錄號(hào); 對(duì)于二進(jìn)制文件,返回最近讀寫的字節(jié)的位置。 上一頁下一頁返回本章首頁5. Input 函數(shù)格式: Input(字節(jié)數(shù),#文件號(hào))功能:從“文件號(hào)”指定文件的當(dāng)前位置讀入指定 數(shù)量的字符,返回值為字符串。說明: 本函數(shù)只適合以Print 語句寫的文本文件。上一頁下一頁返回本章首頁6. Seek 函數(shù)格式: Seek(#文件號(hào))功能:返回“文件號(hào)”指定文件的當(dāng)前讀寫位置 (指針的位置),返回值為長整型。說明: 對(duì)于隨機(jī)文件,返回值為記錄號(hào); 對(duì)于順序文件或二進(jìn)制文件,返回值為從文件開頭算起的以字節(jié)為單位的位置。上一頁下一頁返回本章首頁7. FreeFile

27、函數(shù)格式:FreeFile (范圍)功能:返回一個(gè)尚未被占用的文件號(hào)。說明: 為0(或省略)則返回1255之間 未使用的文件號(hào); 為1,則返回256511之間未使用的 文件號(hào)。上一頁下一頁返回本章首頁8. Dir 函數(shù)格式:Dir (pathname ,Attribtes)功能:測(cè)試指定路徑下是否有指定的文件和文件夾 (可以使用通配符“?” 和“*”)。說明: Dir函數(shù)的返回值時(shí)字符串類型; 若未使用通配符,則返回文件(夾)名或“”。 若使用了通配符,則返回第一個(gè)符合條件的文件(夾)名。若下一次使用不帶參數(shù)的Dir 函數(shù),則返回第二個(gè)符合條件的文件(夾)名 如:str1=Dir(“c:win

28、dowsnotepad.exe”)上一頁下一頁返回本章首頁9. Shell 函數(shù)格式:Shell (pathname ,windowstyle)功能:調(diào)用在Dos下或Windows下運(yùn)行的應(yīng)用程序。說明: pathname可執(zhí)行文件名; windowstyle應(yīng)用程序運(yùn)行時(shí)的初始窗口狀態(tài)。0-窗口被隱藏 1-原來大小 2-窗口最小化(默認(rèn)狀態(tài)) 3-窗口最大化如: shell(“c:windowsnotepad.exe d:mytext1.txt”,1)上一頁下一頁返回本章首頁10. Kill 語句格式:Kill 文件名 功能:從磁盤中刪除指定文件。例如: Private Sub Comman

29、d1_Click() h = MsgBox(“確實(shí)要?jiǎng)h除文件嗎?”, vbYesNo, 請(qǐng)確認(rèn)) If h = vbYes Then Kill “d:test.txt End Sub上一頁下一頁返回本章首頁11. FileCopy 語句格式:FileCopy 源文件,目標(biāo)文件功能:復(fù)制一個(gè)文件。說明:FileCopy語句不能復(fù)制一個(gè)已打開的文件。例如:將含有數(shù)據(jù)的文件D:盤根目錄下test.txt文件中的 內(nèi)容復(fù)制到D盤根目錄下的oldtest.txt文件中. Dim SourceFile, DestinationFile SourceFile = D:test.txt 指定源文件名 Dest

30、inationFile = D:oldtest.txt 指定目的文件名 FileCopy SourceFile, DestinationFile 復(fù)制文件上一頁下一頁返回本章首頁12. Name 語句格式:Name 舊文件名 As 新文件名功能:重新命名一個(gè)文件、目錄、或文件夾。說明:Name語句不能創(chuàng)建新文件、目錄或文件夾。 如果新文件名所指定的路徑存在且與舊文件名指定的 路徑不同,則Name語句將文件移動(dòng)到新的目錄下, 但不能將文件移動(dòng)到不同的驅(qū)動(dòng)器中。例如: Name “d:test.txt As “d:test1.txt Name “d:test1.txt As “d:My Docum

31、ents test2.txt 移動(dòng)并更名上一頁下一頁返回本章首頁9.5 文件操作控件 文件操作的控件有三種: 驅(qū)動(dòng)器列表框(DriveListBox) 控件名Drive1, Drive2 目錄列表框(DirListBox) 控件名Dir1, Dir2 文件列表框(FileListBox) 控件名File1, File2上一頁下一頁返回本章首頁1. 驅(qū)動(dòng)器列表框(DriveListBox) 常用屬性Drive屬性 Drive屬性是在程序運(yùn)行中所使用的屬性,用于返回用戶在驅(qū)動(dòng)器列表框中選取的驅(qū)動(dòng)器號(hào)。在應(yīng)用程序中,可以通過賦值語句改變其屬性值,從而指定出現(xiàn)在列表框頂端的驅(qū)動(dòng)器。 如:Drive1.

32、Drive=“C:” 只第一個(gè)字符有意義 常用事件Change事件 Change事件是驅(qū)動(dòng)器列表框中最常用的事件,當(dāng)所選驅(qū)動(dòng)器發(fā)生改變時(shí)觸發(fā)。上一頁下一頁返回本章首頁2.目錄列表框(DirListBox) 顯示用戶系統(tǒng)的當(dāng)前驅(qū)動(dòng)器的目錄結(jié)構(gòu),并突出顯示當(dāng)前目錄。 常用屬性: (1)Path屬性當(dāng)前目錄 用來設(shè)置和返回目錄列表框中的當(dāng)前目錄(當(dāng)前目錄是目錄列表框中顯示的打開文件夾圖標(biāo)的最后一個(gè)條目)。此屬性只能在程序代碼中設(shè)置,即它是運(yùn)行時(shí)屬性,不能在屬性窗口中設(shè)置。 如:Dir1.Path=路徑(當(dāng)前目錄)上一頁下一頁返回本章首頁(2)ListIndex屬性選擇條目的序號(hào) 可用于組合框、驅(qū)動(dòng)器

33、列表框、目錄列表框和文件列表框,用來設(shè)置或返回當(dāng)前控件上所選擇的條目的序號(hào)。該屬性只能在程序代碼中使用。 例如:Dir1.ListIndex=2 (3)ListCount屬性當(dāng)前目錄下的子目錄數(shù) 可用于組合框、驅(qū)動(dòng)器列表框、目錄列表框和文件列表框。它返回控件內(nèi)所列項(xiàng)目的總數(shù)。該屬性只能在程序代碼中使用。常用事件Change事件(Path改變時(shí)觸發(fā))上一頁下一頁返回本章首頁3. 文件列表框(FileListBox) 在運(yùn)行時(shí)列出由Path屬性指定的目錄中的文件常用屬性: List、ListCount、ListIndex、MultiSelect、Selected屬性同列表框。(1)Path屬性指定

34、所顯示文件的路徑 Path屬性:用來設(shè)置和返回文件列表框中所顯示文件的路徑。此屬性只能在程序代碼中設(shè)置,即它是運(yùn)行時(shí)屬性,不能在屬性窗口中設(shè)置。 例如:File1.Path=路徑 File1.Path=Dir1.Path 上一頁下一頁返回本章首頁(2)FileName屬性所選中的文件名 用來設(shè)置和返回文件列表框中所選中的文件名稱?!拔募Q”可以帶有路徑,文件名中也可以包含通配符。該屬性是運(yùn)行時(shí)屬性,只能在程序代碼中設(shè)置。多選時(shí)為“”。 格式:窗體名.FileName=文件名稱(3) Pattern屬性設(shè)置要顯示文件的類型 用來設(shè)置在程序運(yùn)行時(shí)文件列表框要顯示的文件的類型。該屬性可以在設(shè)計(jì)階段

35、用屬性窗口設(shè)置,也可以通過程序代碼設(shè)置。上一頁下一頁返回本章首頁常用事件 PathChange事件: 當(dāng)文件列表框的Path屬性改變時(shí),就會(huì)產(chǎn)生PathChange事件。PatternChange事件: 當(dāng)文件列表框的Pattern屬性改變時(shí),就會(huì)產(chǎn)生PatternChange事件文件屬性: 可以使用文件屬性(Archive、Normal、System、Hidden和Readonly)來指定在文件列表框中顯示哪一類文件使用。上一頁下一頁返回本章首頁文件操作控件總結(jié)屬性適用控件作用舉例Drive驅(qū)動(dòng)器列表框保存當(dāng)前選定的驅(qū)動(dòng)器名Drive1. Drive = D Path目錄和文件列表框保存當(dāng)前

36、路徑Dir1.Path=D:VB6FileName文件列表框保存選定的文件名list1.AddItem File1.FileNamePattern文件列表框決定顯示的文件類型File1.Pattern=*.frm重要屬性上一頁下一頁返回本章首頁說明: FileName和Pattern屬性可以在設(shè)計(jì)時(shí)進(jìn)行設(shè)置。 Drive和Path屬性只能在運(yùn)行時(shí)加以引用和設(shè)置,在設(shè)計(jì)時(shí)則不能進(jìn)行設(shè)置。 在運(yùn)行時(shí)Path 屬性的改變將觸發(fā) Change 事件。Pattern 屬性的值的改變將觸發(fā) PatternChange 事件。 引用FileName時(shí)只能返回選定的文件名,只有加上Path屬性才能得到完整的文

37、件路徑。上一頁下一頁返回本章首頁事件適用控件說明Chang驅(qū)動(dòng)器和目錄列表框 當(dāng)選擇一個(gè)新的驅(qū)動(dòng)器或通過代碼改變 Drive 屬性的設(shè)置時(shí)發(fā)生該事件,或者在雙擊一個(gè)新的目錄或通過代碼改變 Path 屬性的設(shè)置時(shí)發(fā)生該事件PathChang文件列表框 當(dāng)路徑被代碼中 FileName 或 Path 屬性的設(shè)置所改變時(shí),此事件發(fā)生PatternChang文件列表框 當(dāng)文件的列表樣式,如:*.*,被代碼中對(duì) FileName 或 Path 屬性的設(shè)置所改變時(shí),此事件發(fā)生。Click目錄和文件列表框 單擊一個(gè)鼠標(biāo)按鈕時(shí)發(fā)生。它也會(huì)發(fā)生在一個(gè)控件的值改變時(shí)Dblclick文件列表框 用鼠標(biāo)左鍵雙擊控件時(shí)發(fā)生重要事件上一頁下一頁返回本章首頁返回本章首頁 例9.7:文件操作控件應(yīng)用舉例 界面如圖: li9_7.vbp 上一頁下一頁返回本章首頁要求: 在Form1窗體上繪制一個(gè)圖片框控件、三個(gè)文件系統(tǒng)控件:驅(qū)動(dòng)器列表框控件Dr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論