Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯВУ лекции.doc
Скачиваний:
18
Добавлен:
27.10.2018
Размер:
592.38 Кб
Скачать

Текстовые файлы

Текстовый файл – файл, состоящий из компонент представляющих строки символов произвольной длины (<255) разделенные двумя специальными символами #13#10.

Для описания логических текстовых файлов в языке определен стандартный тип TextFile.

Для текстовых файлов применяются следующие процедуры, осуществляющие операции ввода/вывода данных:

ReadLn([f][,<список ввода>]) – читает значения из логического файла f и помещает их в соответсвующие переменные из <список ввода>. При чтении значения преобразуются в необходимый тип. После выполнения переходит на следующую строку файла.

<список ввода> - список переменных целого, действительного, символьного или строкового типа.

Если f отсутствует, то чтение происходит со стандартного устройства ввода – логического файла Input. В TurboPascal он связан с командной строкой, в оконных приложениях Delphi – не звязан.

Если <список ввода> отсутствует, то пропускается одна строка.

WriteLn([f][,<список вывода>]) – записывает значения из <список вывода> в логический файл f в виде строки. При записи значений не строкового типа, они преобразуются в строковой тип.

<список вывода> - список переменных, констант, выражений целого, действительного, символьного или строкового типа. Для величин вещественного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения.

Если f отсутствует, то запись происходит в стандартное устройство вывода – логический файл Output. В TurboPascal он связан с командной строкой, в оконных приложениях Delphi – не звязан.

Если <список вывода> отсутствует, то в файл записывается пустая строка.

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

Типизированные файлы

Типизированные файлы состоят из данных определенного типа и размера. Они хранят данные в том же виде, что и память ЭВМ.

Для объявления используется структура:

Type <имя_типа>=file of <тип_комп>

<имя_типа> - имя файлового типа.

<тип_комп> - тип компонент файла. Тип данных должен быть статическим, то есть с фиксированным размером.

Для типизированных файлов применяются следующие процедуры, осуществляющие операции ввода/вывода данных:

Read(f,X) – читает значение из логического файла f и помещает его в переменную X. После чтения переходит на следующий компонент файла.

Write(f,X) – записывает значение переменной X в логический файл f и переходит на следующую позицию в файле.

Тип переменной X должен быть эквивалентен <тип_комп>.

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

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

Такие файлы описываются стандартным типом file. При использовании процедур Reset и Rewrite, для таких файлов указывается параметр RecSize, который задает длину компоненты файла в байтах. Обычно задается 1 байт.

Для нетипизированных файлов применяются следующие процедуры, осуществляющие операции ввода/вывода данных:

BlockRead(f,X,K[,KR]) – читает из логического файла f, K компонент и помещает их в память ЭВМ, определенную переменной X.

BlockWrite(f,X,K[,KR]) – записывает в логического файла f участок памяти определяемый переменной X, размером K*RecSize байт.

Необязательный параметр KR определяет переменную, в которую будет записано количество реально считанных/записанных компонент.