Текстовые файлы
В данном разделе описываются операции ввода и вывода, ис- пользующие файловую переменную стандартного текстового типа. За- метим, что в Borland Pascal текстовый тип (тип Text) отличается от символьного типа Char.
При открытии текстового файла внешний файл интерпретируется особым образом: считается, что он представляет собой последова- тельность символов, сгруппированных в строки, где каждая строка заканчивается символом конца строки (end-of-line), который предс- тавляет собой символ перевода каретки, за которым возможно следу- ет символ перевода строки.
Для текстовых файлов существует специальный вид операций чтения и записи (read и write), который позволяют вам считывать и записывать значения, тип которых отличается от символьного типа Char. Такие значения автоматически переводятся в символьное представление и обратно. Например, Read(f,i), где i - переменная целого типа, приведет к считыванию последовательности цифр, ин- терпретации этой последовательности, как десятичного числа, и сохранению его в i.
Как было отмечено ранее, имеются две стандартных переменных текстового типа - это Input и Оutput. Стандартная файловая пере- менная Input - это доступный только по чтению файл, связанный со стандартным файлом ввода операционной системы (обычно это клавиа- тура), а стандартная файловая переменная Оutput - это доступный только по записи файл, связанный со стандартным файлом вывода операционной системы (обычно это дисплей). Перед началом выполне- ния программы DOS файлы Input и Оutput автоматически открываются, как если бы были выполнены следующие операторы:
Assign(Input,''); Reset(Input); Assign(Output,''); Rewrite(Output);
Так как Windows не поддерживает непосредственно ориентиро- ванный на текст ввод и вывод, файлы Input и Output по умолчанию в прикладной программе Windows не присваиваются, и любая попытка чтения из этих файлов или записи в них приведет к ошибке вво- да-вывода. Однако, если прикладная программа использует модуль WinCrt, то Input и Output будут ссылаться на прокручиваемое текс- товое окно. Модуль WinCrt содержит всю логику управления, необхо- димую для эмуляции текстового экрана в операционной среде Windows, поэтому в прикладной программе, использующей модуль WinCrt, не требуется никаких приемов программирования, специфи- ческих для Windows.
Для некоторых из стандартных процедур и функций, список ко- торых приведен в данном разделе, не требуется явно указывать в качестве параметра файловую переменную. Если этот параметр опу- щен, то по умолчанию будут рассматриваться переменные Input или Output, в зависимости от того, будет ли процедура или функция ориентирована на ввод или на вывод. Например, Read(х) соответс- твует Read(Input,х) и Write(х) соответствует Write(Output,х).
Если при вызове одной из процедур или функций из этого раз- дела вы задаете файл, этот файл должен быть связан с внешним фай- лов с помощью процедуры Assign и открыт с помощью процедуры Reset, Rewritе или Append. Если для ориентированной на вывод про- цедуры или функции вы указываете файл, который был открыт с по- мощью процедуры Reset, то выведется сообщение об ошибке. Анало- гично, будет ошибкой задавать для ориентированной на ввод проце- дуры или функции файл, открытый с помощью процедур Rewrite или Append.