TBook = package record
Pages: integer;
Title: string[255];
Author: string[255];
end;
...
var Item: TBook;
begin
while not Eof(LoadF) do
begin
Read(LoadF, Item);
SetLength(MyBooks, Length(MyBooks)+1);
MyBooks[Length(MyBooks)-1] := Item;
end;
...
Записи с точным размером ты можешь без проблем записывать напрямую в файл и читать.
НО!
Этот способ слишком низкоуровневый, малопроизводительный и вообще не стоит такое использовать.
Для этого используют файловые бд или современные форматы хранения данных. Например JSON или XML.