zoukankan      html  css  js  c++  java
  • 文件系统04 零基础入门学习Delphi37

    文件系统04

     

    让编程改变世界

    Change the world by program


     

    记录型文件的记录数

      记录文件中的记录是顺序排列的,每条记录都有一个编号,记录编号从 0 开始。 因此在包含N个记录的文件中,第一个记录的编号(或称记录号)是0,最后一个记录的编号是N-1。   如果想知道文件中有多少记录,可调用 FileSize标准函数,该函数用来返回记录数。

    function FileSize(var F): Integer;

     

    移动与检测记录文件的文件指针

      无论何时打开文件,也不管是用 Reset 或 Rewrite 过程打开,都可以看为有一个不可见指针都定位在文件首。 提供移动和检测文件指针的位置使随机存取文件中的记录成为可能,记录的随机存取是通过 Seek 过程和 FilePos 函数来实现的。 Seek 过程的作用是把文件指针移动到文件中的指定记录,而 FilePos 函数是返回文件指针当前所指的记录的记录号。   [Seek] procedure Seek(var F; N: Longint); 记录型文件变量 F 关联的文件的文件指针移到编号为N 的记录处,注意第一条记录的编号为0。   [FilePos] function FilePos(var F): Longint; 返回与记录型文件变量F关联的文件的文件指针所处的位置。  

    读取修改记录

      [例如] 要读取与 VFFishcOil 文件型变量相关联的文件的第五条记录,可使用如下语句:

    Seek(VFFishcOil, 4);

    Read(VFFishcOil, v1);

      注意:如果想读一个记录并修改它,然后再用新的信息覆盖旧信息,在写操作之前必须调用 Seek函数以回到上一个记录。 下面的代码用来读取、修改并更新文件中记录: [codesyntax lang="delphi"]
    	Seek(VFFishcOil, 1);
    	Read(VFFishcOil, v1);
    	v1.name:= ‘小由鱼’;
    	Seek(VFFishcOil, 1);
    	write(VFFishcOil, v1);
    [/codesyntax]   如果忘记第二次调用Seek过程,结果则将用更新后的信息覆盖了第3条记录。这是初学者常犯的错误!  

    把文件指针定位到文件尾的方法

      How to do?! It’s so easy! 想要把记录添加到记录文件的文件尾,在写操作之前,只需用 Seek 过程把文件指针移到文件的最后一条记录之后。 当然我们要先知道这个记录文件有多少条记录,最简单的办法是用 FileSize 获得文件的记录个数,并用这个数值作为 seek 的参数。 [caption id="attachment_625" align="aligncenter" width="300"] 读取并修改记录演示程序[/caption] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LGLQFXMSXEPR']视频下载[/Downlink]
  • 相关阅读:
    JavaScript实现类的private、protected、public、static以及继承
    OSS网页上传和断点续传(STSToken篇)
    OSS网页上传和断点续传(OSS配置篇)
    Linq sum()时遇到NULL
    SQLSERVER事务日志已满 the transaction log for database 'xx' is full
    笔记本高分辨软件兼容问题,字体太小或模糊
    H5上传图片之canvas
    An error occurred while updating the entries. See the inner exception for details.
    无限级结构SQL查询所有的下级和所有的上级
    SQLserver 进程被死锁问题解决
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3847157.html
Copyright © 2011-2022 走看看