В категорию двоичных файлов входят все нетекстовые типы файлов. Двоичный файл – это файл, содержащий информацию в двоичном виде, записанную в нее программно.
Пример:
В данном примере программа при выходе сохраняет свои размеры и положение окна на экране в двоичный файл и при последующем запуске восстанавливает состояние, которое было при выходе. Программа состоит из двух процедур – обработчиков событий OnShow и OnClose для формы Form1 приложения.
procedure TForm1.FormShow(Sender: TObject);
var
f:file of Integer; // файловая переменная, тип integer
i: Integer; // целочисленная переменная
begin
AssignFile(f, 'razmer.ini');
{$I-}
Reset(f);
{$I+}
if IOResult<>0 then Exit;
Read(f,i); //считать из файла значение
Form1.Top:=i; // верхнее положение окна
Read(f,i);
Form1.Left:=i; // левое положение окна
Read(f,i);
Form1.Width:=i; // ширина окна
Read(f,i);
Form1.Height:=i; // высота окна
CloseFile(f);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var f:file of Integer;
begin
AssignFile(f,'razmer.ini');
{$I-}
Rewrite(f);
{$I+}
if IOResult<>0 then Exit;
Write(f,Form1.Top);
Write(f,Form1.Left);
Write(f,Form1.Width);
Write(f,Form1.Height);
CloseFile(f);
end;
Имя файла, в котором хранятся переменные состояния окна, указан без указания на каталог, в котором он находится, просто razmer.ini. В этом случае файл создается и открывается в текущем каталоге. По умолчанию это каталог, из которого была запущена программа.
Задание для самостоятельной работы
В пособии часть I была рассмотрена задача “Опрос читателей библиотеки”. Изменить проект таким образом, чтобы данные, накопленные за день, сохранялись в файле. И при запуске задачи на следующий день, данные считывались из файла и к ним добавлялись данные за следующий день.