文件是同一类型元素的有序集合,是内存与外设间传输数据的渠道。一些外设如显示器、键盘、打印机等都可以看作文件,但最常用的还是磁盘文件,这也是本章我们主要讨论的对象。
Delphi继承了Object Pascal的文件管理功能,并有很大的发展,其中最主要的是提供了用于文件管理的标准控件,同时也提供了更多的文件管理函数。利用Delphi的强大功能,开发一个自己的文件管理系统就成为很容易的事。
本章首先介绍Delphi文件管理的基本概念和标准过程/ 函数,并提供了一个记录文件的应用实例,这是从我们实际课题开发中提取出来的。而后介绍Delphi提供的文件控件的使用方法。最后提供的一个综合例程MDI文件管理器则是对Delphi文件管理功能的综合应用。
6.1 文件类型和标准过程
Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。
6.1.1文本文件
文本文件类型的变量用如下方法声明:
var
TextFileVar: Text ;
文本文件是以行为单位进行读、写操作的。由于每一行长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
6.1.1.1 文本文件的打开、关闭
文本文件的打开需要两个步骤:(1). 文件变量与文件名关联;(2). 初始化读写。
联文件变量与文件名调用AssignFile标准过程:
AssignFile ( TextFileVar , FileName ) ;
FileName 既可以是全路径名,也可以仅是文件名。对于后者系统将在当前目录下查找。
AssignFile是Delphi新提供的一个函数,其功能等价于Object Pascal中的Assign。而Assign在Delphi中更多地被用作一个方法名。
初始化读写有三种方式:
1. Reset : 为读打开文件并把文件指针移动到文件首;
2. Rewrite : 为写创建一个新文件;
3. Append : 为写打开存在的文件并把文件指针定位在文件尾。
当使用Reset或Append过程而文件不存在时将会引发一个I/O异常。有关I/O异常的处理请参看本章例程和第十二章中的介绍。
文件的关闭很简单,只须调用CloseFile过程即可。
虽然Delphi应用程序在退出时会自动关闭所有打开的文件,但自己动手关闭文件可以确保释放文件句柄,并使程序的可移植性增强。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)为保持兼容,Delphi也允许用户用Assign建立关联,Close关闭文件。
6.1.1.2 文本文件的读写
从文本文件中读取信息用Read、Readln两个标准过程。
当读入数值时,Read、Readln假定数值是用一个或多个空格分开的,而不是逗号、分号或其它字符。对如下一条语句:
Read ( TextFileVar , Num1 , Num2 , Num3 ) ;
如果文件中的数值是:
100 200 300
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)则能够成功读入,而若文件中的数值是
100 200 , 300
则Read读入“200 ,”并试图把它转化成一个数值时会引发一个异常。
&nb