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;

  • 相关阅读:
    CSS中position小解
    position
    mac默认安装postgresql, 如何让postgresql可以远程访问
    The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0.
    active admin gem error
    psql 无法添加超级用户
    ubuntu 15.04 安装Balsamiq Mockups 3
    Rails html 写public里图片的路径
    rails c 历史命令
    undefined local variable or method `per' for []:ActiveRecord::Relation
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/3691742.html
Copyright © 2011-2022 走看看