第11章-文件管理ppt课件(全).ppt
《第11章-文件管理ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第11章-文件管理ppt课件(全).ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第11章 文件管理11.1文件管理组件文件管理组件 11.1.1TFileListBox组件 11.1.2TDirectoryListBox组件 11.1.3 DriveCombobox组件 11.1.4 FilterCombobox组件 11.1.5 ShellTreeView组件 11.1.6 ShellCombobox组件 11.1.7 ShellListView组件11.2 文件管理的相关函数和过程文件管理的相关函数和过程 11.2.1 RenameFile函数 11.2.2 DeleteFile函数 11.2.3 FileExists函数 11.2.4 FileGetAttr函数 1
2、1.2.5 FileSetAttr函数 11.2.6 DirectoryExists函数 11.2.7 CreateDir函数 11.2.8 RemoveDir函数11.3 文件管理操作文件管理操作 11.3.1 文件类型 11.3.2 适合于各种文件的操作 11.3.3 文本文件的操作 11.3.4 有类型文件的操作11.4 小结小结11.5 习题习题文件是同一类型元素的有序集合,是内存与外设间传输数据的渠道。一些外设如显示器、键盘、打印机等都可以看作文件,但最常用的还是磁盘文件,这也是本章我们主要讨论的对象。Delphi继承了Object Pascal的文件管理功能,并有很大的发展,其中最
3、主要的是提供了用于文件管理的标准组件,同时也提供了更多的文件管理函数。本章首先介绍Delphi提供的文件组件的使用方法,然后是Delphi文件管理的标准过程/函数,最后介绍文件访问具体操作。11.1 文件管理组件Delphi提供了丰富的文件管理组件,主要有两种风格。一种为位于Delphi组件面板Tool Palette的Win3.1选项卡上的TFileListBox、TDirectoryListBox、TDriveCombobox、TFilterCombobox四个组件,为传统的Windows 3.x风格;另一种为位于Sample选项卡上的TShellListView、TShellCombob
4、ox、TShellTreeView三个组件,为Windows 9X风格。使用它们可以很方便的编写类似Windows资源管理器程序。11.1.1 FileListBox组件该组件的功能是在应用程序窗体上提供一个文件列表框,显示指定目录下的文件列表。它和其他它三个组件联合使用,可以为用户提供磁盘上所有文件查看和选择功能。FileListBox类和ListBox类都是由CustomListBox类派生而来,因此它们用法有很多相同之处,这里只介绍它独有的属性。1Directory属性:该属性用来指定包含TFileListBox组件内所显示文件的文件夹名。改变该属性的文件夹名,则文件列表框中将显示此文件
5、夹所包含的文件。2Drive属性:该属性用来指定包含TFileListBox组件内所显示文件的驱动器名。改变该属性的驱动器名,TFileListBox组件的Directory属性自动改为此驱动器下的当前目录。3FileEdit属性:该属性指定一个与文件列表框组件关联的Edit组件。当用户在文件列表框组件中选择文件时,被选择文件的文件名(FileName属性值)将显示在Edit组件中;如果当前没有文件被选取,则该Edit组件中将显示当前的Mask属性值(Mask属性的作用后面将有详细介绍),就像标准的Windows中的打开和保存对话框中的功能。用户对Edit组件的Text属性所做的直接修改不会影
6、响到文件列表框组件,但可以通过调用ApplyFilePath方法用修改后的Text属性值更新文件列表框组件的当前设置。4FileName属性:该属性返回文件列表框中用户选择的文件名,包含路径信息。可以通过设置该属性把文件列表框初始化为选中某个特定文件;读取该属性则可以获取用户选择的文件名。如果文件列表框关联了Edit(即设置了FileEdit属性),FileName属性值将显示在该组件中。5FileType属性:该属性指定将在文件列表框中显示名称的文件的属性。该属性定义如下:property FileType:TFileType;且有如下类型定义:type TFileAttr=(ftReadO
7、nly,ftHidden,ftSystem,ftVolumeID,ftDirectory,ftArchive,ftNormal);TFileType=set of TFileAttr;其中文件类型的可选值及其意义如表11-1:表11-1 文件类型可选值及意义值值意意 义义ftReadOnly文件列表框中显示只读类型的文件ftHidden文件列表框中显示隐藏类型的文件ftSystem文件列表框中显示系统类型的文件ftVolumeID未用ftDirectory文件列表框中显示目录ftArchive文件列表框中显示存档类型的文件ftNormal文件列表框中显示普通的文件6Mask属性:该属性用来设置
8、文件列表框中将显示文件的过滤条件。如果设置该属性,则指定文件夹下只有满足该过滤条件的文件名才会在文件列表框中显示。其值是含有文件通配符的文件名。其中“*”表示任意字符串,而“?”表示任意一个字符。例如“*.*”表示所有文件,也是该属性的默认值。7ShowGlyphs属性:该属性为Boolean类型,当值为True时,表示在文件列表框显示的文件名旁同时显示表示其类型的文件图标;当值为False时,则只显示文件名而不显示该图标。11.1.2 DirectoryListBox组件该组件的功能是在应用程序窗体上提供一个目录列表框,显示指定驱动器下的目录树结构。该类同样由TCustomListBox类派
9、生而来,这里只介绍其独有属性。1CaseSensitive属性:该属性为Boolean类型,用来指定文件系统对于文件名的大小写是否敏感。取值True是为大小写敏感,False则不区分大小写。2Directory属性:该属性用来返回目录列表框中打开的当前目录名。3DirLabel属性:该属性指定一个与目录列表框组件关联的abel组件。当用户在目录列表框组件中选择目录,被选择目录的目录名(Dierctory属性值)将作为该Label组件的标题显示。4Drive属性:该属性指定目录列表框所显示的目录树结构属于哪一个驱动器。如果该值发生改变,则目录列表框将显示指定驱动器的目录树,且自动打开指定驱动器下
10、的当前目录。5FileList属性:该属性用来指定一个与目录列表框相关联的文件列表框组件,以显示目录列表框中所选当前目录下的文件。一旦文件列表框与目录列表框建立起关联,则文件列表框的Directory属性值、Dirve属性值将会随着目录列表框的相关属性值的改变而自动改变。即,当目录列表框中的当前目录发生改变时,文件列表框会自动显示修改后的当前目录下的文件。11.1.3 DriveCombobox组件该组件功能是在应用程序窗体上提供一个驱动器组合列表框,供用户选择驱动器。因TDriveCombobox类和TCombobox类都是由TCustomCombobox类派生而来,所以它们用法有很多相同之
11、处,这里只介绍TDriveCombobox独有的几个属性。1DirList属性:该属性用来指定一个与驱动器组合列表框相关联的目录列表框,以显示指定驱动器下的目录树结构。关联建立后,当驱动器组合列表框中所选驱动器发生改变,则关联的目录列表框的Drive属性、Directory会自动改变,即自动显示所选驱动器下的目录树结构,自动打开指定驱动器下的当前目录。2Drive属性:返回用户选择的驱动器名。在设计期指定该值可以将TDriveCombobox初始化为指向某个特定的驱动器。3TextCase属性:该属性指定列表框中显示驱动器名的字母是大写还是小写。11.1.4 FilterCombobox组件该
12、组件的功能是提供给用户一个选择文件过滤属性的选择框。主要属性如下:1FileList属性:该属性用来指定一个与过滤属性选择框关联的文件列表框组件,以限制该文件列表框显示文件的类型。一旦建立关联,文件列表框中所显示文件将随过滤属性的改变而自动变化。2Filter属性:该属性用于设置和保存用户设置的文件过滤条件列表。该列表可以在设计期用FilterEditer编辑,也可以在运行时通过代码来设置。其格式如下例:FilterComboBox1.Filter:=Text files|*.TXT;FilterComboBox1.Filter:=Text files(*.TXT)|*.TXT|Pascal
13、files(*.PAS)|*.PAS;FilterComboBox1.Filter:=All files|*.TXT;*.PAS;*.WB1;3Mask属性:该属性返回用户当前所选择的过滤条件。如果关联了文件列表框组件,则文件列表框的ask属性值会随该属性值的变化自动变化。例11-1 磁盘文件浏览器利用上述几个组件,可以很方便的制作一个Win3.1风格的磁盘文件浏览器。步骤如下:1新建一个VCL Forms Application-Delphi for Win32工程,在Tool Palette的win3.1页上找到以上几个组件添加到窗体上,就用默认名字。2修改DriveCombobox1的D
14、irList属性为DirectoryListBox1。3修改DirectoryListBox1的FileList属性为FileListBox1。4修改FilterCombobox1的FileList属性为FileListBox1,并修改其Filter属性,指定文件过滤条件。5运行程序运行界面如图11-1:图11-1 磁盘文件浏览器界面11.1.5 ShellTreeView组件ShellTreeView组件显示一个Windows资源管理器样式的文件夹树状列表,使用它可以很方便的制作和Windows资源管理器一模一样的文件夹树状浏览程序。因该组件由CustomTreeView派生而来,这里只介绍
15、其主要属性。1.AutoContextMenus属性:该属性是Boolean类型,用来指定TShellTreeView组件是否根据右键单击的对象自动显示系统菜单。默认值为True,表示当右键单击组件内显示的某个对象时,组件会根据该象的类型显示相应的系统菜单。2.AutoRefresh属性:该属性是Boolean类型,用来指定ShellTreeView组件是否根据系统资源改动情况自动更新显示。默认值是False。3.ObjectTypes属性:该属性是一个集合属性,用来指定ShellTreeView组件中显示的系统资源类型。类型定义如下:FObjectTypes:TShellObjectType
16、s;TShellObjectTypes=set of TShellObjectType;TShellObjectType=(otFolders,otNonFolders,otHidden);其中otFolders表示文件夹对象,otNonFolders表示非文件对象,otHidden表示具有隐藏属性的对象。下面图11-2和图11-3就是该属性值别取otFolders和otFolders,otNonFolders时的情况:图11-2图11-34.Root属性:该属性指定一个文件夹作为TShellTreeView组件的根结点,该文件夹可以是一个系统文件夹,也可是用户指定任一磁盘路径。默认值为rfD
17、esktop,即将“桌面”作为根结点,如上图所示。5.ShowButtons、ShowShellImages、ShowLines属性:这三个属性都是Boolean类型,分别用来指定TShellTreeView组件是否显示对象树中的展开或收缩按钮、系统图标、连接虚线。默认值都为True,表示显示这些元素,如上图。6.ShellCombobox、ShellListView属性:这两个属性分别用来指定和TShellTreeView组件相关联的TShellCombobox组件和TShellListView组件。设置过该属性后,当TShellTreeView组件中选中的对象发生变化时,与之关联的TShe
18、llCombobox组件和TShellListView组件中的显示内容会自动更新。11.1.6 ShellCombobox组件TShellCombobox组件用来显示一个Windows资源管理器样式的对象下拉列表框,如下图11-4:图11-4 ShellCombobox组件该组件的重要属性主要有三个,Root、ShellListView、ShellTreeView,用法与TShellTreeView类似,这里不再重复。11.1.7 ShellListView组件TShellListView组件用来显示一个Windows资源管理器样式的对象列表框,如图11-5。下面介绍它的重要属性。图11-5
19、ShellListView组件1.AutoContextMenus、AutoRefresh、Root、ObjectTypes、ShellCombobox、ShellTreeView:这些属性的功能与用法类似TShellTreeView、TShellCombobox组件,这里不再重复。2.ViewStyle:该属性是枚举类型,用来指定TShellListView组件显示对象信息的方式。相关定义如下:FViewStyle:TViewStyle;TViewStyle=(vsIcon,vsSmallIcon,vsList,vsReport);四个取值分别表示以大图标、小图标、列表、详 细信息方式显示对
20、象信息,类似Windows资源管 理器中的“查看”选项。3.ShowColumnHeaders:该属性为Boolean类型,只有在ViewStyle属性值为vsReport时才有效,用来指定是否显示详细信息的列标题。默认值为True,表示显示详细信息的列标题。4.ColumnClick:该属性为Boolean类型,只有在ViewStyle属性值为vsReport且ShowColumn属性为True时才有效,用来指定是否充许单击详细信息的列标题。默认值为True,表示可以单击详细信息的列标题。5.GridLines:该属性为Boolean类型,只有在ViewStyle属性值为vsReport时才
21、有效,用来指定是否显示详细信息列表的网格线。默认值为False,表示不显示详细信息列表的网络线。6.RowSelect:该属性为Boolean类型,只有在ViewStyle属性值为vsReport时才有效,用来指定当鼠标单击列表中某个对象时,是否整行选中该对象的详细信息(高亮显示)。默认值为False,表示当鼠标单击列表中某个对象时,只选中该对象本身。7.HotTrack:该属性为Boolean类型,用来指定是否自动选中(高亮显示,此时可敲击回车键打开该对象)组件中当前鼠标位置处的对象。默认值为False,表示不自动选中当前鼠标位置处的对象。8.MultiSelect:该属性为Boolean类
22、型,用来指定是否充许同时选中对象列表中的多个对象。默认值为False,表示不自动选中当前鼠标位置处的对象。如果为True,则可以支持扩展选择功能实现对象多选。9.Sorted:该属性为Boolean类型,用来指定是否对列表中的对象按名称排序。默认值为True。例11-2“我的资源管理器”示例程序利用上述几个组件,可以很方便的制作一个Win9X风格的磁盘文件浏览器。步骤如下:1.新建一个VCL Forms Application-Delphi for Win32工程,在Tool Palette的Sample页上找到以上几个组件添加到窗体上,就用默认名字。2.修改ShellTreeView组件的S
23、hellCombobox属性指向添加的TShellCombobox组件,TShellListView属性指向添加的TShellListView组件;修改TShellCombobox组件的ShellListView属性指向添加的TShellListView组件。3.其它属性根据需要设置。4.添加五个按钮,分别修改其标Caption属性为“向上”、“新建”、“删除”、“转到”、“改名”,如下图程序界面。5.为TShellListView组件添加右键弹出菜单,菜单项如下图所示。6.编写相应的码,调试运行。程序运行界面如图11-6:图11-6 自制资源管理程序界面源代码:var i:integer=1
24、;/自定义全局变量 /自定义删除文件夹的函数 function TForm1.Deltree(path:string):Boolean;var SearchRec:TSearchRec;olddir:string;begin if DirectoryExists(path)then begin oldDir:=GetCurrentDir;ChDir(path);FindFirst(.,faAnyFile,SearchRec);repeat FileSetAttr(SearchRec.Name,0);if(SearchRec.Attr and faDirectory 0)then begin i
25、f(SearchRec.Name1.)then if(not Deltree(SearchRec.Name)then break;end else if(not DeleteFile(SearchRec.Name)then break;until(FindNext(SearchRec)0);ChDir(.);Result:=ReMoveDir(path);SetCurrentDir(oldDir);end else Result:=False;end;/“向上”功能实现procedure TForm1.SpeedButton1Click(Sender:TObject);begin shelll
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 文件 管理 ppt 课件
限制150内