zoukankan      html  css  js  c++  java
  • delphi 读写记录类型文件Record

    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;
    

      

  • 相关阅读:
    java timer 指定某时间点执行
    java jdbc 同时操作查询删除操作
    java ResultSet获得总行数
    c# 根据枚举Value 获得名称
    c# 备份数据
    MySQL主从集群搭建
    单机安装MySQL多实例
    2019年度总结
    go goroutine id
    go语言中 json转换--nil
  • 原文地址:https://www.cnblogs.com/blogpro/p/11453559.html
Copyright © 2011-2022 走看看