Файлы в Pascal.
![]() |
Файлы в Pascal. |
Файл – совокупность данных, записанная во внешней памяти под определенным именем.
Файловый тип переменной – структурированный тип, представляет собой совокупность однотипных элементов, количество которых заранее не определено.
Турбо Паскаль поддерживает три файловых типа:
- типизированные файлы – файлы, состоящие из компонентов одного типа, число которых заранее не определено;
- безтиповые файлы – файлы, где информация записывается и считывается блоками определенного размера, в них могут храниться данные любого вида и структуры;
- текстовые файлы – файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конец строки». В конце файла ставиться символ «конец файла». Информацию текстового файла можно просмотреть с помощью любого текстового редактора.
- как поименованная область данных на внешнем носители (внешний файл)
- как переменная файлового типа (внутренний файл)
Обработка типизированных файлов.
Переменную файлового типа описывают одним из двух способов:Var <имя файл.переменной>:file of <тип элементов>;
Тип может быть любым, кроме файлового.
type <имя типа>=file of <тип элементов>; Var <имя файла>: <имя типа>;
Стандартные процедуры и функции
Assign(f, x)- связывает файловую переменную f с физическим файлом, полное имя которого задано в строке x. Установленная связь будет действовать до конца работы программы, или до тех пор, пока не будет сделано переназначение.
После связи файловой переменной с дисковым именем файла нужно открыть файл.
Reset(f)открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента.
Если f - типизированный файл, то процедурой reset он открывается для чтения и записи одновременно.
Rewrite(f)открывает для записи файл и очищает его.
Close(f)закрывает открытый до этого файл с файловой переменной f. EOF(f) возвращает значение TRUE, когда при чтении достигнут конец файла.
Rename(f, NewName)позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.
Erase(f)уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.
Чтение из текстового файла
Read(f, список переменных); ReadLn(f, список переменных);
Процедуры читают информацию из файла f в переменные. Способ чтения зависит от типа переменных, стоящих в списке. Отличие ReadLn от Read в том, что в нем после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. Если список переменных отсутствует, то процедура ReadLn(f) пропускает строку при чтении текстового файла.
Запись в текстовый файл
Write(f, список переменных); WriteLn(f, список переменных);
Процедуры записывают информацию в текстовый файл. WriteLn от Write отличается тем, что после записи всех значений из переменных записывает еще и метку конца строки (формируется законченная строка файла).