三、VB6.0的文件處理函數(shù)
在VB6.0中,除了可以利用文件控件來(lái)對(duì)文件進(jìn)行處理外,還可以通過(guò)一些函數(shù)和方法來(lái)處理文件,常用的文件處理函數(shù)和方法有Kill,FileCopy.RmDir,Shell和Name等。
1、 Kill 語(yǔ)句
Kill語(yǔ)句的功能是從磁盤中刪除文件,它的語(yǔ)法結(jié)構(gòu)如下:
Kill pathname
其中參數(shù)pathname是用來(lái)指定一個(gè)文件名的字符串表達(dá)式,pathname要包含文件所在的目錄(文件夾)以及驅(qū)動(dòng)器。
Kill支持多字符(*)和單字符(?)的統(tǒng)配符來(lái)指定多重文件。例如:
kill"c:\xy\*.bak"
將刪除c盤xy目錄下的備份文件。
Kill語(yǔ)句具有一定的“危險(xiǎn)性”,因?yàn)樵趫?zhí)行該語(yǔ)句時(shí)沒(méi)有任何提示信息。
下面就是一個(gè)應(yīng)用Kill語(yǔ)句設(shè)計(jì)應(yīng)用程序的示例(見教材P336),它所能夠?qū)崿F(xiàn)的功能是可以顯示一個(gè)對(duì)話框,在對(duì)話框中選擇一個(gè)欲刪除的文件,然后系統(tǒng)自動(dòng)的完成刪除的動(dòng)作,具體的步驟如下:
(1)設(shè)計(jì)界面
首先在工具箱中添加一個(gè)CommonDialog控件,然后把它添加到空白的窗體上。
(2)添加代碼
在程序的開始運(yùn)行階段就顯示一個(gè)刪除文件的對(duì)話框,為此在設(shè)計(jì)階段雙擊窗體,在窗體的Form_load()事件中添加下列代碼:
Private Sub Form_Load()
CommonDialog1.DialogTitle = "打開一個(gè)欲刪除的文件" '設(shè)置控件的標(biāo)題。
CommonDialog1.FileName = "*.doc"
CommonDialog1.Filter = "*.doc" '設(shè)置過(guò)濾器.
CommonDialog1.showopen '顯示對(duì)話框。
If CommonDialog1.FileName = "*.doc" Then
Else
Kill CommonDialog1.FileName '刪除選中的文件
End If
End Sub
3. 保存文件,運(yùn)行程序
[程序演示]
注意:在用Kill語(yǔ)句刪除文件時(shí),必須關(guān)閉該文件,否則出錯(cuò)。
2、 FileCopy 語(yǔ)句
FileCopy語(yǔ)句的功能是復(fù)制一個(gè)文件 ,它的語(yǔ)法結(jié)構(gòu)如下:
FileCopy source,destination
在FileCopy語(yǔ)句的語(yǔ)法中包括兩個(gè)參數(shù),其中soure用來(lái)表示要被復(fù)制的源文件名,而destination用來(lái)指定要復(fù)制的目的文件名。
在source和destination參數(shù)中都要包含文件所在的目錄或文件夾以及驅(qū)動(dòng)器。
下面就是一個(gè)應(yīng)用FileCopy語(yǔ)句實(shí)現(xiàn)文件復(fù)制功能的程序的示例。見教材P338。
(1)設(shè)計(jì)界面
向工具箱中添加一個(gè)Commondialog控件,并且把它放置到空白的窗體上。
根據(jù)程序功能的要求,在窗體上添加兩個(gè)CommandButton控件,兩個(gè)TextBox控件和兩個(gè)Label控件。
(2)編寫程序的初始化代碼
在程序的聲明中定義兩個(gè)全局變量,一個(gè)用來(lái)存放源文件路徑和名字,另外一個(gè)用來(lái)存儲(chǔ)目的文件路徑和名字
Dim source as string '定義一個(gè)存儲(chǔ)源文件路徑和名字的字符串變量。
Dim destination as string '定義一個(gè)存儲(chǔ)目的文件的路徑和名字的字符串變量。
(3)響應(yīng)[打開]按鈕的單擊事件
在設(shè)計(jì)階段雙擊“打開”按鈕,在彈出的代碼窗口中添加下列代碼:
Private Sub Command1_click()
CommonDialog1.showopen '顯示一個(gè)對(duì)話框
source=CommonDialog1.filename '存儲(chǔ)源文件路徑和名字的字符串變量
text1.text=source
End Sub
程序說(shuō)明:程序首先通過(guò)CommonDialog1.show 語(yǔ)句來(lái)顯示一個(gè)對(duì)話框,在其中用戶可能選擇要復(fù)制的源文件,然后把選中源文件的路徑和文件名存儲(chǔ)在變量soure中,同時(shí)通過(guò)Text1.text=source把源文件的路徑和文件名顯示在文本框中。
(4)響應(yīng)[另存為]按鈕的單擊事件
在設(shè)計(jì)階段雙擊“另存為”按鈕,在它的Command2_Click() 事件中添加下列代碼:
Private Sub Command2_click()
CommonDialog1.showsave '顯示一個(gè)對(duì)話框
destination=CommonDialog1.Filename '存儲(chǔ)目的文件路徑和名字的字符串變量
Text2.text=destination '顯示目的文件路徑和名字的字符串變量。
FileCopy source,destination ' 復(fù)制文件
End Sub
6. 存儲(chǔ)文件,運(yùn)行程序
[程序演示]
3、 Shell 函數(shù)
我們?cè)榻B了通用過(guò)程的定義及調(diào)用。實(shí)際上,在VB中,還可以調(diào)用各種應(yīng)用程序,也就是說(shuō),凡能夠在DOS或Windows下運(yùn)行的應(yīng)用程序,基本上都可在VB中調(diào)用。這一功能可通過(guò)Shell函數(shù)來(lái)實(shí)現(xiàn)。
它的語(yǔ)法結(jié)構(gòu)如下:
Shell(pathname[,windowstyle])
參數(shù)說(shuō)明:
pathname為所要執(zhí)行的應(yīng)用程序的名稱及其路徑和必要的參數(shù);
windowstyle表示在程序運(yùn)行時(shí)窗口的樣式。其中的參數(shù)windowstyle的設(shè)置及其說(shuō)明如下表:
設(shè)置值 常數(shù) 說(shuō)明
0 vbHide 窗口被隱藏,且焦點(diǎn)會(huì)移到隱藏式窗口
1 vbNormalFocus 窗口具有焦點(diǎn),且會(huì)還原到它原來(lái)的大小和位置
2 vbMinimizedFocus 窗口會(huì)以一個(gè)具有焦點(diǎn)的圖標(biāo)來(lái)顯示
3 vbMaximizedFocus 窗口是一個(gè)具有焦點(diǎn)的化窗口
4 vbNormalNoFocus 窗口會(huì)被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)
6 vbMinimizedNoFocus 窗口會(huì)以一個(gè)圖標(biāo)來(lái)顯示,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)
在VB6.0中,除了可以利用文件控件來(lái)對(duì)文件進(jìn)行處理外,還可以通過(guò)一些函數(shù)和方法來(lái)處理文件,常用的文件處理函數(shù)和方法有Kill,FileCopy.RmDir,Shell和Name等。
1、 Kill 語(yǔ)句
Kill語(yǔ)句的功能是從磁盤中刪除文件,它的語(yǔ)法結(jié)構(gòu)如下:
Kill pathname
其中參數(shù)pathname是用來(lái)指定一個(gè)文件名的字符串表達(dá)式,pathname要包含文件所在的目錄(文件夾)以及驅(qū)動(dòng)器。
Kill支持多字符(*)和單字符(?)的統(tǒng)配符來(lái)指定多重文件。例如:
kill"c:\xy\*.bak"
將刪除c盤xy目錄下的備份文件。
Kill語(yǔ)句具有一定的“危險(xiǎn)性”,因?yàn)樵趫?zhí)行該語(yǔ)句時(shí)沒(méi)有任何提示信息。
下面就是一個(gè)應(yīng)用Kill語(yǔ)句設(shè)計(jì)應(yīng)用程序的示例(見教材P336),它所能夠?qū)崿F(xiàn)的功能是可以顯示一個(gè)對(duì)話框,在對(duì)話框中選擇一個(gè)欲刪除的文件,然后系統(tǒng)自動(dòng)的完成刪除的動(dòng)作,具體的步驟如下:
(1)設(shè)計(jì)界面
首先在工具箱中添加一個(gè)CommonDialog控件,然后把它添加到空白的窗體上。
(2)添加代碼
在程序的開始運(yùn)行階段就顯示一個(gè)刪除文件的對(duì)話框,為此在設(shè)計(jì)階段雙擊窗體,在窗體的Form_load()事件中添加下列代碼:
Private Sub Form_Load()
CommonDialog1.DialogTitle = "打開一個(gè)欲刪除的文件" '設(shè)置控件的標(biāo)題。
CommonDialog1.FileName = "*.doc"
CommonDialog1.Filter = "*.doc" '設(shè)置過(guò)濾器.
CommonDialog1.showopen '顯示對(duì)話框。
If CommonDialog1.FileName = "*.doc" Then
Else
Kill CommonDialog1.FileName '刪除選中的文件
End If
End Sub
3. 保存文件,運(yùn)行程序
[程序演示]
注意:在用Kill語(yǔ)句刪除文件時(shí),必須關(guān)閉該文件,否則出錯(cuò)。
2、 FileCopy 語(yǔ)句
FileCopy語(yǔ)句的功能是復(fù)制一個(gè)文件 ,它的語(yǔ)法結(jié)構(gòu)如下:
FileCopy source,destination
在FileCopy語(yǔ)句的語(yǔ)法中包括兩個(gè)參數(shù),其中soure用來(lái)表示要被復(fù)制的源文件名,而destination用來(lái)指定要復(fù)制的目的文件名。
在source和destination參數(shù)中都要包含文件所在的目錄或文件夾以及驅(qū)動(dòng)器。
下面就是一個(gè)應(yīng)用FileCopy語(yǔ)句實(shí)現(xiàn)文件復(fù)制功能的程序的示例。見教材P338。
(1)設(shè)計(jì)界面
向工具箱中添加一個(gè)Commondialog控件,并且把它放置到空白的窗體上。
根據(jù)程序功能的要求,在窗體上添加兩個(gè)CommandButton控件,兩個(gè)TextBox控件和兩個(gè)Label控件。
(2)編寫程序的初始化代碼
在程序的聲明中定義兩個(gè)全局變量,一個(gè)用來(lái)存放源文件路徑和名字,另外一個(gè)用來(lái)存儲(chǔ)目的文件路徑和名字
Dim source as string '定義一個(gè)存儲(chǔ)源文件路徑和名字的字符串變量。
Dim destination as string '定義一個(gè)存儲(chǔ)目的文件的路徑和名字的字符串變量。
(3)響應(yīng)[打開]按鈕的單擊事件
在設(shè)計(jì)階段雙擊“打開”按鈕,在彈出的代碼窗口中添加下列代碼:
Private Sub Command1_click()
CommonDialog1.showopen '顯示一個(gè)對(duì)話框
source=CommonDialog1.filename '存儲(chǔ)源文件路徑和名字的字符串變量
text1.text=source
End Sub
程序說(shuō)明:程序首先通過(guò)CommonDialog1.show 語(yǔ)句來(lái)顯示一個(gè)對(duì)話框,在其中用戶可能選擇要復(fù)制的源文件,然后把選中源文件的路徑和文件名存儲(chǔ)在變量soure中,同時(shí)通過(guò)Text1.text=source把源文件的路徑和文件名顯示在文本框中。
(4)響應(yīng)[另存為]按鈕的單擊事件
在設(shè)計(jì)階段雙擊“另存為”按鈕,在它的Command2_Click() 事件中添加下列代碼:
Private Sub Command2_click()
CommonDialog1.showsave '顯示一個(gè)對(duì)話框
destination=CommonDialog1.Filename '存儲(chǔ)目的文件路徑和名字的字符串變量
Text2.text=destination '顯示目的文件路徑和名字的字符串變量。
FileCopy source,destination ' 復(fù)制文件
End Sub
6. 存儲(chǔ)文件,運(yùn)行程序
[程序演示]
3、 Shell 函數(shù)
我們?cè)榻B了通用過(guò)程的定義及調(diào)用。實(shí)際上,在VB中,還可以調(diào)用各種應(yīng)用程序,也就是說(shuō),凡能夠在DOS或Windows下運(yùn)行的應(yīng)用程序,基本上都可在VB中調(diào)用。這一功能可通過(guò)Shell函數(shù)來(lái)實(shí)現(xiàn)。
它的語(yǔ)法結(jié)構(gòu)如下:
Shell(pathname[,windowstyle])
參數(shù)說(shuō)明:
pathname為所要執(zhí)行的應(yīng)用程序的名稱及其路徑和必要的參數(shù);
windowstyle表示在程序運(yùn)行時(shí)窗口的樣式。其中的參數(shù)windowstyle的設(shè)置及其說(shuō)明如下表:
設(shè)置值 常數(shù) 說(shuō)明
0 vbHide 窗口被隱藏,且焦點(diǎn)會(huì)移到隱藏式窗口
1 vbNormalFocus 窗口具有焦點(diǎn),且會(huì)還原到它原來(lái)的大小和位置
2 vbMinimizedFocus 窗口會(huì)以一個(gè)具有焦點(diǎn)的圖標(biāo)來(lái)顯示
3 vbMaximizedFocus 窗口是一個(gè)具有焦點(diǎn)的化窗口
4 vbNormalNoFocus 窗口會(huì)被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)
6 vbMinimizedNoFocus 窗口會(huì)以一個(gè)圖標(biāo)來(lái)顯示,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)