您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 《VB程序设计基础》第8章 文件
第8章文件8.1文件管理控件8.2文件操作语句与函数8.3数据文件的操作8.4小结8.1.1盘驱动器列表框控件盘驱动器列表框控件用于显示驱动器列表,工具箱中该控件图标为。该控件缺省的名称为:Drive1、Drive2、……1.盘驱动器列表框控件常用属性(1)Drive属性(字符串类型)。用来设置当前驱动器或返回所选择的驱动器名。Drive属性只能在程序运行时赋值,而不能通过属性窗口设置。赋值语句格式:盘驱动器列表框名.Drive=驱动器名格式中的“驱动器名”为指定的驱动器,也就是说使该驱动器成为当前驱动器;如果所指定的驱动器在系统中不存在,则产生错误。“驱动器名”字符串的第一个字符是有效字符(不区别大小写),语句Drive1.Drive=CDE和Drive1.Drive=c:作用相同,都是把当前驱动器设置为c:盘。程序运行时,若选择驱动器,则Drive属性值自动设置为所选择的驱动器名。如单击驱动器列表框控件Drive1中D:盘图标,则Drive1.Drive的值为d:。8.1.1盘驱动器列表框控件注意:盘驱动器列表框中显示的驱动器名都是由系统自动生成的,用户只能通过列表框选择使用,DriveListBox控件没有用于添加或删除列表项的AddItem、RemoveItem等方法。(2)List属性(字符串数组)。List数组的每一个元素都是盘驱动器列表框控件的一个列表项,为1个驱动器名,数组下标从0~ListCount-1。(3)ListCount属性(正整数)。ListCount属性值表示系统中盘驱动器的个数。若系统有驱动器a:、c:、d:、e:、f:(光驱),则驱动器列表框控件Drive1的ListCount属性值为5,执行下列语句后在窗体上输出的结果为“a:c:d:e:f:”。Fori=0ToDrive1.ListCount-1PrintDrive1.List(i);Nexti8.1.1盘驱动器列表框控件2.盘驱动器列表框控件常用事件当盘驱动器列表框Drive属性的值发生改变时,引发Change事件。运行时单击盘驱动器列表框中某一驱动器图标,Drive属性值自动设置为所选择的驱动器名,因此引发盘驱动器列表框的Change事件。在代码中对盘驱动器列表框控件的Drive属性赋值也会引发Change事件。但如果所选的驱动器或所赋的值与盘驱动器列表框原来的Drive属性值相同,则不会引发Change事件8.1.2目录列表框控件目录列表框控件在工具箱中的图标为。目录列表框控件用于显示当前驱动器中文件夹(目录)列表,如图8-3所示,其中“VB98”为当前目录。目录列表框控件缺省的控件名称为:Dir1、Dir2、……图8-3文件夹(目录)列表8.1.2目录列表框控件1.目录列表框控件常用属性(1)Path属性。Path属性返回或设置目录列表框的当前目录。Path属性决定目录列表框显示哪个目录的一级子目录结构。例如,图8-2中的目录列表框显示的是目录“VB98”的一级子目录结构。双击目录列表框的某一个表项,目录列表框的Path属性值被自动设置为被双击表项所对应的目录。如果双击盘x的根目录,则Path属性为“x:\”;如果双击盘x的某一个子目录y(文件夹),则Path属性为“x:\y”。注意:Path属性值最后一个字符是否为“\”,取决于目录列表框的当前目录是否为根目录。8.1.2目录列表框控件同Drive属性一样,Path属性只能用程序代码设置,而不能在设计时通过属性窗口设置。为目录列表框的Path属性赋值的语句格式为:目录列表框名.Path=目录路径名运行时单击目录列表框中某一文件夹(目录)图标时,该目录被突出显示,表示被选中。选中目录改变目录列表框的ListIndex属性,但并不改变Path属性,若要改变Path属性值为所选中的目录路径,应当执行语句:目录列表框名.Path=目录列表框名.List(目录列表框名.ListIndex)(2)ListCount属性。ListCount属性表示当前目录的一级子目录的数量,而不表示目录列表框中表项的个数。例如,在图8-2中,若当前目录“VB98”下的一级子目录已全部显示,则Dir1.ListCount属性值为5。8.1.2目录列表框控件(3)ListIndex属性。ListIndex属性表示被选中表项的索引号。目录列表框表项的索引号遵循以下规则:当前目录所对应的索引号为-1,当前目录的父目录所对应的索引号为-2,当前目录父目录的父目录所对应的索引号为-3,依此类推;当前目录的第1个子目录所对应的索引号为0,第2个子目录所对应的索引号为1,……当前目录的最后一个子目录所对应的索引号为ListCount-1。因此,ListIndex属性取值范围为-n~ListCount-1,其中-n为根目录所对应的索引号。如在图8-2中,假定目录列表框Dir1的当前目录是“VB98”:目录“VB98”被选中时,Dir1.ListIndex属性值为-1;执行语句“Dir1.ListIndex=2”后,文件夹Tsql被突出显示;执行语句“Dir1.ListIndex=0”后,文件夹Setup被突出显示;执行语句“Dir1.ListIndex=-3”后,文件夹ProgramFiles被突出显示。8.1.2目录列表框控件(4)List属性。List字符串数组中的每一个元素都对应着目录列表框中的一个表项,都对应着一个具体的目录路径。该数组由系统自动生成,数组List的下标取值范围为-n~ListCount-1,其中-n为根目录所对应的索引号。如在图8-2中,Dir1.List(-1)表示当前目录“VB98”的路径“c:\ProgramFiles\MicrosoftVisualStudio\VB98”;Dir1.List(-2)表示当前目录父目录的目录路径;Dir1.List(0)表示当前目录第一个子目录的目录路径;Dir1.List(Dir1.ListCount-1)表示当前目录最后一个子目录的目录路径;Dir1.List(Dir1.ListIndex)表示当前被选中表项所对应的目录路径。8.1.2目录列表框控件2.目录列表框控件常用事件(1)Change事件。当目录列表框的Path属性值发生改变时,引发Change事件。运行时双击目录列表框的表项,Path属性值自动设置为被双击的目录路径,并引发Change事件。(2)Click事件。单击目录列表框控件Dir1的某一表项时,引发Click事件。被单击的表项被突出显示,ListIndex的值发生改变,但Dir1.Path属性没有改变,可以在事件过程Dir1_Click中写入语句“Dir1.Path=Dir1.List(Dir1.ListIndex)”,则可以在选择表项的同时改变Dir1.Path属性为被选表项所对应的路径。8.1.3文件列表框控件文件列表框控件用于显示当前目录中的文件列表,该控件图标为。文件列表框控件缺省的控件名称为:File1、File2、……1.文件列表框控件常用属性(1)Path属性。该属性同目录路径列表框的Path属性一样,用以设置当前文件列表框内所显示文件的路径。仅在运行时读写,不能在属性窗口中设置。文件列表框总是显示Path所指示的文件夹中的文件。若在Form_Load事件中写入语句“File1.Path=”C:\Windows“”,则窗体装入后File1显示文件夹C:\Windows中的文件列表。(2)Pattern属性。该属性用以设置文件列表框中文件的显示模式,缺省值为“*.*”,表示显示所有类型的文件。此属性可以在属性窗口中设置,也可以在程序中通过赋值设置。8.1.3文件列表框控件字符串中为若干个用分号间隔的文件名,在文件名中可以含有通配符。例如:在Form_load事件中写入语句File1.Pattern=*.exe,使File1列表框中只显示所有扩展名为EXE的文件。写入语句File1.Pattern=*.dat;a*.*,使File1列表框只显示所有扩展名为DAT以及文件名首字符为a的文件。(3)FileName属性。用以设置或返回所选文件的文件名(并不包含路径信息),不能在属性窗口中设置,运行时若在文件列表框中选择文件将自动设置FileName属性值。所选文件的全名fs为:IfRight(File1.Path,1)=\Thenfs=File1.Path+File1.FileNameElsefs=File1.Path+\+File1.FileNameEndIf8.1.3文件列表框控件在本书第7章中介绍的通用对话框控件也有同名的FileName属性,它返回一个完整的文件名(包含路径信息)。同样,在实际应用中,文件列表框也要随着目录列表框的改变而变化。在程序中创建3个控件Drive1、Dir1、File1,并编制下列事件过程,则程序运行时对这些列表框所作选择可以起到调用通用(文件)对话框的作用。PrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change()File1.Path=Dir1.PathEndSub8.1.3文件列表框控件2.文件列表框控件常用事件与盘驱动器列表框、目录列表框不同的是:文件列表框支持PathChange和PatternChange事件,但不能响应Change事件。(1)PathChange事件。当文件列表框的Path发生变化时,引发PathChange事件。(2)PatternChange事件。当文件列表框的文件显示模式发生改变时,即Pattern属性值的改变将引发PatternChange事件。(3)Click事件。当单击文件列表框中的表项时,引发Click事件。(4)DblClick事件。当双击文件列表框中的表项时,引发DblClick事件。8.2.1直接调用外部可执行文件的Shell函数调用Shell函数可以执行外部可执行文件,其扩展名如.exe、.com、.bat或.pif,缺省扩展名为.exe。不能执行操作系统内部命令及所有非执行文件(如文档),否则将显示出错信息。调用shell函数的格式:CallShell(FileName[,Windows_style])或ShellFileName[,Windows_style]或变量名=Shell(FileName[,Windows_style])其中:FileName为字符串,是所调用可执行文件的全名。Windows_style参数用于规定当前窗口与被调用文件窗口的不同状态,取值及含义如下:◆0:窗口被隐藏,且焦点会移到隐藏窗口。◆1:窗口具有焦点,且会还原到它原来的大小和位置。◆2:窗口会以一个具有焦点的图标来显示。◆3:窗口是一个具有焦点的最大化窗口。◆4:窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。◆6:窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。函数返回值表示正在运行的(FileName指定的程序)程序的任务ID,每一个正在运行的程序都有一个惟一的任务ID。8.2.2目录和文件操作语句1.改变当前盘格式:ChDrive盘符其中:盘符为字符串,即驱动器名。例8-6确认calc.exe的准确位置为“c:\Windows\calc.exe”(可以通过运行“开始”菜单的“查找”选项确认),下列过程用来打开该文件。PrivateSubCommand1_Click()ChDrivec:'改变c:盘为当前盘CallShell(\windows\calc.exe,0)'省略盘符,默认指当前盘EndSub8.2.2目录和文件操作语句2.创建文件夹格式:MkDir文件夹名例8-7建立1个目录列表框以便观察
本文标题:《VB程序设计基础》第8章 文件
链接地址:https://www.777doc.com/doc-3567532 .html