《文件的概念及其使用方法是VB程序设计知识点梳理汇总.docx》由会员分享,可在线阅读,更多相关《文件的概念及其使用方法是VB程序设计知识点梳理汇总.docx(38页珍藏版)》请在优知文库上搜索。
1、第7章文件通过前几章的学习,使我们了解,利用VB可以编写一些用于科学计算、图形处理等方面的程序。不仅如此,VB还广泛地应用于编制如人事、财务、生产、教学等各方面的管理程序,在这类应用中,通常需要处理大量不同类型的数据信息,而这些数据信息常常需要独立存储在某种介质上(如磁盘等),以便需要时通过程序来加工处理,这种独立存储的数据集合就称为文件。因此,掌握文件的概念及其使用方法是VB程序设计的重要内容之一。7.1 与文件操作有关的控件在WindoWS应用程序中打开文件或保存文件时,通常需要打开一个对话框,用于选择文件所在的驱动器(盘)、文件夹(目录)、文件名。在VB中,使用盘驱动器列表框(DriVe
2、LiStBox)、目录路径列表框(DirLiStBoX)以及文件列表框(FileListBox)这3种控件的组合,可以创建类似Windows资源管理器的文件操作对话框,用于选择文件。7.1.1 盘驱动器列表框控件盘驱动器列表框控件用于显示驱动器列表,工具箱中该控件图标为。该控件缺省的名称为:DrivekDriVe2、1 .盘驱动器列双框控件常用属性(1) DriVe属性(字符串类型)用来设置当前驱动器或返回所选择的驱动器名。DriVe属性只能在程序运行时赋值,而不能通过属性窗口设置.0为驱动器列表框的Drive属性赋值的语句格式为:盘驱动器列表框名DriVek驱动器名格式中的“驱动器名”为指定
3、的驱动器,也就是说使该驱动器成为当前驱动器;如果省略,则不改变当前驱动器。如果所指定的驱动器在系统中不存在,则产生错误。程序运行时若选择驱动器,则Drive属性值改写为所选择的驱动器名。如运行时单击驱动器列表框控件drivel中D:盘图标,则drive!.drive的值为d:。值得注意的是:盘驱动器列表框中显示的驱动器名都是由系统自动生成的,用户只能通过列表框选择使用,不可以对DriVe控件使用AddItemRernOVeItem等方法添加或删除列表项。LiSt属性(字符串数组)1.iSl数组的每一个元素中的字符串,为1个驱动器名,数组下标从O开始。(3)LiStCoUnt属性(正整数)1.i
4、slCount属性值表示系统中盘驱动器的个数。若系统有驱动器a:、c:、d:、e:、f:(光驱),则驱动器列表框控件drivel的LiStCOUnt属性值为5,执行下列语句后在窗体上输出的结果为“a:c:d:e:f:。Fori%=0ToDriveLListCount-1PrintDrivel.List(i%);Nexti%2.盘驱动器列表框控件常用事件运行时,当单击驱动器列表框中某一驱动器图标时,该驱动器的名就赋值给控件的Drive属性,同时引发Change事件。例7-1在窗体上设计一个盘驱动器列表框Drivel、一个标签Labello当程序启动时,设置当前驱动器为C盘;选择盘驱动器列表框中的
5、盘符,在标签上显示相应的当前驱动器信息。在窗体的Load事件中设置Drive属性的初值、编制事件过程Drivel_Change如下:PrivateSubForm_Load()Drivel.Drive=,c:,1.abell.Caption=当前驱动器为:+Drivel.DriveEndSubPrivateSubDrivel_Change()1.abell.Caption=当前驱动器为:n+Drivel.DriveEndSub图7“b例7之运行情况1 Forall.Labell界面设计和程序运行的情况分别如图7-la和图7-lb所示。l三7-la例7-1之界面设计7.1.2 目录路径列表框控件目
6、录路径列表框控件在工具箱中的图标为。目录路径列表框控件用于显示当前驱动器中文件夹(目录)列表。如图7-2所示。其中,突出显示的为当前目录。目录路径列表框控件缺省的控件名称为:DirKDir2、I.目录路径列表框控件常用属性Path属性(字符串类型)Path属性值为当前目录或所选择的目录名。如果选中盘X的根目录,则Path属性为x:;如果选中盘X的某一个子目录y(文件夹),则Path属性为x:y。请注意,Path属性值的最后一个字符是否为取决于是否选中根目录。同DriVe属性一样,Path属性只能用程序代码设置,而不能在设计时通过属性窗口设置。为目录列表框的Path属性赋值的语句格式为:目录路径
7、列表框名Path=目录路径名图7-2文件夹(目录)列表运行时单击目录列表框中某一文件夹(目录)图标时,该目录被突出显示,表示被选中。选中目录则改变目录列表框的ListIndex属性,但是没有改变其Path属性,若要改变Path属性值为所选中的目录路径,应当执行语句:目录路径列表框名Path=目录路径列表框名.List(目录路径列表框名.Listindex)LiSt属性(字符串数组)1.ist(0)List(I)、LiSt(LiStCOUnt-I)中的字符串为目录路径列表框中所选目录下所有的目录名,该数组由系统自动生成。1.iStCOUnt属性(正整数)1.iStCoUnt属性值为LiSt数组中
8、的元素个数,即所选目录之下1级目录的数量。如在图7-2中,若VB98目录下的子目录已全部显示,则DirLListCount属性值为5。若执行语句:Fori%=0ToDirLListCount-1PrintDir1.List(i%)Nexti%窗体上输出结果为:c:ProgramFileXMicrosoftVisualStudioVB98Setupc:ProgramFileXMicrosoftVisualStudioVB98Templatec:ProgramFileXMicrosoftVisualStudioVB98Tsq1c:ProgramFileXMicrosoftVisualStudioV
9、B98Wizards(3) c:ProgramFileXMicrosoftVisualStUdiOVB98新文件夹(4) 1.iStIndeX属性(整数)该属性取值范围为-n-ListCount-l,当前目录所对应的LiStIndeX属性值为-1,当前目录的上1级目录所对应的ListIndex属性值为-2,其中的n反映了当前目录在目录层次中的深度。Path属性值也可以通过在事件过程的程序代码中重新定义Dir控件的ListIndex属性来选择设置:DirLListIndex=IDirLListIndex=ODirLListIndex=-ZDirl.ListIndex=-3选当前目录下1级目录中的
10、第3个目录为当前目录(文件夹)选当前目录下1级目录中的第1个目录为当前目录。选当前目录上1级目录为当前目录。选当前目录上2级目录为当前目录。若要改变的当前目录不存在,则显示出错信息。如在图7-2中,假定当前所选文件夹是VB98:执行语句Dirl.ListIndex=2后文件夹TSql被突出显示;执行语句DirLListIndex=O”后文件夹SetUP被突出显示;执行语句“Dirl.ListIndex=-3”后文件夹ProgramFiles被突出显示,等等。(5) 录路径列表框控件常用事件Change事件每次重新设置或选择改变目录路径列表框的Path属性时,都将引发Change事件。运行时双击
11、目录路径列表框的列表选项,可改变Path属性值为当前目录名,并执行Change事件。Click事件单击选中目录路径列表框控件Dirl的某个目录名,则选中该目录,但DirLPath属性没有改变,可以在事件过程DirLCliCk中写入语句wDirLPath=Dirl.List(Dirl.Listindex)w,则可以在选择目录的同时改变DirkPath属性为所选目录的路径。在窗体的Load事件中可以设置Path属性的初值。例7-2目录路径列表框示例.界面设计:在窗体上建立目录路径列表框控件Dirl、三个标签控件(LabeI1、Label2Label3)以及一个列表框控件ListL程序启动时,程序运
12、行后, 别显示当前目录、 的目录路径信息。设置初始当前目录为C:WINDOWS”;通过鼠标双击Dirl中的列表选项,改变当前目录,同时在三个标签控件上分当前LiSUndeX和LiStCoUnt的值,在LiSu中显示当前目录的所有下一级目录程序的运行情况如图7-3所示。图7-3双击“MyDocuments,文件夹后的显示过程设计编写Form_Load和Dirl_Change事件过程如下:PrivateSubForm_Load(),设置Dirl控件的初始路径Dirl.Path=,C:WINDOWSEndSub双击控件Dirl时执行下列事件过程DirLChangePrivateSubDirl_Cha
13、nge()1.abell.Caption=当前目录:+Dirl.Path1.abel2.Caption=nListIndex=*+Str(Dirl.ListIndex)1.abel3.Caption=nListCount=*+Str(Dirl.ListCount)Listl,ClearFori%=OToDirl.ListCount-11.istl.AddItemDirl.List(i%)Nexti%EndSub在双击Dirl前,目录列表框中突出显示的是C:WINDOWS目录;双击MyDocuments”文件夹后,所选目录和DirLPath均改变为c:MyDocuments”。将下列CliCk事
14、件过程与上述过程DirLChange相比较,可知要实现同样的功能,其中的语句Dirl.Path=Dirl.List(Dirl.Listindex)w是必不可少的。,单击控件Dirl时执行该事件过程PrivateSubDirl_Click()Dirl.Path=Dirl.List(Dirl.ListIndex)1.abell.Caption=当前目录:,+Dirl.Path1.abel2.Caption=,ListIndex=+Str(Dirl.ListIndex)1.abel3.Caption=nListCount=*+Str(Dirl.ListCount)1.istl.ClearFori%=
15、OToDirl.ListCount-11.istl.AddItemDirl.List(1%)Nexti%EndSub在实际应用中,目录路径列表框Dirl与盘驱动器列表框Drivel有着紧密的关系。一般情况下,改变盘驱动器列表框中的驱动器名后,目录路径列表框中的目录也要随之改变为该驱动器上的目录。要实现这样的同步变化,可以在盘驱动器列表框的Change事件中设置如下命令:DirLPath=DriveLDrive将用户在盘驱动器列表框中选择的DriVe属性,改写目录列表框中的Path属性,使目录列表框中显示所选驱动器下的目录。7.1.3 文件列表框控件文件列表框控件用于显示当前目录中的文件列表,该控件图标为文件列表框控件缺省的控件名称为:Filel、FiIe2、1 .文件列表框控件常用JB性Path属性(字符串类型)同目录路径列表框的Path属性一样,用以设置当前文件列表框内所显示文件的存储路径。仅在运行时读写,不能在属性窗口中设置。