|
Новости |
Текстовые файлыВ отличие от файлов других типов текстовые файлы не являются просто последовательностью элементов одного типа, а состоят из символов, объединённых в строки. Каждая строка завершается парой символов CR/LF (carriage-return/linefeed). Файл заканчивается маркером Ctrl-Z. Поскольку строки могут быть различной длины, текстовые файлы могут образовываться только последовательно. Файл может быть открыт либо только на запись (Rewrite), либо только на чтение (Reset). В системе DOS имеется возможность открыть файл для расширений (Append). В этом случае после открытия указатель файла устанавливается в конец, файл рассматривается как открытый на запись. Описание текстового файлаОписание типа текстового файла состоит из ключевого слова text. Примеры
Тип TextType связан с набором строк, разделённых на символы и заканчивающихся последовательностью CR/LF. OutFile и InpFile - имена текстовых файлов. В языке Турбо Паскаль связь с внешними устройствами: консолью, терминалом, принтером, модемом и т.д., осуществляется с помощью текстовых файлов. Таким образом, эти файлы являются моделью физического набора данных, доступных с помощью этих устройств. Внешние устройства указанных типов имеют свои символические обозначения, описываемые ниже. КонсольCON: - Консоль. Консоль - это устройство ввода-вывода. Выходное консольное устройство - это экран дисплея, входное консольное устройство - клавиатура. Консоль обеспечивает буферизованный ввод данных. Это означает, что данные с консоли вводятся в виде целой строки и только после введения всей строки обрабатываются. Поскольку каждая строка заканчивается символом CR, возможен ввод с консоли последовательности символов и редактирование её до ввода CR. Редактирование осуществляется с помощью следующих команд:
Размер входного буфера консоли определён предопределённой переменной Buflen. По умолчанию размер этой переменной не более 127 символов. Новое значение переменной Buflen действительно по отношению к ближайшему оператору ввода. После выполнения оператора переменная Buflen снова принимает значение 127. УстройстваTRM: - терминал. Терминал - это устройство ввода-вывода. Выходное консольное устройство - это экран дисплея, входное консольное устройство - клавиатура. В отличие от консоли входные данные с терминала не буферизуются. Это означает, что каждый вводимый символ тотчас обрабатывается, одновременно символ выводится на экран. Из управляющих символов это относится только к CR, который выводится как пара CR/LF. KBD: - клавиатура. Клавиатура - это устройство ввода. Символы вводятся с консольного устройства ввода, не буферизуются и не выводятся на экран. LST: - печатающее устройство. Печатающее устройство - устройство вывода. Выводимые символы не буферизуются в системе и не могут буферизоваться в печатающем устройстве. AUX: - вспомогательное устройство. Вспомогательное устройство - это устройство ввода или вывода. В системе DOS это устройство COM1:. USR: - устройство, определяемое пользователем Устройство, определяемое пользователем - это программное устройство. Оно допускает вмешательство в процесс передачи символов. Его использование связано с разработкой собственных программ передачи данных. Соответствие текстовых файлов и логических устройствСвязь файла с логическим устройством может осуществляться с помощью процедуры Assign, в которой указывается имя файловой переменной и строковое выражение, определяющее название логического устройства. В отличие от связи файла с набором данных связь файла с логическим устройством влечёт за собой неявное открытие файла. Поэтому использование процедур Reset и Rewrite излишне, а их выполнение, как и выполнение процедуры Close, не приводит ни к каким результатам. Не следует пользоваться процедурами Erase и Remane, потому что их можно использовать только по отношению к наборам данных на дисках. Процедура Assign связывает текстовый файл Console с логическим устройством CON:, т.е. с консолью, а затем неявно открывает его. Для упрощения использования файлов, связанных с логическими устройствами, в Турбо Паскале введён ряд предопределённых файловых переменных, представляющих текстовые файлы, которые по умолчанию связаны с некоторыми логическими устройствами. Как следует из таблицы, с предопределёнными именами файловых переменных связаны определённые логические устройства. Исключение составляют файловые переменные Input и Output, каждая из которых может представлять файл, связанный с устройством CON: или устройством TRM:. Выбор CON: или TRM: происходит по директиве компилятора {$B+} или {$B-}. По умолчанию принимается {$B+}, файлы Input и Output связаны с устройством CON:. В области действия директивы {$B-} оба эти файла связаны с устройством TRM:.
Таблица - Соответствие текстовых файлов и
логических устройств
Надо обратить внимание, что файлы, представляемые именами указанных файловых переменных, всегда открыты, а операции над ними касаются установленных логических устройств. Пример:
Con - это предопределённая файловая переменная, представляющая файл, связанный с консолью. После выполнения программы на консольное устройство будет выведен текст: Hello world. |
На главную страницу(с)Все права защищеныПо всем интересующим вопросам прошу писать на электронный адрес |