Работа с текстовыми файлами. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Работа с текстовыми файлами.



Работа с файлами

Способы работы с файлами в системе Delphi 7

При работе с файлами в системе Delphi 7 возможны два принцип иально разных

подхода. Первый состоит в использовании стандартных подпрограмм (они имелись

еще в классической версии Паскаля тридцатилетней давности), позволяющих запи-

сывать содержимое переменных в файлы и считывать их обратно из файлов в пере-

менные. К этим средствам добавились также библиотеки стандартных функций

по работе с файлами, основанные на системных функциях Windows.

В связи с появлением версии Object Pascal и реализации понятия класса в языке

появились средства объектной работы с данными. Это второй подход к работе с

файлами в системе Delphi 7. В свою очередь в рамках каждого из подходов приме-

няются также существенно различающиеся приемы. Например, при классическом

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

Windows или обращения к функциям BIOS.

Общая технология работы с файлами в Delphi 7

Несмотря на все различия, независимо от используемого подхода технология работы

с файлами в системе Delphi 7 требует определенного порядка действий.

1. Прежде всего файл должен быть открыт. Это означает, что операционная сис-

тема дает добро на внесение изменений в данный файл (например, на запись

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

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

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

изменения, невозможно.

При открытии файла системе управления файлами обычно сообщается, в каком

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

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

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

указывается также, какова внутренняя структура открываемого файла — это

требуется, чтобы выполнять операции с ним максимально быстро.

. i После того как файл успешно открыт, в программу возвращается его идентифи-

катор — переменная, которая будет использоваться для идентификации этого

файла во всех процедурах обработки.

2. Начинается работас файлом. Это может быть считывание из него данных, запись,

поиск и другие операции.

3. Файл закрывается. Это означает, что он снова доступен другим приложениям

без ограничений. Кроме того, закрытие файла гарантирует, что все внесенные

в него изменения не пропадут, потому что для повышения скорости работы

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

 

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

В Паскале имеется еще один тип файлов, занимающий промежуточное положение

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

предназначен исключительно для обработки строк, которые, с одной стороны, опи-

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

В таких файлах считывание и запись происходят построчно, причем символы пере-

вода строки и возврата каретки используются как управляющие. Для этих файлов

дополнительно реализованы две процедуры, явно осуществляющие ввод/вывод с

новой строки: ReadLn и WriteLn. При этом размер считанной строки определяется

автоматически, по наличию управляющих символов, которые в строку не записы-

ваются. Если применять процедуры Read и Write без элемента Ln, означающего пере-

ход на новую строку, то считывание и запись текста производятся сплошным

потоком, без разделения на строки.

Специально для работы с текстовыми файлами в системе Delphi 7 имеется набор

стандартных подпрограмм, приведенных ниже.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 265; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.221.204 (0.021 с.)