3-4.文件类型
3-4.文件类型
文件是指相同类型元素的有序集合。Delphi处理文件有三种方式,一种是使用Object Pascal标准的文件处理技术;一种是使用Windows的文件处理函数;还有一种是使用文件流对象。 Object Pascal标准的文件处理技术,有专门的数据类型和文件处理例程,并且与Windows的标准API不兼容,但对于熟悉Pascal的用户来说,仍然是操作文件的好选择。下面我们就对此进行介绍。 声明一个文件类型的语法如下:
type fileTypeName = file of type
这里,fileTypeName是任何有效的标识符, type是一种大小固定的数据类型,称之为基类型。 基类型不能使用指针类型,不能包括动态数组、长字符串、类、对象、指针、可变类型以及其它文件类型。但可以是其它结构类型,例如:
type
PhoneEntry = record FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
PhoneList = file of PhoneEntry;
这里,PhoneEntry是自定义的结构类型,PhoneList是以PhoneEntry为基类型的文件类型。在定义了文件类型后,就可以直接定义文件类型的变量了。例如:
var List1: PhoneList;
有时侯,我们也可以使用 file of 基类型的方式直接定义文件类型变量。例如下面的定义与上面的形式有同样的效果:
var List1: file of PhoneEntry;
如果我们在声明文件类型时不指明其基类型。则这样的文件我们称之为无类型文件,如:
var DataFile: file;
无类型文件主要用于直接访问磁盘文件的多层I/O操作。
示例
procedure buttonClick(Sender: TObject);
type
myTextFile = TextFile;
var
TextFile1:MyTextFile;
begin
Try
CreateDir('.\');//将文件定位到当前目录
AssignFile(TextFile1, 'TextFile1.txt');//AssignFile 用于将文件变量与一个文件关联起来
Edit1.Text := GetCurrentDir();//GetCurrenDir 为显示当前文件目录
Rewrite(TextFile1);//创建并打开文件
Writeln(TextFile1, Memo1.Lines.Text);//对文件进行写入操作
CloseFile(TextFile1);//关闭文件
ShowMessage('对文件操作成功!');
Except
ShowMessage('对文件操作失败!');
end;
end;