分享

delphi 读写记录类型文件

 老魏的书架 2012-01-17

delphi 读写记录类型文件  

2011-12-03 17:52:23|  分类: delphi |字号 订阅

delphi 读写记录类型文件
2010年12月15日 星期三 13:50

type personInfo=Record   //定义Record

   Name:String[10];

   Age:integer;

end;

//写记录包括新键与添加记录

procedure WriteRec;

var NewRec:PersonInfo;                    //声明Rec变量

    F:File of PersonInfo;                 //Rec型文件变量

    RecFileName:ShortString;              //保存Rec的文件全名

    RecCount:integer;                     //Rec数量

begin

  NewRec.Name:=NameEdit.Text;             //从界面上取数据

  NewRec.Age:=StrToInt(AgeEdit.Text);

  RecFileName:='C:\PersonInfo.Rec';

  AssignFile(F,RecFileName);

  if FileExists(RecFileName)<>True then   //判断文件是否存在

  begin

    Rewrite(F);                           //不存在则新增文件

    Write(F,NewRec);

  end

  else

  begin

    FileMode:=1;                         //设置成WriteOnly模式

    Reset(F);                            //存在则添加Rec入文件

    RecCount:=FileSize(F);               //取Rec数量

    Seek(F,RecCount);                    //设置Pointer位置

    Write(F,NewRec);

  end;

  CloseFile(F);                          //关闭文件

end;

//读取记录

procedure ReadRec;

var GetRec:PersonInfo;

    F:File of PersonInfo;

    RecFileName:ShortString;                        //保存Rec的文件名称

    RecCount:Integer;                               //用户想要读取的Rec位置

    RecMax:integer;                                 //Rec的最大值

begin

  RecFileName:='C:\PersonInfo.Rec';

  RecCount:=StrToInt(CountEdit.Text)-1;             //用户要提取第一个就输入1,类推

  AssignFile(F,RecFileName);

  if FileExists(RecFileName)<>True then exit;

  FileMode:=0;

  Reset(F);

  RecMax:=FileSize(F);

  if RecCount>RecMax-1 then Exit;                   //超过Rec最大值则跳出

  Seek(F,RecCount);                                 //设置读取Rec的Pointer位置

  Read(F,GetRec);

  Showmessage(GetRec.Name+InttoStr(GetRec.Age));   

end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多