Обычно, я использую файл с заголовком, который я затем загружаю в память, и
использую его для поиска необходимой мне записи.
|
|
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; | |