Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Лекции по Turbo Pascal [22].pdf
Скачиваний:
82
Добавлен:
02.05.2014
Размер:
536.84 Кб
Скачать

Одесский колледж компьютерных технологий “СЕРВЕР”

случае исчерпания текущей строки. Процедура Readln позволяет совершить этот переход, не дожидаясь конца строки.

Eoln(var F: Text) - функция определения конца строки. Возвращает значение true, если текущий указатель находится за последней компонентой строки, false в противном случае.

SeekEoln(var F: Text): boolean - производит поиск конца текущей строки файла. Перемещает указатель к следующему значению в строке. Если достигнут конец строки возвращается true.

SeekEof(var F: Text): boolean - производит поиск конца файла. Перемещает указатель к следующему значению. Если достигнут конец файла, возвращается true.

Файлы с прямым доступом. Типизированные файлы.

В текстовых файлах для того, чтобы прочитать, например, 5-ю строку, нужно перед этим обязательно прочитать четыре предыдущие. На это уходит время. Для учебных задач оно несущественно. Другое дело, если в файле много компонентов и размер их значителен.

Все компоненты типизированных файлов пронумерованы начиная с нуля, что позволяет произвольно перемещаться по файлу и переходить к любой компоненте такого файла в любой момент времени.

Read(f,v1[,v2,...,vn]) чтение значений из файла в программу. f - файловая переменная. v1[,v2,...,vn] – переменные, в которые будет помещаться информация из компонент файла. Тип этих переменных должен совпадать с базовым типом файла. При прочтении компоненты из файла текущий указатель перемещается к следующей компоненте.

Write((f,v1[,v2,..,vn]) запись информации в файл. f - файловая переменная. v1[,v2,...,vn] - переменные, содержимое которых будет помещено в файл.

27

Одесский колледж компьютерных технологий “СЕРВЕР”

Seek(var f; n: longint) - перемещает текущий указатель в файле f на позицию номер n.

Truncate(var f) - усекает файл (обрезает его) на текущей позиции.

FileSize(var f): longint - возвращает текущий размер файла (номер последней компоненты).

FilePos(var f): longint - возвращает положение текущего указателя в файле.

EoF(var f): boolean - функция определения конца файла. Возвращает значение true, если текущий указатель находится за последней компонентой файла, false в противном случае.

Нетипизированные файлы.

Логической записью принято называть элемент файла, самостоятельно выступающий в процессе решения задачи. Например, компонент типизированного файла. При обращении к компоненту файла содержащий его участок диска не сразу оказывается у головки считывания/записи. Поэтому, чтобы задержка стала несущественной, выгодно за одно обращение к файлу считывать (записывать) сразу несколько компонентов. Для этого выбирают один из способов:

Объединяют группу последовательных логических записей в так называемую физическую запись, чтобы считывать (записывать) её за один приём. Это объединение называют блокированием, число блокируемых записей – коэффициентом блокирования kb. Для подсчёта размера физической записи используется выражение

kb*SizeOf(<Имя типа логической записи>)

Указывают число логических записей, участвующих в одном акте передачи данных (рекомендуется).

Эти способы реализуются в нетипизированных файлах. Операторы Reset и Rewrite, открывающие нетипизированный

28