Файл с множеством записей
Обычно, я использую файл с заголовком, который я затем загружаю в память, и
использую его для поиска необходимой мне записи.
type
TSaveHeader = record
scene: Integer;
hotspots: LongInt;
talk: LongInt;
hype: LongInt;
end;
var
SaveHeader: TSaveHeader;
procedure OpenSaveFile(fname: string);
var
f: file;
i: Integer;
begin
AssignFile(f, fname);
Reset(f, 1);
BlockRead(f, SaveHeader, Sizeof(TSaveHeader));
{ получаем один набор записи }
Seek(f, SaveHeader.hotspots);
for i := 1 to 50 do
BlockRead(f, somevar, sizeof_hotspotrec);
{ и так далее }
CloseFile(f);
end;
{ предположим, что файл открыт }
procedure GetHotspotRec(index: LongInt; var hotspotrec: THotspot);
var
offset: LongInt;
begin
offset := SaveHeader.hotspots + index * Sizeof(THotSpot);
Seek(f, offset);
BlockRead(f, hotspotrec, Sizeof(THotspot));
end;
|
|