psv高达破坏者3自由:delphi 读写记录类型文件

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 02:23:11
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;