Работа с файлами.Pascal
В язык Паскаль выделяются данные файлового типа, которые служат для работы с информацией, расположенной на внешних устройствах. Эта информация формируется во внешней памяти компьютера, образуя некоторую область, называемую файлом. Файлы имеют имя и представляют собой совокупность однотипных элементов. Обычно они применяются, в случаях большого объема данных, долгосрочного хранения, либо необходимости предоставления доступа нескольким приложениям к одной и той же информации.
Файлы принято разделять на физические и логические. Физические файлы имеют имя, и располагаются на съемном носителе, а логические это те переменные файлового типа, которые их представляют в программе.
Виды файлов в зависимости от их описания и режимом работы
- текстовые (тип text) файлы со строками неопределенной длины;
- файлы с типом записей (двоичные или типизированные (file of) );
- файлы без типа для передачи данных блоками записей нетипизированные (file).
Создание файла
Assign
(<имя файловой переменной>, <имя файла>)
Процедура Assign
связывает переменную файлового типа с физическим файлом. Например, установить соответствие между переменной Fil и текстовым файлом lot, расположенном на диске D, можно так:
Assign(Fil, ‘D:\HELP.txt’)
Режим чтения
Reset
(<имя файловой переменной>)
Процедура Reset
открывает файл в режиме чтения, после чего оператором Read
(<файловая переменная>, <считываемый элемент>) можно осуществить последовательное считывание элементов в программу.
Конец файла
EOF
(<имя файловой переменной>)
Количество элементов в файле заранее не определяется, но часто необходимо знать о моменте достижения конца файла. Для этого в Паскале существует логическая функция EOF
, которая проверяет достигнут ли конец, и если это так, то принимает значение True, иначе – False
. Осуществляется проверка, как правило, в цикле, в качестве условного выражения выступает функция EOF
.
Режим записи
Rewrite
(<имя файловой переменной>)
Открыв файл в режиме записи, можно поэлементно записать в него информацию, воспользовавшись процедурой Write
(<файловая переменная>, <элемент>).
Закрытие файла
Close
(<имя файловой переменной>)
Процедура Close
закрывает открытый файл, а также освобождает файловую переменную, указанную в качестве параметра.
Удаление файлов
Erase
(<имя файловой переменной>)
При помощи процедуры Erase
, можно удалить с внешнего носителя, заранее закрытый файл.
Изменение имени файла
Renаme
(<имя файловой переменной>, ‘<новое имя файла>’)
Renаme
переименовывает физический файл, который перед этим следует закрыть процедурой Close.
Смещение указательных файлов
Sееk
(<имя файловой переменной>, <номер элемента>)
Процедура Sееk
устанавливает позицию указателя в файле на необходимый элемент (нумерация элементов начинается с нуля).
Определение положения указателя
FilePos
(<имя файловой переменной>)
Функция FilePos
принимает значение порядкового номера элемента, над которым в момент вызова находиться указатель.
Определение количества элементов
FileSize
(<имя файловой переменной>)
Функция FileSize
определяет количество всех имеющихся в файле элементов.
Текстовый файл
Текстовые файлы могут состоять из элементов символьного (char
) и строкового (string
) типа данных. Ключевое слово Text указывает, что файловая переменная создается для работы именно с текстовым файлом:
Var <идентификатор>: Text;
Структура текстового файла представляет собой последовательность строк, которые в свою очередь состоят из символов. Любая строка оканчивается признаком «конца строки», а сам файл признаком «конца файла». Для определения конца файла в Паскаль есть функция EOF
, а для конца строки – EOLn
:
EOLn
(<имя файловой переменной>)
В случае достижения конца строки она (функция EOLn
) принимает значение True
, в противном случае False
.