正文
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数量beginNewRec.Name:=NameEdit.Text; //从界面上取数据NewRec.Age:=StrToInt(AgeEdit.Text);RecFileName:='C:\PersonInfo.Rec';AssignFile(F,RecFileName);if FileExists(RecFileName)<>True then //判断文件是否存在beginRewrite(F); //不存在则新增文件Write(F,NewRec);endelsebeginFileMode:=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的最大值beginRecFileName:='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;