下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 文件及文件系統(tǒng)控件,8.1什么是文件 8.2對順序文件的讀寫 8.3 對隨機文件的讀寫 8.4 文件系統(tǒng)控件,8.1什么是文件,文件:存放在外部介質(zhì)上的數(shù)據(jù)集合。每一個文件要有一個文件名作為標(biāo)識。 多種文件分類方法: 按照文件的內(nèi)容,可分成程序文件和數(shù)據(jù)文件兩大類 按照文件存儲信息的形式可分成ASCII文件和二進制文件 按照文件的組織形式可分成順序文件和隨機文件 按照存儲介質(zhì)分為光盤文件、磁盤文件、磁帶文件、打印文件等,8.1什么是文件,數(shù)據(jù)文件就是保存數(shù)據(jù)的文件。 數(shù)據(jù)文件中的數(shù)據(jù)是以“記錄”(Record)的形式組織起來的。 一個文件是由若干個記錄組成的。 一個記錄中可以包含若干數(shù)
2、據(jù)項。 可以認(rèn)為,由一組數(shù)據(jù)組成一個記錄,若干記錄構(gòu)成一個文件。即文件是記錄的集合,而記錄是數(shù)據(jù)項的集合。,8.1什么是文件,一個記錄中所包含的各數(shù)據(jù)項既可以是相同類型的數(shù)據(jù),也可以是不同類型的數(shù)據(jù)。這些數(shù)據(jù)項一般都是有內(nèi)在聯(lián)系的。 例如描述每個學(xué)生的信息包括學(xué)號、姓名、性別、專業(yè)、入學(xué)年份等數(shù)據(jù)項。 寫文件:把程序中的數(shù)據(jù)保存到磁盤上的操作,即向磁盤輸出數(shù)據(jù)。 讀文件:把磁盤文件中的數(shù)據(jù)讀到計算機中的操作,即將文件讀入內(nèi)存。,8.2對順序文件的讀寫,順序存取文件(Sequence Access File)簡稱順序文件。 順序文件中各記錄的寫入順序、在文件中存放的順序和從文件中讀出的順序三者一
3、致。即最先寫入的記錄放在最前面,也最早被讀出。 從順序文件中讀取記錄必須從第一個記錄讀起,順序進行。,8.2.1 順序文件的打開和關(guān)閉,操作文件之前,必須用Open語句打開文件,操作完成后,用Close語句將其關(guān)閉。 1Open語句的格式 Open語句的一般格式: Open For 打開方式 As # 其中:文件名指欲打開文件的名字。 For引導(dǎo)的短語指明文件的打開方式,三種方式。 (1)Input方式:文件只用來向計算機輸入數(shù)據(jù),即從所打開的文件中讀取數(shù)據(jù)。,8.2.1 順序文件的打開和關(guān)閉,(2)Output方式: 向文件寫數(shù)據(jù),即從計算機向所打開的文件寫數(shù)據(jù)。如果該文件中原來已有數(shù)據(jù),則
4、原有數(shù)據(jù)被刪除,即新寫的數(shù)據(jù)將已有的數(shù)據(jù)覆蓋。 (3)Append方式: 向文件添加數(shù)據(jù),即從計算機向所打開的文件寫數(shù)據(jù)。Append方式把新的數(shù)據(jù)添加到文件尾部原有數(shù)據(jù)的后邊,文件中原有數(shù)據(jù)保留。 As引導(dǎo)的短語為打開的文件指定一個文件號。#號是可選項。文件號是1511之間的整數(shù)。文件號代表所打開的文件,在程序中可以直接引用文件號來替代文件名。,8.2.1 順序文件的打開和關(guān)閉,Open語句的示例: 打開一個名為Employee.dat的文件,打開的方式為Output方式,即向Employee.dat文件進行寫操作。指定在程序中以文件號“1”代表該文件。,Open “Employee.dat
5、” For Output As #1,Open “Leader.dat” For Input As #10,打開一個名為Leader.dat的文件,打開方式為Input方式,即從Leader.dat中讀入數(shù)據(jù),文件號為10。,8.2.1 順序文件的打開和關(guān)閉,Open命令中的文件名可以是變量,例如: Filenm=“FirstFile.txt” Open Filenm For Append As #2 上述兩條語句的作用是打開一個文件名為FirstFile.txt的文本文件,并準(zhǔn)備進行增添數(shù)據(jù)的操作,文件號為2。 文件名可以是一個已被賦值的字符串變量。,8.2.1 順序文件的打開和關(guān)閉,2Cl
6、ose語句的格式 Close語句的作用是關(guān)閉先前所打開的文件。若不關(guān)閉,會影響后續(xù)對文件的使用。一般格式如下: Close 文件號表列 其中:文件號是Open語句中指定的文件號。例: Close #2 使用一條Close語句,可以同時關(guān)閉多個文件,例: Close #10,#11,#15 若Close語句后面省略了文件號,表示關(guān)閉當(dāng)前所有被打開的文件,即: Close,8.2.2 順序文件的寫操作,向順序文件寫數(shù)據(jù)的語句,Print和Write語句。 1用Print語句向文件寫數(shù)據(jù) 一般格式如下: Print # ,輸出表列 其中:是在Open語句中所指定的文件號?!拜敵霰砹小笔侵笢?zhǔn)備寫到文件
7、中的數(shù)據(jù),既可以是變量名,也可以是常量。各數(shù)據(jù)之間用逗號或分號隔開。例如:,Open “c:d1.dat” For Output As #1 Print #1, “Visual”; “Basic”; “ “Computer” Close #1,8.2.2 順序文件的寫操作,說明:運行程序,輸出到d1.dat文件中的內(nèi)容是: VisualBasic&Computer 4個字符串之間沒有空格相間。VB規(guī)定Print語句中用分號作為輸出項的分隔符時,各數(shù)據(jù)項之間是沒有空格,字符連成一片。 將Print語句中的分號改成逗號,在字符串之間增加間隔。例如,Print語句修改如下: Print #1, “V
8、isual”, “Basic”, “&”, “Computer” 寫入文件的數(shù)據(jù)如下: Visual Baisc & Computer,8.2.2 順序文件的寫操作,每執(zhí)行一次Print語句,向文件輸出一個記錄 順序文件中各記錄的長度可以是不相同的 在執(zhí)行Print語句向文件輸出一個記錄后,會在輸出的數(shù)據(jù)后面自動加上一個記錄結(jié)束標(biāo)志,表示本記錄“到此為止”,其后是下一記錄的數(shù)據(jù)。,8.2.2 順序文件的寫操作,2用Write語句向文件寫數(shù)據(jù) 用Write語句向文件寫數(shù)據(jù)時,能自動地在各數(shù)據(jù)項之間插入逗號,并給字符串加上雙引號。一般格式如下: Write # ,輸出表列 其中 “輸出表列”中各輸
9、出項間可以用分號、逗號或空格分隔。,Open “c:d2.dat” For Output As #2 s0$=“This is a test about file” s1$ = “Visual ” s2$ = “Basic ” s3$ = “& ” s4$ = “Computer” Write #2, s0$ Write #2, s1$ Write #2, s2$ Write #2, s3$ Write #2, s4$ Close #2,程序功能:先后向文件“d2.dat”中寫5個記錄,每個記錄包含一個雙引號括起來的字符串。記錄,用記事本打開文件“d2.dat”,查看文件內(nèi)容: “This i
10、s a test about file” “Visual ” “Basic ” “& ” “Computer”,8.2.2 順序文件的寫操作,如果把5個Write合起來寫成一個Write語句: Write #2, s0$, s1$, s2$, s3$, s4$ 則向文件輸出一個記錄,這個記錄包含5個數(shù)據(jù)項,互相有逗號分隔。 “This is a test about file”,Visual , Basic , & ,Computer,8.2.2 順序文件的寫操作,3向文件追加數(shù)據(jù) 如果要在原有數(shù)據(jù)文件中增加數(shù)據(jù),應(yīng)使用Append方式打開文件,數(shù)據(jù)被添加在文件尾部。 注意:在Output方式
11、下進行寫操作時,新的數(shù)據(jù)是從文件頭部開始寫入的,原有的文件內(nèi)容被覆蓋。,Open “c: d2.dat” For Append As #1 mystr$=“I am learning VB” Write #1, mystr$ Close #1,8.2.3 順序文件的讀操作,順序文件的讀操作:從已建好的順序文件中將數(shù)據(jù)讀入計算機中。 讀一個文件時,首先要將該文件用Input方式打開。 讀入語句:Input和Line Input 1用Input語句從文件讀入數(shù)據(jù) Input語句的一般格式如下: Input#, 其中: (1)變量用于存放從順序文件中讀入的數(shù)據(jù)。 (2)中的變量用逗號分開,且變量的個
12、數(shù)和類型應(yīng)該與磁盤文件中所存儲的數(shù)據(jù)一致。,例如:有順序文件d2.dat,內(nèi)容如下: “Visual ” (第1個記錄) “Basic ” (第2個記錄) “& ” (第3個記錄) “Computer ” (第4個記錄),讀數(shù)據(jù)的程序如下: Private Sub cmdInput_Click() Dim s1 As String, s2 As String, s3 As String, s4 As String Open c:d2.dat For Input As #1 Input #1, s1 Input #1, s2 Input #1, s3 Input #1, s4 text1.Tex
13、t = s1 + s2 + s3 + s4 Close #1 End Sub,運行程序,文本框中 顯示的是: Visual Basic & Computer,8.2.3 順序文件的讀操作,2用Line Input 語句從文件讀入數(shù)據(jù) Line Input 語句的作用是從打開的順序文件中讀取一個記錄,即一行信息。一般格式如下: Line Input #, 其中:變量用來接收從順序文件中讀入的一行數(shù)據(jù)。,8.2.3 順序文件的讀操作,有數(shù)據(jù)文件“d3.dat”,內(nèi)容如下: There are some data about employeeId in the file: (第1個記錄) 100,1
14、01,260,530,999 (第2個記錄),Private Sub Command1_Click() Dim s1 As String, s2 As String Open c:d3.dat For Input As #3 Line Input #3, s1 Line Input #3, s2 Ptint s1, s2 Close #3 End Sub,運行結(jié)果: There are some data about employeeId in the file:100,101,260,500,999,8.2.3 順序文件的讀操作,對同樣的數(shù)據(jù),使用Input語句讀數(shù)據(jù):,Private Su
15、b Command1_Click() Dim s1 As String, s2 As String Open c:d3.dat For Input As #3 Line Input #3, s1 Line Input #3, s2 Ptint s1, s2 Close #3 End Sub,執(zhí)行以上過程后在窗體上顯示出以下內(nèi)容: There are some data about employeeId in the file:100,8.2.3 順序文件的讀操作,觀察: 看到第一條記錄被完整讀入,而第2條記錄只讀入第1個數(shù)。 原因: 用Input語句進行讀入操作時,當(dāng)遇到逗號或記錄尾時就認(rèn)為一
16、個字符串結(jié)束,除非字符串用雙引號括起來。 因此,將第1條讀入s1,然后將第2條記錄中第1個逗號之前的內(nèi)容讀入s2,后面的內(nèi)容都未輸入。 Line Input語句讀數(shù)據(jù)時不受空格和逗號的限制,它將一行中回車之前的信息作為一個記錄一次讀入。,8.2.3 順序文件的讀操作,3用Input函數(shù)從文件中讀取數(shù)據(jù) Input函數(shù)的作用是從文件中讀取指定字?jǐn)?shù)的字符。Input函數(shù)的一般格式如下: Input(整數(shù),#) 其中:“整數(shù)”是所要讀取的字符個數(shù)。,8.2.3 順序文件的讀操作,設(shè)有一個數(shù)據(jù)文件d4.dat,文件的內(nèi)容如下: Hello! Visual Basic & Computer 現(xiàn)有如下語句
17、序列: 以上語句序列執(zhí)行的結(jié)果是:在文本框中顯示: Hello! Visual Basi Input函數(shù)中指定了只讀入18個字符 ,其他字符不被讀入。,Open “c:d4.dat” for Input As #1 mystr$=Input(18,#1) text1.text=mystr$ Close #1,8.3 對隨機文件的讀寫,隨機存取文件(Random Access File)中所有記錄的長度是相同的。 整個文件如同一個二維表格,記錄中所包括各個數(shù)據(jù)項的長度也是固定的。 例如,職工信息的文件,每個記錄有3個數(shù)據(jù)項,分別是職工號、職工姓名和地址。,8.3.1 隨機文件的打開和關(guān)閉,1用O
18、pen語句打開隨機文件 打開隨機文件的語句格式如下: Open For Random As # Len= 其中: 指要打開的文件名稱。 For Random 表示打開一個隨機文件。 Len用來指定記錄的長度。,8.3.1 隨機文件的打開和關(guān)閉,例如:打開名稱為“employee.dat”的隨機文件,指定文件號為1,記錄長度是30 Open “c:employee.dat” For Random As #1 Len=30 2用Close語句關(guān)閉隨機文件 Close語句的作用及使用與順序文件的Close語句相同,8.3.2 對隨機文件的寫操作,隨機文件的寫操作使用Put語句。一般格式如下: Put
19、 #, 例如,有如下語句: Put #1,5,v1 作用是:將變量v1中的內(nèi)容輸出到1號文件中第5條記錄。v1可以是普通變量,也可以是記錄類型變量。,8.3.2 對隨機文件的寫操作,【例8-2】向隨機文件寫數(shù)據(jù)。 建立一個隨機文件,文件包含職工的信息。首先用Type/End Type語句定義一個職工記錄類型, 在employee結(jié)構(gòu)中包含3個成員:職工號(empNo)、職工姓名(name)和職工住址(address)。,Private Type employee empNo As Integer name As String*10 address As string*20 End Type,P
20、rivate Sub cmdPut_Click() Dim emp As employee Open App.Path & employee.dat For Random As #1 Len = len(emp) Title$ = 寫記錄到隨機文件 Str1$ = 請輸入職工編號 Str2$ = 請輸入職工姓名 Str3$ = 請輸入職工住址 For i = 1 To 3 emp.empNo = InputBox(Str1$, Title$) = InputBox$(Str2$, Title$) emp.address = InputBox$(Str3$, Title$) P
21、ut #1, i, emp Next i Close #1 End Sub,當(dāng)前路徑,寫入文件,輸入基本信息的編號、姓名、地址,8.3.2 對隨機文件的寫操作,App是系統(tǒng)的內(nèi)部對象。運行應(yīng)用程序的時候,系統(tǒng)自動生成App內(nèi)部對象,對應(yīng)于當(dāng)前正在運行程序的十幾個屬性,包括應(yīng)用程序的標(biāo)題、可執(zhí)行文件的路徑及名稱等。 App對象的主要屬性及含義見表。 App.Path是指當(dāng)前應(yīng)用程序的路徑。 App.Path & employee.dat將當(dāng)前路徑及文件一起構(gòu)成一個文件的完整路徑。,8.3.3 對隨機文件的讀操作,用Get語句讀取隨機文件中的記錄。一般格式如下: Get #,, 例如:有如下讀數(shù)據(jù)
22、的語句: Get #2,3,v1 表示將2號文件中的第3個記錄讀出并存放到變量v1中,8.3.3 對隨機文件的讀操作,【例8-3】編寫一個過程,將【例8-2】建立的隨機文件“employee.dat”中的記錄讀出并顯示在文本框內(nèi)。,Private Sub cmdGet_Click() Dim emp As employee Open App.Path & employee.dat For Random As #1 Len = Len(emp) Get #1, 1, emp Text1.Text = Str$(emp.empNo) + + emp.address Get #1,
23、 2, emp Text2.Text = Str$(emp.empNo) + + emp.address Get #1, 3, emp Text3.Text = Str$(emp.empNo) + + emp.address Close #1 End Sub,8.4 文件系統(tǒng)控件,3種文件系統(tǒng)控件:驅(qū)動器列表框、目錄列表框和文件列表框。 利用本章介紹的文件系統(tǒng)控件可以設(shè)計出能滿足用戶特殊要求的、具有不同界面風(fēng)格的對話框,利用這些控件,能夠編寫不同的文件管理程序。 第9章將要介紹的通用對話框,使用系統(tǒng)提供的“打開”(Open)、“另存為”(Save As)對話
24、框,8.4.1 驅(qū)動器列表框,【例8-4】使用驅(qū)動器列表框。 在窗體上添加一個名稱為drvTest的驅(qū)動器列表框以及一個“退出”命令按鈕。單擊驅(qū)動器列表框中的某個驅(qū)動器名稱時,用消息框顯示所選擇的驅(qū)動器名稱。,8.4.1 驅(qū)動器列表框,當(dāng)Drive屬性值發(fā)生改變時,觸發(fā)Change事件。,Private Sub drvTest_Change() MsgBox 選中的驅(qū)動器是: + drvTest.Drive End Sub,8.4.1 驅(qū)動器列表框,驅(qū)動器列表框的Drive屬性用來設(shè)置或返回當(dāng)前驅(qū)動器名稱。 單擊列表框中某個驅(qū)動器名稱時,該驅(qū)動器名稱就成為驅(qū)動器列表框的Drive屬性值,即Dr
25、ive屬性可以用來設(shè)置當(dāng)前驅(qū)動器,也可以接收并表示選定的驅(qū)動器名。 Drive屬性不能在設(shè)計階段設(shè)置 ,必須在程序中賦值,如: drvTest.Drive=“c:” 其中drvTest是驅(qū)動器列表框控件的Name屬性值。執(zhí)行此賦值語句后把當(dāng)前驅(qū)動器改為“c:”。,8.4.2 目錄列表框,【例8-5】目錄列表框的使用。 調(diào)整例8-4窗體的布局,添加一個名稱為dirTest的目錄列表框。當(dāng)選中某個驅(qū)動器后,該驅(qū)動器中的所有文件夾顯示在目錄列表框中,并用消息框顯示被選中的文件夾名。,8.4.2 目錄列表框,雙擊一個文件夾,把文件夾打開,觸發(fā)目錄列表框的Change 事件,事件過程如下:,Privat
26、e Sub dirTest_Change() MsgBox 選中的文件夾是: + dirTest.Path End Sub,路徑屬性Path是目錄列表框的重要屬性之一,用來設(shè)置和表示當(dāng)前的路徑。上面事件過程中的dirTest.Path就是當(dāng)前的路徑。,8.4.2 目錄列表框,到目前為止,窗體中的驅(qū)動器列表框和目錄列表框兩個控件之間沒有任何關(guān)系。即改變驅(qū)動器名稱時,目錄列表框中內(nèi)容不能隨之變化。 要把驅(qū)動器列表框和目錄列表框結(jié)合起來用,使二者“同步”,代碼如下:,Private Sub drvTest_Change() dirTest.Path = drvTest.Drive End Sub,8
27、.4.3 文件列表框,【例8-6】文件列表框的使用。 在例8-5的窗體上添加名稱為filTest的文件列表框,調(diào)整窗體的布局。編寫程序,使目錄列表框與文件列表保持同步。 文件列表框中顯示當(dāng)前文件夾下的文件名。文件數(shù)量多時,系統(tǒng)自動添加垂直滾動條用以瀏覽。,8.4.3 文件列表框,1利用Path屬性保持文件列表框與目錄列表框同步 文件列表框的Path屬性:指定或返回當(dāng)前文件夾。 程序運行時,當(dāng)選中目錄列表框中的一個文件夾名時,使文件列表框“同步”顯示出文件夾下的文件。 文件夾的改變,觸發(fā)目錄列表框控件的Change事件。如下過程使文件列表框和目錄列表框保持同步:,Private Sub dirT
28、est_Change() filTest.Path = dirTest.Path End Sub,8.4.3 文件列表框,Path的默認(rèn)值是系統(tǒng)的當(dāng)前路徑。通過文件列表框Path屬性能夠改變當(dāng)前路徑。 執(zhí)行以下語句: filTest.Path = “c:vb” 指定當(dāng)前路徑為“c:vb”,文件列表框中顯示出“c:vb”文件夾中的文件名。,8.4.3 文件列表框,注意,目錄列表框和文件列表框的Path屬性含義不同。注意比較: 賦值語句: dirTest.Path = “c:” (目錄列表框) 其作用是在目錄列表框中顯示c盤根目錄下的目錄結(jié)構(gòu) 賦值語句: filTest.Path = “c:” (
29、文件列表框) 作用:在文件列表框中列出c盤根目錄下的全部文件名,在這里Path用來確定文件的路徑。,8.4.3 文件列表框,2用Filename屬性設(shè)置或返回文件名 文件列表框的Filename屬性的作用: 在運行時設(shè)置或返回所選中的文件名。 例如,用鼠標(biāo)選中某文件時,要求用MsgBox函數(shù)顯示被選中的文件。代碼如下:,Private Sub filTest_Click() MsgBox 選中的文件是: + filTest.FileName End Sub,8.4.3 文件列表框,3用Pattern屬性限制顯示文件的類型 文件列表框控件的Pattern屬性,用來指定在文件列表框中顯示什么類型的
30、文件。 Pattern屬性的默認(rèn)值為“*.*”,即顯示所有文件的名字。如將Pattern屬性設(shè)置為“*.frm”,則僅顯示擴展名為.frm的文件。 Pattern屬性值可以在設(shè)計階段設(shè)置,也可以在運行階段通過語句設(shè)置,如: filTest.pattern = “*.frm”,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,【例8-7】利用文件系統(tǒng)控件進行文件操作。 利用驅(qū)動器列表框、目錄列表框和文件列表框等三個控件,對文件進行復(fù)制、重新命名和刪除的操作。 窗體設(shè)計如圖。,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,各控件的屬性設(shè)置如表。,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(1)裝載窗體 初始裝
31、載窗體時,將當(dāng)前路徑顯示在標(biāo)簽(Label8)中。否則Label8.Caption會一直為空。 有了以上的賦值,程序開始運行后,圖中“當(dāng)前被搜索目錄”下面的標(biāo)簽中就會顯示當(dāng)前目錄,Private Sub Form_Load() Label8.Caption = DirList.Path End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(2)保持文件系統(tǒng)的各個控件同步 使目錄列表框與驅(qū)動器目錄列表框同步 目錄列表框中的目錄發(fā)生改變,觸發(fā)DirList_Change事件過程,先將目錄列表框的Path屬性值賦給文件列表框的Path屬性,再將其Path屬性值賦給Label 8. Captio
32、n,Private Sub DriveList_Change() DirList.Path = DriveList.Drive End Sub,Private Sub DirList_Change() FileList.Path = DirList.Path Label8.Caption = DirList.Path End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(3)選擇文件名 設(shè)通過單擊操作來選定文件名,則相應(yīng)文件列表框的“單擊”事件過程如下。,Private Sub FileList_Click() Label4.Caption = FileList.filename If
33、Right$(DirList.Path, 1) = Then choicedFile = DirList.Path + FileList.filename Else choicedFile = DirList.Path + + FileList.filename End If End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,因要對文件進行復(fù)制、刪除、重命名等多項操作,需要保存把被選中的文件名,并允許在其它事件過程中對此文件進行操作。把文件名賦給字符串變量choicedFile。 注意:操作文件時,要知道文件名和路徑。 1) 必須在文件名前加上路徑名,得到完整文件名 2)如果所選是根目
34、錄,則路徑字符串末尾有“”符號,如c: 。若不是根目錄,則如:c:vb。因此需要區(qū)別處理。,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(4)確定文件列表框中顯示的文件類型 程序允許用戶選擇在文件列表框中顯示文件的類型(如.vbp類型、.exe類型等)。 在組合框Combo1中選擇需要顯示文件的類型,所選的類型賦給文件列表框的Pattern屬性:,Private Sub Combo1_Click() FileList.Pattern = Combo1.Text End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(5)文件的復(fù)制 單擊“復(fù)制文件”按鈕,執(zhí)行下面過程,進行文件的復(fù)制:,Pri
35、vate Sub cmdCopy_Click() Dim sourFile As String Dim destFile As String str2$ = 請輸入復(fù)制目標(biāo)文件 sourFile = choicedFile destFile = InputBox$(str2$, 復(fù)制文件) If destFile Then FileCopy sourFile, destFile End If End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,FileCopy語句:將所選定的源文件復(fù)制到指定的目標(biāo)文件。一般格式為: FileCopy , 在本例中,目標(biāo)文件名就是輸入對話框中所指定的文件名
36、。,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(6)文件重命名-Name語句 一般格式是: Name As ,Private Sub cmdRename_Click() Dim oldName As String Dim newName As String Title$ = 重新命名 str1$ = 請輸入新文件名 Call FileList_Click msg$ = 確認(rèn)被更改的文件名 & choicedFile p = MsgBox(msg$, 35, 數(shù)據(jù)檢查框) If p = 6 Then newName = InputBox(str1$, Title$) Name choicedFi
37、le As newName MsgBox 更名完畢,新文件名是: + newName End If End Sub,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,cmdRename_Click事件過程的執(zhí)行: 1)選中需要重新命名的文件(設(shè)為Chp8.doc)。 2)調(diào)用MsgBox函數(shù)打開一個標(biāo)題為“數(shù)據(jù)檢查框”的消息框,確認(rèn)要更改的文件名。語句中的35指明消息框中圖標(biāo)的樣式和按鈕個數(shù)。 choicedFile為全局變量,所有對文件列表框的單擊操作都會將所選文件的文件名賦給該變量。MsgBox返回的值放在變量p中,如果選擇“是(Y)”,p的值為6,確認(rèn)要更改的文件名是正確的。,8.4.4 利用文
38、件系統(tǒng)控件設(shè)計用戶界面,(3)用InputBox函數(shù)打開輸入對話框,輸入新文件名。再用Name語句完成文件名的更改。 注意:所輸入的文件名應(yīng)該包含路徑。,修改成功后,屏幕上彈出對話框顯示新的文件名,8.4.4 利用文件系統(tǒng)控件設(shè)計用戶界面,(7)刪除文件 在VB中刪除文件用Kill語句,其一般格式為: Kill 刪除文件的事件過程如下: 刪除文件的事件過程如下:,Private Sub cmdKill_Click() Title$ = 數(shù)據(jù)檢查框 msg1$ = 你要刪除文件: & killedFile x = MsgBox(msg1$, 35, Title$) If x = 6 Then K
39、ill choicedFile End If End Sub,8.4.5 文件系統(tǒng)控件的一些屬性,驅(qū)動器列表框、目錄列表框、文件列表框都有ListCount屬性。這個屬性與列表框控件ListCount的類似,其作用是提供當(dāng)前列表框(驅(qū)動器、目錄、文件列表框)控件中的項目數(shù)。 【例8-8】顯示當(dāng)前路徑下的文件數(shù)量。 設(shè)計窗體如圖。,8.4.5 文件系統(tǒng)控件的一些屬性,屬性設(shè)置如表:,8.4.5 文件系統(tǒng)控件的一些屬性,(1)在Form_Load中顯示初始數(shù)據(jù) 運行程序,執(zhí)行Form_Load程序,分別在兩個標(biāo)簽中顯示當(dāng)前路徑下文件的數(shù)量和路徑的數(shù)量。,Private Sub Form_Load(
40、) lblFileCount.Caption = File1.ListCount lblPathCount.Caption = Dir1.ListCount End Sub,8.4.5 文件系統(tǒng)控件的一些屬性,(2)保持文件系統(tǒng)控件的同步 當(dāng)目錄列表框的內(nèi)容發(fā)生變化時,觸發(fā)Dir1_Change事件過程,使目錄列表框與文件列表框同步。,Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub,8.4.5 文件系統(tǒng)控件的一些屬性,(3)顯示文件數(shù)和文件夾數(shù) 驅(qū)動器列表框的內(nèi)容發(fā)生變化時,觸發(fā)Drive1_Change事件過程,先使驅(qū)動器列表
41、框和目錄列表框同步,然后,分別顯示當(dāng)前目錄列表框及文件列表框中列表項的數(shù)量,Private Sub Drive1_Change() Dir1.Path = Drive1.Drive lblPathCount.Caption = Dir1.ListCount lblFileCount.Caption = File1.ListCount End Sub,8.4.5 文件系統(tǒng)控件的一些屬性,當(dāng)文件列表框的路徑發(fā)生變化時,同樣在標(biāo)簽中顯示相應(yīng)文件或文件夾的數(shù)量。,Private Sub File1_PathChange() lblFileCount.Caption = File1.ListCount lblPathCount.Caption = Dir1.ListCount End Sub,8.4.5 文件系統(tǒng)控件的一些屬性,VisualBasic程序設(shè)計
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南電子科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題有答案解析
- 感染病科防控措施及成效
- 2026年福建工程學(xué)院單招職業(yè)技能筆試備考試題帶答案解析
- 2026年成都農(nóng)業(yè)科技職業(yè)學(xué)院單招綜合素質(zhì)筆試參考題庫帶答案解析
- 2026年白城職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試參考題庫帶答案解析
- 2026年貴州裝備制造職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題帶答案解析
- 語文面試小學(xué)題庫及答案
- 財政學(xué)原理課件
- 生物電子技術(shù)在醫(yī)療設(shè)備中的應(yīng)用
- 特殊作業(yè)規(guī)范題庫及答案
- 高中化學(xué)基本概念大全
- 五級養(yǎng)老護理員職業(yè)鑒定理論考試題庫(核心400題)
- 湖北省荊州市五縣市區(qū)2025屆高三第二次調(diào)研物理試卷含解析
- 2025屆高考寫作:思辨性作文寫作指導(dǎo)
- 2024年安徽管子文化旅游集團有限公司招聘筆試沖刺題(帶答案解析)
- 2024年江蘇省高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷試題(答案詳解1)
- (小升初備考講義)專題四 植樹問題(計算技巧篇)(講義)
- 醫(yī)院被服洗滌服務(wù)管理方式、服務(wù)計劃和工作目標(biāo)
- 示波器的使用示波器的使用
- 《新綱要云南省實驗教材 信息技術(shù) 四年級第3冊(第2版)》教案(全)
- 職業(yè)生涯規(guī)劃-體驗式學(xué)習(xí)智慧樹知到答案章節(jié)測試2023年
評論
0/150
提交評論