zoukankan      html  css  js  c++  java
  • 二进制文件

    二进制文件(也叫类型文件),二进制文件是由一批同一类型的数据组成的一个数据序列,就是说一个具体的二进制文件只能存放同一种类型的数据。
    type
    TMember = record
    Name : string[10];
    eMail : string[20];
    Posts : LongInt;
    end;

    var Members : array[1..50] of TMember;
    向磁盘存储信息之前我们需要定义一个二进制类型文件的变量名,下面的代码声明一个名为F的类型文件变量。
    var F : file of TMember;
    在Delphi中,为了建立一个二进制文件,需要使用这样的语法:var SomeTypedFile : file of SomeType ;
    这个文件的基类型(SomeType)可以是标准类型(比如整型),也可以是数组或记录类型,但是不能为长字符串、动态数组、类、对象或者是一个指针。

    var F : file of TMember;
    i : integer ;
    begin
    AssignFile(F,'Members.dat');
    Rewrite(F);
    try
    for i:= 1 to 50 do Write (F, Members[ i ]);
    finally
    CloseFile(F);
    end;
    end;

    为了处理“Members.dat”文件记录的所有数据,必须使用如下形式的代码:

    var Member: TMember
    F : file of TMember;
    begin
    AssignFile(F,'Members.dat');
    Reset(F);
    try
    while not Eof(F) do begin Read (F, Member);
    {这里可以对论坛成员信息进行相关处理}
    end;
    finally
    CloseFile(F);
    end;
    end;

    二进制文件还可以使用标准的Seek过程实现随机访问,Seek过程可以指定文件当前位置的跳转。利用FilePos函数和FileSize函数可以返回文件的当前位置以及当前文件的大小(就是记录的条数)。

    {返回到文件开头也就是第一条记录开始处}
    Seek(F, 0);
    {直接到第五条记录处}
    Seek(F, 5);
    {到文件结尾处也就是最后一条记录结束的地方}
    Seek(F, FileSize(F));

    var
    Myrec:TMyrec;
    Rec:TPersonRec;
    Reccount:integer;
    begin
    Myrec := TMyrec.Create(Apppath+'History.dat',fmOpenRead or fmShareDenyWrite);
    Myrec.first;
    Reccount:=Myrec.GetNumRecs;
    for i:=1 to Reccount do
    begin
    Myrec.ReadRec(Rec);
    Rec.xxxx;
    //Myrec.AppandRec(Rec);
    Myrec.nextRec;
    end;
    end;

    var
    Myrec:TMyrec;
    Rec:TPersonRec;
    Reccount:integer;
    begin
    Myrec := TMyrec.Create(Apppath+'History.dat',fmOpenRead or fmShareDenyWrite);
    Myrec.first;
    Reccount:=Myrec.GetNumRecs;
    for i:=1 to Reccount do
    begin
    Myrec.ReadRec(Rec);
    Rec.xxxx;
    //Myrec.AppandRec(Rec);
    Myrec.nextRec;
    end;
    end;

  • 相关阅读:
    Flutter 容器(4)
    Linux 安装maven环境
    ajaxStart、ajaxStop使用注意事项
    jquery里用正则来验证密码,必须包含大小写字母,数字及特殊符号,或最少包含两种
    Nginx 相关介绍(Nginx是什么?能干嘛?配有图片示例)
    常见web攻击总结
    用php的chr和ord函数实现字符串和ASCII码互转
    消息队列设计精要
    mysql索引总结----mysql 索引类型以及创建
    MySQL事务隔离级别详解
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/3691742.html
Copyright © 2011-2022 走看看