我们一般情况下是使用 File 类型和 Blockwrite, Blockread 操作。
pXYS: ^arrar[0..4095] of Tpoint;
TMyRecord = record
ID: string[10];
pointNum: integer;
xys: PXYS;
end;
var ff: file;
MyRecord: TMyRecord;
begin
//写数据
assign(ff, 'Test.dat'); rewrite(ff);
blockwrite(ff, MyRecord, sizeof(MyRecord));
blockwrite(ff, MyRecord.PXYS^, sizeof(TPoint)*MyRecord.PointNum);
//读数据
assign(ff, 'Test.dat'); reset(ff);
blockread(ff, MyRecord, sizeof(MyRecord));
GetMem(MyRecord.PXYS, sizeof(TPoint)*MyRecord.PointNum)
blockread(ff, MyRecord.PXYS^, sizeof(TPoint)*MyRecord.PointNum);
end;
使用 TStream 的方法想来类似,它有类似的Read 和 Write.但没有正式用过。
对您的实际问题,我还是不够理解,如有进一步要求,请再说明。