Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Var

Доступ к компонентам файла

Определение и особенности файлов

ФАЙЛЫ

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

 

 

var
F1: file of integer;
F2: text;
F3: file;

Способ объявления определяет вид файла, а, следовательно, способ хранения информации в файле. В нашем случае

F1 - типизированный файл (file of...);

F2 - текстовый файл (text), каждая его компонента - символ;

F3 - нетипизированный файл, тип его компонентов не указан, что делает его совместимым с любыми файлами.

Любой программе на Турбо-Паскале доступны без каких-либо предварительных объявлений два файла со стандартными файловыми переменными:

INPUT - для чтения данных с клавиатуры;

OUTPUT - для вывода данных на экран.

Все другие файлы становятся доступными программе после связывания конкретного физического файла с файловой переменной. Такое связывание осуществляет процедура

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

Имя файла представляет собой строковое выражение и может включать путь к файлу например:

assign (F2, 'prog1.txt');

assign (F1, 'd:\ZLV\myfile.dat');

После первого вызова процедуры файловая переменная F2 будет связана с файлом 'prog1.txt' из текущего каталога, во втором случае файловая переменная F1 связывается с файлом 'myfile.dat' из каталога первого уровня ZLV диска D. Разумеется, можно предварительно ввести имя файла, а затем связать его файловой переменной:

Name: string;

...

write ('Введите имя файла ');

readln (Name);

assign (F2, Name);

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

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

Процедура Reset предполагает, что открываемый файл уже существует, в противном случае возникает ошибка. Встроенная процедура

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

открывает файл для записи. Процедура Rewrite допускает, что открываемый файл еще не существует. Если файл уже существовал, то после выполнения процедуры Rewrite все данные этого файла стираются и запись осуществляется в начало файла.

Завершение действий с файлом осуществляет процедура

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

После этого файловую переменную можно связать процедурой Assign с другим файлом. Заметим, что закрытие всех файлов в программе происходит автоматически при завершении работы программы, однако явное закрытие файлов процедурой Close является хорошим стилем программирования.

Работа с файлами осуществляется с использованием специальных буферов, расположенных в оперативной памяти. При записи в файл информация сначала заносится в буфер, а затем, по мере его заполнения, переписывается в файл на внешнее запоминающее устройство. Одним из действий процедуры Close является очистка буферов. Без выполнения этой процедуры часть информации, предназначенной для записи в файл, может быть утеряна.

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

  • Eoln (var F: text): boolean, - возвращает значение TRUE, если достигнут конец строки текстового файла, связанного с файловой переменной F;
  • Eof (var F: text): boolean, - возвращает значение TRUE, если достигнут конец текстового файла, связанного с файловой переменной F.

Для доступа к элементам текстового файла применяются операции чтения (Read, Readln) и операции записи (Write, Writeln). Отметим, что в Паскале существует возможность не только вводить в файл и выводить из файла символы, но также реализовывать операции с константами.
Перед началом работы с текстовым файлом в программе необходимо вызвать процедуру Assign, которая установит связь между файловой переменной и конкретным дисковым файлом. После чего соответствующие процедуры (Reset или Rewrite) открывают файл для чтения или записи.

<== предыдущая лекция | следующая лекция ==>
 | Запись в текстовый файл
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 435; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.