Здравствуйте, в этой статье хотел бы поговорить о работе с типизированными файлами, я уже публиковал статьи, где применял их, ну так, чтобы для более понять темы по созданию тестов, по сохранению и считыванию данных TStringGrid. Давайте сначала подумаю, а что такое вообще типизированные файлы, да правильно — это те файлы, которые имеют определенный тип и мы изначально знаем их структуру. Для работы с типизированными файлами применяются следующие функции и процедуры
- AssignFile(F,’test.dat’) — связывает файловую переменную с именем файла, параметры передаваемые — файловая переменная и путь к файлу
- Rewrite(F) — создает файл, параметры — файловая переменная, необязательные — режим создания
- Reset(F) — открывает файл, то есть подрузумевается в том, что мы как бы ставим файл в режим открытия, чтения (в общем если файл имеется на диске или еще каком-то носителе и нам из него необходимо прочитать информацию, то тут без этой функции не обойтись).
- Seek (F,n) — устанавливает указатель в файле на нужную компоненту, параметры — файловая переменная, номер компоненты на которую необходимо переместиться.
- Write(F,Buf) — записывает компоненту в файл, параметры — файловая переменная, запись с данными
- Read(F,Buf) — считывает компоненту из файла, на которой стоит указатель (по умолчанию на первой), параметры — файловая переменная и запись, в которую необходимо считать данные
- EOF(F) — определяет достигнут ли конец файла (указатель конца файла), параметры — файловая переменная
- Truncate(F) — удаляет компоненту в файле, параметры — файловая переменная, перед этим необходимо установить указатель на компоненту, которую необходимо удалить
- FileSize(F) — определяет количество компонентов в файле, параметры — файловая переменная, возвращает целочисленный тип
- CloseFile(F) — закрывает файл, параметры — файловая переменная. Это как бы необязательная функция, но просто принято так, если открыл, то закрой его за собой.
Вот основные функции по работе с типизированными файлами. Многие из низ подходят для работы с текстовыми файлами. С нетипизированными файлами мы познакомимся в другой статье.
На последок хотел бы показать как организовать запись в типизированный файл
type
TStudent=record
name:string[255];
oz:integer;
end;
var
Student:TStudent;
File:File of TStudent;
begin
AssignFile(F,'test.dat');
Rewrite(F);
Student.name:='Andrey';
Student.oz:=10;
Seek(F,0);
Write(F,Student);
CloseFile(F);
end;
Считывание точно также, только не заполняем нашу структуру, а вместо Write используем Read.