博
博雨
Unregistered / Unconfirmed
GUEST, unregistred user!
我用TP6.0(是不是很远古!没办法)编一个文件处理程序.
我想向一个文件中追加一个记录,文件类型不是Text类型,而是 f:file of record 类型,不能用Append追加.
只有先将所有文件内容读到一个相应记录类型的数组中,然后再最后一条记录后加一项,但如果每次都读到数组中后,再从写文件,可能会造成内存不足的错误.
而且如果数组定义不够大,可能造成数据无法追加的后果. 即向如下方法:
type
ss=record
.
.
.
end;
var
zlcs :attay[1..100] of ss;
fzlcs :file of ss;
begin
assign(fzlcs,'aaa.dat');
reset(fzlcs);
i:=1;
while not eof(fzlcs) do
begin
read(fzlcs,zlcs)
i:=i+1;
end;
zlcs[i+1]:=... {追加记录}
close(fzlcs);
.
.
.
assign(fzlcs,'aaa.dat');
rewrite(fzlcs);
i:=1;
while not eof(fzlcs) do
begin
write(fzlcs,zlcs)
i+1;
end;
close(fzlcs);
end;
在DELPHI中这很好解决,但在TP6.0中我就.....
各位大侠帮帮忙.
我想向一个文件中追加一个记录,文件类型不是Text类型,而是 f:file of record 类型,不能用Append追加.
只有先将所有文件内容读到一个相应记录类型的数组中,然后再最后一条记录后加一项,但如果每次都读到数组中后,再从写文件,可能会造成内存不足的错误.
而且如果数组定义不够大,可能造成数据无法追加的后果. 即向如下方法:
type
ss=record
.
.
.
end;
var
zlcs :attay[1..100] of ss;
fzlcs :file of ss;
begin
assign(fzlcs,'aaa.dat');
reset(fzlcs);
i:=1;
while not eof(fzlcs) do
begin
read(fzlcs,zlcs)
i:=i+1;
end;
zlcs[i+1]:=... {追加记录}
close(fzlcs);
.
.
.
assign(fzlcs,'aaa.dat');
rewrite(fzlcs);
i:=1;
while not eof(fzlcs) do
begin
write(fzlcs,zlcs)
i+1;
end;
close(fzlcs);
end;
在DELPHI中这很好解决,但在TP6.0中我就.....
各位大侠帮帮忙.