visual basic文件操作全攻略
2004-04-16■作者:潇潇■出处: yesky 【相关文章:My MBTI is INTP.】 【扩展阅读:一维指针遍历二维数组】 对于程序,无论大到一个操作系统,小到一个单一功能的应用软件来说,很多时候,我们都要将一些数据记录与存储到磁盘中.可见,对目录与文件的操作是多么的重要.下面我们就与大家一起学习一下vb中可以应用的三种方法:1、使用现成的控件2、使用visualbasic中提供的方法3、使用windows提供的应用程序编程接口(api)。下面我们具体看看这些方法。 【扩展信息:关注PDO】 谈vb目录文件操作的三种方法 第一部分 目录操作 一、使用现成控件 (一) 察看与显示目录下的文件与文件夹 对于这个实现,其实很简单。首先想到的就是vb中给我们提供的现成的控件。主要 有这么两类:一类是驱动器列表框(drivelistbox)、目录列表框(dirlistbox)与文件列表框(filelistbox)三个控件组合而成的自定义对话框;另一类是windows提供的标准对话框。 他们在工具箱中的位置与图标如下所示: 1、驱动器列表框是一个下拉式的列表框,他与一般下拉式的列表框的不同仅在于功能上的不同,它提供了一个驱动器的列表。当单击右边的箭头时,则弹出计算机中的所有驱动器的下拉列表。默认状态下,在驱动器列表中显示的是当前驱动器,我们可以输入或从下拉列表中选择有效的驱动器标示符. 下面是它的主要属性,事件与方法. 属性 drive 本属性用于返回或设置运行时选择的驱动器.默认值为当前驱动器 改变drive属性会触发change事件. 示例: drive1.drive = “c:\” 设置c盘为当前驱动器. 事件 change 当选择一个新驱动器或通过代码改变了drive属性时触发该事件 下面是示例代码: private sub drive1_change() dir1.path = drive1.drive ‘当选择一个新驱动器时,将驱动器列表中选中的当前驱动器,赋给目录列表的路径. end sub 2、目录列表框 目录列表框用于显示当前驱动器的目录结构,目录列表框从最高层目录开始,显示当前驱动器的目录结构,并按层次关系缩进跟目录下的所有子目录。下面是它的主要属性,方法与事件: 属性 path 本属性用于返回或设置运行时选择的路径,默认路径为当前路径.改变dri属性会触发change事件. 示例: dri1.path = drive1.drive 设置在驱动器列表框中选中的驱动器盘符为目录列表的当前路径. listindex 本属性用来返回或设置控件中当前被选择的项目索引号.目录列表框中的每一个目录都可以通过listindex属性来标识.由path属性所设置的当前目录的listindex属性值总是-1,而它上面的目录的listindex属性值为-2,再上面的为-3,以此类推;而它所包含的子目录恰恰相反,紧挨着的第一个子目录的listindex属性值为0,往下一次加一. listcount 本属性返回当前目录下的所有子目录书.listcount的值比最大的listindex的值大1. 事件 change 当选择一个新目录或通过代码改变了path属性时触发该事件 下面是示例代码: private sub dir1_change() ´将文件列表框的路径值,设置为目录列表框所选中的路径值 file1.path = dir1.path end sub 3、文件列表框 文件列表框用来显示当前目录中的部分或者全部文件.文件列表框的大部分属性与一般的列表框相同,都具有大小,位置,字体,颜色等以及list,listcount,listindex等属性.下面是主要的属性: 属性 path 本属性用于返回或设置运行时选择的路径以显示其下的文件,默认路径为当前路径.改变dri属性会触发pathchange事件. 示例: file1.path= dri1.path 设置在目录列表框中选中的路径为文件列表的当前路径. pattern 本属性用来确定程序运行时,列表框中显示那些类型的文件.除了使用”*” ”?”等通配符外,在参数中还可以使用分号”;”来分割多种文件类型.例如:”*.ext;*.bat” filename 本属性返回或设置所选文件的路径与文件名.可以从本属性值中返回当前列表中选择的文件名.路径可用path属性单独检索.在功能上,本属性值与listindex等价.如果没有文件被选中,filename属性将返回0长度的字符串.改变甭属性值可能会产生一个或多个如下事件:pathchange(如果改变路径),patternchange(如果改变模式),dblclick(如果指定存在的文件) 事件 click 当选择一个新的文件时触发该事件 下面是示例代码: private sub file1_click() picture1.picture = loadpicture(dir1.path & " \ " & file1.filename) ‘在图片框中显示选定的图形文件. end sub 4、标准对话框 commondialog控件提供了一组标准的操作对话框,进行诸如打开,与保存文件,设置打印选项,以及选择颜色与字体等操作.通过运行windows帮助引擎还能显示帮助. commondialog控件在visual basic与microsoft windows动态链接库commdlg.dll的例程之间提供了一个接口.为了用这个控件创建一个对话框,commdlg.dll必须存在于microsoft windows的system目录下.然后再visual basic中选择工程/部件,并在显示的部件对话框中选中microsoft common dialog control 6.0,确定后,在工具栏里就显示了出来.如下图所示: 在应用程序中要使用commondialog控件,可将其添加到窗体中并设置其属性.控件所显示的对话框有控件的方法确定.在运行时,当相应的方法被调用时,将显示一个对话框或是执行帮助引擎;在设计时,commondialog 控件是以图标的形式显示在窗体中的.该图标的大小不能改变. 使用指定的方法,commondialog控件能够显示下列对话框: 方法 所显示的对话框 showopen showsave showcolor showfont showprinter showhelp 显示[打开]对话框 显示[另存为]对话框 显示[颜色]对话框 显示[字体]对话框 显示[打印]或[打印选项]对话框 显示windows帮助引擎 下面是它的主要属性,方法: 属性 filer 该属性应用于commondialog控件中的[打开][另存为]对话框.本属性用来返回或设置在对话框[类型]列表框中显示的过滤器.过滤的作用是确定对话框中文件列表框中显示的文件类型.例如:设置为*.txt时,将显示文本文件.要显示多种类型的文件,可以用管道(|)符号(ascii124)将他们分开.管道符号前后不能加空格.如:*.rm|*.rmvb action 该属性返回或设置一个表示所显示对话框类型的整数.具体如下. 设置数值 说明 0 1 2 3 4 5 6 没有操作 显示[打开]对话框 显示[另存为]对话框 显示[颜色]对话框 显示[字体]对话框 显示[打印]或[打印选项]对话框 运行winhlp32.exe filename 本属性应用于commondialog控件的[打开][另存为]对话框. 本属性返回或设置所选文件的路径与文件名.如果在运行时被创建,filename属性将返回0长度的字符串,表示当前没有选择文件.在commondialog控件里,可以在打开对话框之前设置filename属性来设定初始文件名. 可以从本属性值中返回当前列表中选择的文件名.路径可用path属性单独检索.在功能上,本属性值与listindex等价.如果没有文件被选中,filename属性将返回0长度的字符串. 改变甭属性值可能会产生一个或多个如下事件:pathchange(如果改变路径),patternchange(如果改变模式),dblclick(如果指定存在的文件) 事件 click 当选择一个新的文件时触发该事件 下面是一个例子: 我们在这里要做一个vcd的播放器下面是界面. 下表是其中所用到的控件及其属性设置: 对象 特性 设置值 窗体 名称 frmvcd borderstyle 1 caption vcd播放器 菜单 标题 文件 名称 mnufile 标题 打开 名称 mnuopen 标题 播放 名称 mnuplay 标题 退出 名称 mnuexit 标题 选项 名称 mnuoption 标题 连续播放 名称 mnurepeat 标题 静音 名称 mnuslient 多媒体控件 名称 mmcontrol picture控件 名称 picture1 通用对话框 名称 commondialog1 下面是主要程序代码代码: private sub mnuopen_click() ’当点击菜单中的打开时执行 ´在未选择文件时,文件名为空字符,播放菜单不可用 mnuplay.enabled =false commondialog1.filename = "" ´下面语句设置文件过滤方式,可显示扩展名为avi,dat,wav与mid文件 commondialog1.filter = "(*.avi)|*.avi|(*.wave)|*.wav|(vcd *.dat)|*.dat|(midi *.mid)|*.mid" ´初始化文件过滤方式为*.avi commondialog1.filterindex = 1 ´建立打开方式的通用对话框,也可使用commondialog1.showopen commondialog1.action = 1 ´打开一个文件前先关闭前一次被打开的多媒体设备 mmcontrol1.command = "close" select case commondialog1.filterindex case 1 ´选择*.avi ´设置多媒体设备类型为avividio mmcontrol1.devicetype = "avividio" ´设置时间格式为帧 mmcontrol1.timeformat = 3 ´设置播放的文件为通用对话框中选择的文件... 下一页