Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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

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

Замечание

 

Файловых типов в языке Паскаль может быть три: текстовые файлы, типизированные файлы и файлы без типа.

 

 

Тип «Текстовый файл», или файл последовательного доступа, предназначен для работы с т.н. текстовыми файлами (на дисках и не только). Признаком текстового файла является множество байтовых пар с кодами 13 и 10. В литературе для них встречается обозначение CR (Carriage Return, возврат каретки) и LF (Line Feed, перевод строки). Между парами с кодами 13 и 10 обычно стоят символы разговорных алфавитов, образующие осмысленный текст. Для служебных целей текстовые файлы могут содержать, например, числа, представляющие входной набор данных для программы.

 

<Объявление текстовой файловой переменной> ::=

<Имя файловой переменной>: text;


 

Синтаксис TP7:

 

procedure Assign(var F: <Файловый тип>; <Имя файла>: string);

Процедура связывает файловую переменную с реальным файлом.

 

procedure Reset(var F: <Файловый тип>);

Процедура открывает файл для чтения (данных из файла).

 

procedure Rewrite(var F: <Файловый тип>);

Процедура открывает файл для записи (данных в файл).

 

procedure Append(var F: <Файловый тип>);

Процедура открывает файл для ДОзаписи данных в конец файла.

 

procedure Close(var F: <Файловый тип>);

Процедура закрывает ранее открытый файл.

 

function Assign(var F: <Файловый тип>; <Имя файла>: string);

Процедура связывает файловую переменную с реальным файлом.

 

function EOLN(var F: <Файловый тип>) boolean;

Функция возвращает значение true, если маркер файла переместился за последний байт строки (достигнут конец строки).

function SeekEOLN(var F: <Файловый тип>) boolean;

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

 

function SeekEOF(var F: <Файловый тип>) boolean;

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

procedure Flush(var F <Файловый тип>);

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

procedure Read(var F <Файловый тип>; <Список ввода>);

Производится чтение данных из текстового файла в переменные, представленные в < Списке ввода >. Разделителями между данными служат пробелы либо символы подчеркивания. Переход на следующую строку файла происходит только в случае, если текущая строка уже исчерпана.

procedure Readln(var F < Файловый тип>; <Список ввода>);

Производится чтение данных из текстового файла в переменные, представленные в < Списке ввода > аналогично тому, как это делается процедурой Read. Когда список ввода исчерпан, производится перевод маркера на начало следующей строки текстового файла, даже если до конца текущей строки остаются данные, которые не прочтены.

 

procedure Write(var F <Файловый тип>; <Список вывода>);

Производится запись данных из <Списка вывода> в текстовый файл.

procedure Writeln(var F <Файловый тип>; <Список вывода>);

Производится запись данных из <Списка вывода> в текстовый файл. Когда список вывода исчерпан, производится перевод маркера на начало следующей строки текстового файла.

 


Синтаксис Delphi:

 

<Объявление текстовой файловой переменной> ::=

<Имя файловой переменной>: textfile;

 

procedure AssignFile(var F: <Файловый тип>; <Имя файла>: string);

procedure CloseFile (var F: <Файловый тип>);

Процедуры аналогичны соответственно процедурам Assign и Close.

 

Пример обращения к текстовым файлам приведен в проекте OptPathRDLU.

 


Тип «Указатель»

 

 

<Тип «Указатель»> :: =

^ <Тип>;

<Тип «Указатель»> :: =

pointer;

 

Тип «Указатель» используется для объявления переменной, которая должна содержать адрес некоторого набора данных в оперативной памяти. Таким адресом может быть либо адрес первого байта уже существующей переменной, либо адрес первого байта нового набора данных, создаваемого специально для этого предназначенной процедурой.

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

 


Пример.

 

program P0801;

 

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


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


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



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




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