type Tdatastruct:=record; //以下根据需要自己定义 var1:integer; var2:string; buf:array[0..128] of byte;end; var yourdatafile:file of Tdatastruct; yourcontents:Tdatastruct;//用来存你的指定数据 begin assignfile(yourdatafile,'xxx.dat');//这里的xxx.dat应包含路径 reset(yourdatafile); seek(yourdatafile,filesize(yourdatafile)); try write(yourdatafile,yourcontents); finally close(yourdatafile); end; end;
抱歉!有几个地方有点问题,下面的程序是编译通过的 首先定义一packed包, Tdatastruct= packed record //以下根据需要自己定义 var1:integer; var2:string[50]; //这里必须指定string长度 buf:array[0..127] of byte;end;以下是测试程序 procedure TForm1.Button1Click(Sender: TObject); var yourdatafile:file of Tdatastruct; yourcontents:Tdatastruct;//用来存你的指定数据 i:integer; begin yourcontents.var1:=1; yourcontents.var2:='this is a test'; for i:=0 to 127 do yourcontents.buf[i]:=byte(i); assignfile(yourdatafile,'test.dat');//这里的xxx.dat应包含路径 rewrite(yourdatafile); //要可写需要用rewrite seek(yourdatafile,filesize(yourdatafile)); try write(yourdatafile,yourcontents); finally closefile(yourdatafile); end; end;
如果保存成文本文件: var s; TStringList; begin s:= TStringList.Creat; try if FileExists('你的*.dat文件') then s.LoadFormFile('你的*.dat文件'); s.Add('要加入的内容'); ... ... s.SaveToFile('你的*.dat文件'); finally s.Free; end; end;如果保存成二进制文件: var m: TMemoryStream; begin s:= TMemoryStream.Create; try if FileExists(ExtractFilePath(Application.ExeName)+'\Record.dat') then begin s.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Record.dat'); s.Seek(0, soFromEnd); end else s.Position:=0; s.Write(StrDT, SizeOf(TDateTime)); s.Write(StrAll, SizeOf(LongInt)); s.SaveToFile(ExtractFilePath(Application.ExeName)+'\Record.dat'); finally s.Free; end; end;
Tdatastruct:=record;
//以下根据需要自己定义
var1:integer;
var2:string;
buf:array[0..128] of byte;end;
var
yourdatafile:file of Tdatastruct;
yourcontents:Tdatastruct;//用来存你的指定数据
begin
assignfile(yourdatafile,'xxx.dat');//这里的xxx.dat应包含路径
reset(yourdatafile);
seek(yourdatafile,filesize(yourdatafile));
try
write(yourdatafile,yourcontents);
finally
close(yourdatafile);
end;
end;
首先定义一packed包,
Tdatastruct= packed record
//以下根据需要自己定义
var1:integer;
var2:string[50]; //这里必须指定string长度
buf:array[0..127] of byte;end;以下是测试程序
procedure TForm1.Button1Click(Sender: TObject);
var
yourdatafile:file of Tdatastruct;
yourcontents:Tdatastruct;//用来存你的指定数据
i:integer;
begin
yourcontents.var1:=1;
yourcontents.var2:='this is a test';
for i:=0 to 127 do
yourcontents.buf[i]:=byte(i);
assignfile(yourdatafile,'test.dat');//这里的xxx.dat应包含路径
rewrite(yourdatafile); //要可写需要用rewrite
seek(yourdatafile,filesize(yourdatafile));
try
write(yourdatafile,yourcontents);
finally
closefile(yourdatafile);
end;
end;
var
s; TStringList;
begin
s:= TStringList.Creat;
try
if FileExists('你的*.dat文件') then
s.LoadFormFile('你的*.dat文件');
s.Add('要加入的内容');
... ...
s.SaveToFile('你的*.dat文件');
finally
s.Free;
end;
end;如果保存成二进制文件:
var
m: TMemoryStream;
begin
s:= TMemoryStream.Create;
try
if FileExists(ExtractFilePath(Application.ExeName)+'\Record.dat') then
begin
s.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Record.dat');
s.Seek(0, soFromEnd);
end
else
s.Position:=0;
s.Write(StrDT, SizeOf(TDateTime));
s.Write(StrAll, SizeOf(LongInt));
s.SaveToFile(ExtractFilePath(Application.ExeName)+'\Record.dat');
finally
s.Free;
end;
end;