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; 
posted @ 2018-10-17 16:33  北极星 - North Star  阅读(275)  评论(0编辑  收藏  举报