delphi 文件存取方法与文件管理组件
9.2 文件存取方法与文件管理组件
9.2.1 存取文件的类方法
Delphi在许多需要与文件打交道的类中定义了文件存取方法,使用这些方法可以非常方便地将类中的数据保存到文件中,或从文件中读取所需的数据。
1.LoadFromFile和SaveToFile方法
LoadFromFile( )和SaveToFile( )是直接存取文件的类方法。声明如下:
procedure LoadFromFile(const fileName:string);
procedure SaveToFile(const fileName:string);
其中,fileName参数指明包含路径的文件全名。LoadFromFile( )方法从fileName指定的文件中读取数据,
SaveToFile( )方法将数据写到fileName指定的文件中。
2.拥有存取文件方法的类
拥有LoadFromFile( )和SaveToFile( )方法的常用类如下:
(1)TStrings。
TStrings类中的LoadFromFile( )和SaveToFile( )方法处理文本文件。
因为TStrings类中保存的是多行的字符串数据,而文本文件也保存多行的字符串数据。如TMemo.Lines属性类型就是TStrings类,调用下列方法,可以读入指定文本文件的内容,并显示在Memo1组件中。
Memo1.Lines.LoadFromFile(fileName);
(2)TGraphic和TPicture。
TGraphic类是许多图像处理类的父类。在TGraphic类中定义的LoadfromFile( )和SaveToFile( )方法只是虚方法,并不能直接存取图像文件,但其子类(如TBitmap、TIcon和TJPEGImage等)都覆盖了这两个方法,以处理不同格式的图像文件。例如:
var bmp1:TBitmap;
bmp1:=TBitmap.Create;
bmp1.LoadFromFile(fileName); //只能读入BMP图像
TPicture类中也有LoadFromFile( )和SaveToFile( )方法,它们与TGraphic中的文件处理方法不同的是,根据图像文件的后缀名,自动选择合适的文件类型保存或读取图像文件。例如,下列语句可以读入多种格式的图像文件:
Image1.Picture.LoadFromFile(fileName); //能够读入多种格式图像
(3)TTreeView。
TreeView组件中保存的树型结构的所有节点,按树的横向凹入表示法存放在一个文本文件中,
调用LoadFromFile( )方法从指定文本文件中读入树的所有节点及其结构,SaveToFile( )方法将树的所有节点按树的横向凹入表示法写入指定文本文件中。例如:
TreeView1.LoadFromFile(filename); //从指定文本文件中读取所有节点
由上述讨论可见,不同类的对象调用LoadFromFile( )和SaveToFile( )方法时,需要各自特定类型的文件,否则就会出错。
9.2.2 文件管理组件
文件管理组件用于对文件、目录(文件夹)进行操作,
包括DriveComboBox(驱动器组合框)、DirectoryListBox(目录列表框)、FileListBox(文件列表框)、FilterComboBox(文件过滤器组合框),它们均位于Win3.1选项卡上。
1.Win3.1选项卡上的文件管理组件
(1)驱动器组合框(DriveComboBox)。
DriveComboBox由显示框和下拉列表框组成。程序运行时,显示框默认显示当前驱动器;下拉列表框将自动搜索并列出系统可用驱动器的盘符,用户可从中选择并切换当前驱动器,选中的驱动器将出现在显示框中。
DriveComboBox的主要属性如下所示。
· DirList属性:指定关联的目录列表框。
· Drive运行时属性:返回或设置运行时选择的驱动器。默认值为当前驱动器。
例如,下列语句设置D为当前驱动器:
DriveComboBox1.Drive:='d';
DriveComboBox的主要事件有OnChange事件。当用户在DriveComboBox的下拉列表中选择一个驱动器时触发OnChange事件,系统将自动更新由DirList显示的与DriveComboBox相关联的目录列表框DirectoryListBox中的目录。
(2)目录列表框(DirectoryListBox)。
DirectoryListBox显示当前驱动器的目录结构。根目录显示在第一行,每行显示一个目录,子目录按层次关系依次缩进。当前目录图标为打开的文件夹,子目录图标为关闭的文件夹,当前目录的上级目录图标为不带阴影的打开的文件夹。
DirectoryListBox的主要属性如下所示。
· FileList属性:指定关联的文件列表框。
· DirLabel属性:记录当前的目录路径,通常与一个Label相关联。
· Drive运行时属性:返回或设置当前选中的驱动器。
· Directory运行时属性:返回或设置当前选中的目录。
例如,下列赋值使“桌面”成为当前目录:
DirectoryListBox1.Directory:='c:\Windows\Desktop';
DirectoryListBox的主要事件有OnChange事件。当选中目录改变时,触发OnChange事件。
(3)文件列表框(FileListBox)。
FileListBox显示当前目录中的文件和子目录,当前目录由目录列表框的Directory属性指定。FileListBox是“驱动器—目录—文件”链中的最后一环。
FileListBox主要属性如下。
· FileEdit属性:指定关联的文件名编辑框。
· MultiSelect属性:当取值为True时允许选定多个文件,默认值为False。
· Drive运行时属性:返回当前选中文件所在的驱动器。
· Directory运行时属性:返回当前选中文件所在的目录。
· FileName运行时属性:返回当前选中文件的文件名。
· FileType属性:指定显示文件属性的类型,有只读、隐藏等。
TFileType定义为元素类型是枚举型的集合类型,声明如下:
type TFileAttr=(ftReadOnly,ftHidden,ftSystem,
ftVolumeID,ftDirectory,ftArchive,ftNormal);
TFileType=set of TFileAttr;
其中,FileType的默认值是[ftNormal]。通过设置FileType子属性的值,决定在FileListBox中显示的文件属性。例如,将子属性ftHidden设为True,FileType的值变为[ftHidden,ftNormal],则可显示隐藏文件。
(4)文件过滤组合框(FilterComboBox)。
FilterComboBox设置文件类型过滤器,使文件列表框仅能显示指定类型的文件。主要属性如下所示。
· FileList属性:指定关联的文件列表框。
· Filter属性:设置允许显示的文件类型。Filter属性编辑器的操作与OpenDialog的Filter属性操作类似。
以上4种组件能够自动从系统中获取所需要信息,通常将这几个组件组合起来使用,使得文件操作非常方便和灵活。但还有欠缺之处,例如,想用鼠标轻松地选取一个网络文件,使用驱动器列表框就无能为力了,此时可以通过公共对话框组件OpenDialog、SaveDialog来完成打开文件、保存文件等操作。
2.Samples选项卡上的文件管理组件
在Samples选项卡上,有3个功能更强的文件管理组件:ShellTreeView、ShellListView和ShellComboBox。它们的显示风格分别类似于TreeView、ListView和ComboBox。使用这三者可以用来设计类似Windows的资源管理器。
delphi 文件存取方法与文件管理组件的更多相关文章
- delphi android路径 TPath 文件路径,文件管理
获取Android相关文档路径 delphi 新路径.文件功能 IOUtils单元,文件路径,文件管理 http://docwiki.embarcadero.com/RADStudio/Berlin/ ...
- Delphi 文件类型
该内容整理自以下链接 http://www.cnblogs.com/chenyunpeng/archive/2012/08/02/2620513.html 1.DPR: Delphi Project文 ...
- delphi文件类型
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- chunkupload 文件上传断点续传组件(java) - 正式发布
chunkupload简介 chunkupload是一款基于java语言的断点续传组件,针对文件上传,非文件下载,集成方便,使用简单. chunkupload实现如下功能: · 实现断点续传 · ...
- (转载)delphi文件流
delphi文件流 [复制链接] 在Delphi中,所有流对象的基类为TStream类,其中定义了所有流的共同属性和方法. TStream类中定义的属性介绍如下: 1.Size: 此属性以字节返回流中 ...
- Vue 框架-11-介绍src文件流程及根组件app+HBuilder 配置
Vue 框架-11-介绍src文件流程及根组件app+HBuilder 配置 这是上一篇对目录简单介绍: 关于编辑器,可以使用轻量级的 Sublime Text 3,我使用的是 HBuilder, 但 ...
- taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头
在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头.否则会报错 错误写法: // 真实路径 import MinaMask from '../../components/ ...
- delphi完美经典-第16章 Delphi数据库程序设计----使用BDE组件
第16章 Delphi数据库程序设计----使用BDE组件 Delphi访问数据库的方式有:ADO.BDE.dbExpress.InterBase Express. 一.TDataSet组件 虽然De ...
- delphi 文件的操作:重命名、复制、移动、删除
Delphi 文件的操作:重命名.复制.移动.删除第一种方法: RenameFile('Oldname', 'Newname'); CopyFile(PChar('Oldname'), PChar(' ...
随机推荐
- windows上测试网络数据跳转路径
今天遇到一个有关路由方面的问题,所以向一位CCIE大神问了点问题.就是关于ip ping包出了pc之后怎么走的. 然后告诉我了这么一个命令: Tracert(跟踪路由)是路由跟踪实用程序,用于确定 I ...
- codeforces1156D 0-1-Tree 换根dp
题目传送门 题意: 给定一棵n个点的边权为0或1的树,一条合法的路径(x,y)(x≠y)满足,从x走到y,一旦经过边权为1的边,就不能再经过边权为0的边,求有多少边满足条件? 思路: 首先,这道题也可 ...
- ANdroid手机屏幕反横向等参数设定
经过我一番百度和看Android文档,我才发现,Android对旋转屏,特别是只有横屏或者竖屏虽重力旋转的支持是到Android4.3.1才有完美支持的 unspecified - 默认值,由系统选择 ...
- 使用用Intellij Idea从Github上获取代码
1.打开File菜单,选择Setting,在Version Control下找到Github. 2.分别在Login与Password中输入自己在Github注册的用户名和密码,然后点击Test按钮: ...
- Linux环境下安装PHP的memced扩展
先下载libmemcached: wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.t ...
- Ajax请求参数为文件类型
1.图片用get请求,回调函数中返回的数据就是流文件(至于是什么流文件还不清楚), 在回调函数中再使用post请求2.JS将文件像form表单一样提交到后台 : https://www.cnblo ...
- 使用wordpress搭建的网站如何去掉域名中的wordpess
我们搭建好的网站当以文件夹的形式把wordpress程序放在空间的根目录时,访问的时候要加上文件夹名,访问地址就是:http://www.xxx.com/wordpress,直接用域名是无法访问,解决 ...
- (14)centos7 进程管理
一.查询进程 1. 进程显示 ps -a 显示当前所有的进程信息 -u 以用户的格式显示进程信息 -x 显示后台进程运行的参数 ps -aux #通常查看内存 USER #执行进程的用户 PID #进 ...
- c#网络通信框架networkcomms内核解析之三 消息同步调用
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 客户端发送消息给服务器,服务器计算结果返回 ...
- 函数的四种调用模式.上下文调用.call.apply
闭包:函数就是一个闭包,一个封闭的作用域; 返回函数,要返回多个函数就用一个对象封装一下, 立即执行函数+return 回调函数 JS动态创建的DOM,不会被搜索引 ...