Студопедия

КАТЕГОРИИ:


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

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


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

Замечание

Замечание

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

 

procedureErase(varF: <Файловый тип>);

 

procedureRename(varF: <Файловый тип>; <Новое имя файла>: string);

 

procedureMKDir(<Имя папки>: string); // Создает пустую папку

 

procedureRMDir(<Имя папки>: string); // Удаляет пустую папку

 

functionIOResult: integer;

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

functionEOF(varF: <Файловый тип>) boolean;

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

 


 

Существуют альтернативные варианты процедур:

 

procedureRename(varF <Файловый тип>; <Новое имя файла>: PChar);

 

procedureMKDir(<Имя папки>: PChar);

 

procedureRMDir(<Имя папки>: PChar);

 

PChar – специальный «строковый» тип, разговор о нём пойдёт позже.

 

 

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

 

 

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

 

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

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


 

Синтаксис TP7:

 

procedureAssign(varF: <Файловый тип>; <Имя файла>: string);

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

 

procedureReset(varF: <Файловый тип>);

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

 

procedureRewrite(varF: <Файловый тип>);

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

 

procedureAppend(varF: <Файловый тип>);

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

 

procedureClose(varF: <Файловый тип>);

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



 

functionAssign(varF: <Файловый тип>; <Имя файла>: string);

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

 

functionEOLN(varF: <Файловый тип>) boolean;

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

functionSeekEOLN(varF: <Файловый тип>) boolean;

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

 

functionSeekEOF(varF: <Файловый тип>) boolean;

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

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

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

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

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

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

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

 

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

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

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

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

 


Синтаксис Delphi:

 

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

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

 

procedureAssignFile(varF: <Файловый тип>; <Имя файла>: string);

procedureCloseFile (varF: <Файловый тип>);

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

 

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

 


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

 

 

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

^<Тип> ;

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

pointer ;

 

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

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

 


Пример.

 

programP0801;

 

<== предыдущая лекция | следующая лекция ==>
Условная компиляция | Полное вычисление логических выражений

Дата добавления: 2014-01-04; Просмотров: 215; Нарушение авторских прав?


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



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

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