文件系统03
让编程改变世界
Change the world by program
记录型文件变量的定义
记录型文件变量的定义,下面以一个存放鱼油数据的记录型文件变量为例来说明记录型文件变量的定义方法。步骤一:定义记录类型
[codesyntax lang="delphi"]type FishcOil = record name: String; rdate: Integer; // 20111203 sex: Char; // ‘M’ or ‘F’ end;[/codesyntax]
步骤二:定义记录文件类型的变量
[codesyntax lang="delphi"]var 记录文件类型变量名: 记录文件类型; VFFishcOil: File of FishcOil[/codesyntax] 提前体验一下:Example (源代码下载)
记录型文件的打开和关闭
和文本文件一样,AssignFile 标准过程用来关联记录文件变量与实际的磁盘文件。 Reset 和 Rewrite 过程用来打开记录文件,CloseFile 过程用来关闭记录文件。。。 但注意不能用 Append 过程来打开一个记录文件,它仅限于文本文件。 这里,Reset打开记录文件的属性是读或写! 和文本文件相比,关闭文件的操作对记录文件更为重要。如果忘记关闭写过的文本文件,最坏的情况是文件被截断。 如最后一行写到文件中的数据并没真正的存入磁盘,这可能会导致一些麻烦,但一般来说很容易弥补。 然而对于记录文件,如果在添加记录以后忘记关闭文件,极大可能会破坏整个文件。。。 体验一下:建立自己的资源文件FishC.dat(源代码下载)记录型文件的读写
要把记录写入到记录文件中,我们仍旧是调用 Write 过程实现。 例如,下面的代码把变量 v1 和变量 v2 中的内容写入到与记录型文件变量 VFFishcOil 相关联的文件中去:Write(VFFishcOil, v1);
Write(VFFishcOil, v2);
当然,上面的两条语句也可写成:Write(VFStudent, v1, v2)
从记录型文件中读取数据可使用 Read 过程,可以一次读取一条记录到一个变量中,也可以一次读取多条记录存放到多个变量中。 如:Read(VFFishcOil, v1, v2);
上面的语句也可写成:Read(VFFishcOil, v1) ; Read(VFFishcOil, v2);
需注意的是,如果用Read过程读取记录,文件位置指针超过了文件尾,将会发生运行时错误。因此读取数据时一般要对文件尾进行判断。