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

Файлы

Информация во внешней памяти сохраняется в виде файлов - именованных объектов, доступ к которым поддерживает (обеспечивает) ОС.

Поддержка ОС состоит в том, что в ней имеются средства работы с файлами:

  • создания файлов;

  • уничтожения;

  • поиска файлов на внешнем носителе;

  • чтение и записи данных из файлов и в файлы;

  • открытия;

  • закрытия;

Т. е., любой файл имеет три характерные особенности:

  1. у него есть имя;

  2. он содержит компоненты одного типа;

  3. длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью внешнего носителя.

Пример файлов, Prog1.pas ris1.bmp tex1.txt

Структура данных файл – это последовательность однотипных компонент произвольной длины.

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

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

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

Метод доступа: последовательный.

В текстовых файлах может находиться информация любого типа. Но она преобразуется в символьный тип, из которых состоит текст. Текст м. б. записан на разных строках. Окончанием строки является указатель конца строки Eoln (End Of Line).

Текстовые файлы могут создаваться и просматриваться как программным путем, так и в любом текстовом редакторе (например текстовом редакторе Delphi или блокноте). Окончание файла является указатель EOF.

EOF(F):Boolean; – функция проверки конца файла. Возвращает True, если указатель файла находится за последним компонентом файла, иначе – False.

Описание файлового файла

Var F : Text;

Для работы с файлами определены следующие типы операций:

  1. Установочные и завершающие;

  2. ввода \ вывода;

  3. Добавления;

Установочные и завершающие операции реализованы с помощью процедур:

Assign (<файловая переменная>,<имя файла на внешнем носителе>); {связать файловую переменную с файлом}

ReWrite(<Файлов. переменная>); {открыть для записи}

ReSet(<Файлов. переменная>); {открыть для чтения}

Close(<Файл. переменная>); {закрыть файл}

Например:

Const Name_File = ’D:\Temp\Ivanov\F1.txt’;

Var name_f1 : String[30];

F2,F3 :Text;

Assign (F3, ’F1.txt’); {файл находится в текущем каталоге}

Или:

Assign (F2, Name_File);

Или:

Writeln (‘Введите имя файла’);

Readln (Name_f1);

Assign(F1,Name_f1);

После связи физического файла с логическим именем можно обращаться в программе к файловой переменной.

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

Место в файле, куда вводится или откуда выводится компонент файла, указывает специальный маркер – указатель текущей позиции файла или файловый указатель, который при операции чтения или записи смещается к следующему компоненту.

Запись в файл:

ReWrite(<Файлов. переменная>);

Процедура открывает файл для записи в него, ставит файловый указатель на начало файла. Если файл уже существовал, то ВСЕ что было в файле – УНИЧТОЖАЕТСЯ!

После записи в файл его ОБЯЗАТЕЛЬНО необходимо закрыть:

Close(<Файл. переменная>);

Процедура Close(…); закрывает файл, ставит в конец файла указатель конца файла: End Of File (EOF). Если не закрыть файл, то будет ошибка!

. Операция ввода-вывода, как правило, выполняется через специальные области памяти - буферы. Размер буфера определяется типом устройства. При выполнении процедуры Close(f) информация из буфера записывается в файл.

Запись в текстовый файл:

Write(<файл. переменн.>,<переменная1>[,<переменная2>,…]);

Переменные 1,2 и т.д. записываются последовательно в файл.

Можно записать информацию на одной строке файла.

WriteLn(<файл. пеменн.>,<перем.1>[,<перем.2>],…);

Курсор перейдет на новую строку файла.

Чтение файла:

Чтение файла возможно, когда файл существует, и он открыт для чтения.

ReSet(<Файлов. переменная>);

Процедура открывает существующий файл для чтения из него, ставит файловый указатель на начало файла. Если файла нет, то будет ошибка!

После открытия файла можно считывать из него информацию.