Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ABC_Pascal.doc
Скачиваний:
2149
Добавлен:
30.03.2015
Размер:
1.12 Mб
Скачать

10. Файлы

Файл  именованная область внешней памяти ПК. Файлом может назы­ваться логическое устройство, потенциальный источник или приемник ин­формации.

Файл характеризуется именем и содержит компоненты одного ти­па (может быть любой тип, кроме файлов). Длина вновь создаваемого файла не указывается при его объявлении.

В Pascal ABC различают типизированные и текстовые файлы. Определяются файловые типы в блоке TYPE следующим способом:

Type

<имя> = FILE OF <тип>; {типизированный}

<имя> = TEXT; {текстовый}

где <имя>  имя файлового типа (правильный идентификатор);

FILE, OF  зарезервированные слова (файл, из),

TEXT  имя стандартного типа для текстовых файлов;

<тип>  любой тип, кроме файлового.

Например:

TYPE

FIL = file of char; {файл символов}

text30 = file of string[30]; {файл строк }

Вид файла определяет способ хранения информации в файле.

Переменные файловых типов объявляются в разделе VAR:

VAR f: FIL;

ff: text30; а также

f1: TEXT; {переменная для текстового файла }

f2: file of real; {переменная файла вещественных чисел}

т. е. сразу можно описывать файловые переменные без объявления типа, например:

VAR

<имя_переменной>: TEXT;

<имя_переменной>: FILE OF <тип>;

Некоторые файлы могут только вводить информацию (клавиатура), другие  только принимать ее (устройства печати), третьи позволяют и считывать, и записывать (файл на диске). Именно с помощью файловой системы осуществляется весь ввод и вывод информации в программе.

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

10.1. Процедура связывания файлов

Связывание выполняется стандартной процедурой ASSIGN:

ASSIGN (<файловая_переменная> , <имя_файла);

где <файловая_переменная>  правильный идентификатор, объявленный как переменная файлового типа; <имя_файла>  текстовое выражение, содержащее имя файла (заключается в апост­рофы).

Пример. VAR f, f1, f2 : text; {объявление файловых переменных}

Begin

ASSIGN(f, ' nameF.txt '); // связывание с файлом nameF.txt

<Имя_файла>  это любое выражение строкового типа, которое стро­ится по правилам определения имен в MS DOS:

 содержит до 8 разрешенных символов: прописные и строчные ла­тинские буквы, цифры и следующие символы ! @ # $ % ^ & ( ) ' ~ - _ ;

 начинается с любого разрешенного символа;

 за именем может следовать расширение  последовательность до трех разрешенных символов. Расширение, если оно есть, отделяется от имени точкой, например: Lab1.pas или date.txt.

Имя физического файла должно быть корректным и уникальным. Нельзя вставлять символы шаблонов '*' и '?' в имя файла, но можно связывать файловые переменные с несуществующими пока на диске файлами (для их создания).

Перед именем может указываться путь к файлу, имя диска и/или имя текущего каталога и имена каталогов вышестоящих уровней. Если имени каталога предшествует обратная косая черта, то путь к файлу начинается из корневого каталога, если черты нет – из текущего каталога, установ­ленного в системе по умолчанию.

Имя диска  это один из символов А: В: С: ... Z. При этом А: и В: относят­ся к дисковым накопителям на гибких дискетах, а С:, D: и другие – к жестким и виртуальным дискам. Если имя диска не указано, то по умолчанию подразумевается устройство, установленное в операционной системе перед нача­лом работы программы. Максимальная длина имени пути с файлом  79 символов, например:

VAR

f1, f2: text;

Begin

...

Assign( f1 , 'd:\V-129\date.txt ' ) ;

Assign( f2, name.dat); {файл в текущем каталоге}

Однажды установленная связь процедурой Assign между файловой пе­ременной f и физическим файлом сохраняется до следующего вызова Assign с той же файловой переменной f. То есть можно проделывать различные операции с файлом, лишь один раз связав его с файловой переменной f. Для инициализации файла необходимо указать имя физического файла и направление передачи данных. В Pascal ABC можно открыть файл для чтения, за­писи, а также для чтения и записи одновременно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]