![]() ![]() |
||||||||||||||||||||||
VB考试教程:文件处理函数 | ||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:46:17 文章录入:杜斌 责任编辑:杜斌 | ||||||||||||||||||||||
|
||||||||||||||||||||||
在VB6.0中,除了可以利用文件控件来对文件进行处理外,还可以通过一些函数和方法来处理文件,常用的文件处理函数和方法有Kill,FileCopy.RmDir,Shell和Name等。 1、 Kill 语句 Kill语句的功能是从磁盘中删除文件,它的语法结构如下: Kill pathname 其中参数pathname是用来指定一个文件名的字符串表达式,pathname要包含文件所在的目录(文件夹)以及驱动器。 Kill支持多字符(*)和单字符(?)的统配符来指定多重文件。例如: kill"c:\xy\*.bak" 将删除c盘xy目录下的备份文件。 Kill语句具有一定的“危险性”,因为在执行该语句时没有任何提示信息。 下面就是一个应用Kill语句设计应用程序的示例(见教材P336),它所能够实现的功能是可以显示一个对话框,在对话框中选择一个欲删除的文件,然后系统自动的完成删除的动作,具体的步骤如下: (1)设计界面 首先在工具箱中添加一个CommonDialog控件,然后把它添加到空白的窗体上。 (2)添加代码 在程序的开始运行阶段就显示一个删除文件的对话框,为此在设计阶段双击窗体,在窗体的Form_load()事件中添加下列代码: Private Sub Form_Load() 3. 保存文件,运行程序 注意:在用Kill语句删除文件时,必须关闭该文件,否则出错。 2、 FileCopy 语句 FileCopy语句的功能是复制一个文件 ,它的语法结构如下:
在FileCopy语句的语法中包括两个参数,其中soure用来表示要被复制的源文件名,而destination用来指定要复制的目的文件名。 在source和destination参数中都要包含文件所在的目录或文件夹以及驱动器。 下面就是一个应用FileCopy语句实现文件复制功能的程序的示例。见教材P338。 (1)设计界面 向工具箱中添加一个Commondialog控件,并且把它放置到空白的窗体上。 根据程序功能的要求,在窗体上添加两个CommandButton控件,两个TextBox控件和两个Label控件。 (2)编写程序的初始化代码 在程序的声明中定义两个全局变量,一个用来存放源文件路径和名字,另外一个用来存储目的文件路径和名字 Dim source as string '定义一个存储源文件路径和名字的字符串变量。 Dim destination as string '定义一个存储目的文件的路径和名字的字符串变量。 (3)响应[打开]按钮的单击事件 在设计阶段双击“打开”按钮,在弹出的代码窗口中添加下列代码: Private Sub Command1_click()
End Sub 程序说明:程序首先通过CommonDialog1.show 语句来显示一个对话框,在其中用户可能选择要复制的源文件,然后把选中源文件的路径和文件名存储在变量soure中,同时通过Text1.text=source把源文件的路径和文件名显示在文本框中。 (4)响应[另存为]按钮的单击事件 在设计阶段双击“另存为”按钮,在它的Command2_Click() 事件中添加下列代码: Private Sub Command2_click()
End Sub 6. 存储文件,运行程序 3、 Shell 函数 我们曾介绍了通用过程的定义及调用。实际上,在VB中,还可以调用各种应用程序,也就是说,凡能够在DOS或Windows下运行的应用程序,基本上都可在VB中调用。这一功能可通过Shell函数来实现。 它的语法结构如下: Shell(pathname[,windowstyle]) 参数说明: pathname为所要执行的应用程序的名称及其路径和必要的参数; windowstyle表示在程序运行时窗口的样式。其中的参数windowstyle的设置及其说明如下表:
如果windowstyle省略,则程序是以具有焦点的最小化窗口来执行的。 Shell函数的功能是执行一个可执行文件,同时返回一个Variant(Double),如果调用成功的话,返回一个任务标识(Task ID),它是执行程序的唯一标识,若不成功,则会返回0。例如: x=Shell(c:\winword\winword.exe",3) 该语句调用“Word for Windows”,并把ID返回给x。注意,在具体输入程序时,ID不能省略。上面的语句不能写成: Shell(c:\winword\winword.exe",3) 必须在前面加上“x=”(可以用其它变量名)。 下面看具体的例子。 例1:见教材P343。 设计程序: 在窗体的form_load()事件中添加如下代码: Private Sub Form_load()
End Sub 程序说明:程序首先定义一个字符串变量,用于存储程序执行的情况,如果运行正常,就会返回所调用应用程序的ID,否则就会返回0;,然后通过Form1.hide来隐藏窗体;最后str1=Shell("c:\pwin95\calc.exe",1)来完成对win95的计算器应用程序的调用。 运行结果如图: 例2:在窗体中调用控制面板的主要设置。实现Windows属性设置的代码化。 界面: 创建命令按钮控件组。
代码: Private Sub Command1_Click(Index As Integer)
说明:本例利用了Shell函数调用Rundll32.exe文件的功能,具体调用代码为: x = Shell("Rundll32.exe shell32.dll,Control_RunDLL") 祥见“VB启动控制面板大全”。 4、RmDir 语句 RmDir 语句的功能是删除一个存在的而且为空的目录或文件夹,它的语法结构如下所示:
其中参数Path是一个字符串表达式,用来指定要删除的目录或文件夹。如果在参数Path中没有指定驱动器,则Rmdir会在当前驱动器上删除为空的目录或文件夹。 下面就是一个综合应用Kill语句和Rmdir语句的示例,它所能够实现的功能是删除一个非空的目录。见教材P344。 (1)界面设计 在窗体上添加一个DriveListBox控件,一个DirListBox控件、一个FileListBox控件和三个CommandButton控件,并设置属性。 (2)代码 响应“删除文件”按钮单击事件: 在程序的设计阶段,双击“删除文件”按钮,在它的Command2_Click()事件中添加下列代码: Private Sub Command2_Click()
End Sub 响应“删除目录”按钮事件: 在程序的设计阶段,双击“删除目录”按钮,在它的Command1_Click()事件中添加下列代码: Private Sub Command1_Click()
End Sub 响应“退出运行”按钮事件: private sub command3_click() end '结束程序 end sub 驱动器、目录、文件三者同步 private sub dir1_change() file1.path=dir1.path '及时更改文件列表框中的内容 end sub private sub drive1_change() dir1.path=drive1.drive '及时更改目录列表框中的内容 end sub 6.存储文件,运行程序 注意:Rmdir只能删除空的文件夹,如果要删除含有文件的文件夹,应先使用Kill语句删除该文件夹下的所有文件,再用Rmdir语句删除该文件夹,否则会出错。 5、Name语句 Name语句的功能是重新命名一个文件、目录或文件夹,也可以用来移动文件。它的语法结构如下: Name oldpathname As newpathname 其中包括以下两个部分: oldpathname 为字符串表达式,由它来指定已存在的文件名和位置,即原文件名,在其中包含目录或文件夹以及驱动器。 newpathname也是字符串表达,它指定新的文件名和位置,即新文件名,同样要包含目录或文件夹以及驱动器。 Name的作用说明: 移动文件 如果newpathname所指定的路径存在并且与oldpathname有不同的路径和不同的文件名,则Name语句会将文件移到新的目录文件夹,同时重新命名文件。如: Name "c:\doc\unzip.exe" as "c:\windows\dounzip.exe " 将原文件unzip.exe从dos目录下移到windows目录下并重新命名为dounzip.exe。 如果newpathname所指定的路径存在并且与oldpathname有不同的路径和相同的文件名,那么Name会移动文件到新位置,并保持文件名不变。如: Name "c:\doc\unzip.exe" as "c:\windows\unzip.exe " 将把unzip.exe文件从dos目录下移动到windows目录下,同时在dos目录下的unzip.exe文件被删除。 重命名目录 Name语句可以移动文件,不能移动目录,但可以对目录重命名。例如: Name "c:\temp" as "c:\tempold" 注意:
下面是利用Name语句来移动文件的例子。见教材P348。 (1)界面设置 向工具箱中添加一个CommonDialog控件、两个TextBox控件、两个Label控件和三个CommandButton控件。 (2)代码编写 初始化代码 Private Sub Form_load()
End sub 响应“打开”按钮单击事件 Private Sub Command3_Click()
End Sub 程序说明:在程序的运行过程中,当单击“打开”按钮时,就会激活Command3_Click()事件,程序首先通过CommonDialog1.show1来显示一个"打开文件"的对话框,用户在其中选择一个有效的文件后,在文本框中就会显示出文件的路径和文件名,然后设置“移动”按钮的有效状态为Ture. 响应“移动”按钮单击事件 Private Sub Command1_click()
End Sub 程序说明:在程序的运行过程中,当单击“移动”按钮时,就会激活Command1_Click()事件,程序首先设置对话框的标题为"移动文件",然后CommonDialog1.Show2语句来显示一个"移动文件" 的对话框,用户在其中选择一个有效的路径和文件名后,程序就会自动的弹出一个对话框,询问用户是否真的要移动文件,如果用户确认移动,就会通过Name Text1.text as Text2.text语句来移动文件 。 |
||||||||||||||||||||||
![]() ![]() |