Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Закрытие файла



Ø CLOSE(<ФП>)

- закрытие файла.

После закрытие обращение к файлу для ввода/вывода невозможно – будет генерироваться ошибка, но связь файловой переменной с физическим файлом или логическим устройством сохраняется. Эту связь можно использовать для удаления, переименования и других операций над файлами (см. предыдущую лабораторную работу).

ПОЛЕЗНЫЕ ФУНКЦИИ ДЛЯ ОРГАНИЗАЦИИ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА К ТЕКСТОВОМУ ФАЙЛУ

Ø EOF(<ФП>)

– функция возвращает true, если указатель файла находится в его конце, иначе – false;

Ø EOLN (<ФП>)

– функция возвращает true, если указатель файла находится в конце строки или файла, иначе – false;

Ø SEEKEOF (<ФП>)

– функция типа boolean: пропускает все пробелы и символы табуляции до маркера конца файла или первого значащего символа и возвращает true, если маркер найден.

Ø SEEKEOLN (<ФП>)

– функция типа boolean: пропускает все пробелы и символы табуляции до маркера конца строки или файла или первого значащего символа и возвращает true, если маркер найден;

ПРОЦЕДУРА СОЗДАНИЯ ТЕКСТОВОГО ФАЙЛА

PROCEDURE CREATE(NAME:STRING); VAR F:TEXT; {файловая переменная} X:STRING; BEGIN ASSIGN (F,NAME); {файловая переменная связана с файлом с именем NAME} {$I-} REWRITE(F); {открыть файл на запись (перезапись)} {$I+} IF IORESULT=0 THEN {если файл открыт} BEGIN WRITELN('VVEDITE CHISLA (OSTANOVKA ‘’’’):'); READLN(X); WHILE X<>’’ DO {вводим строчки в цикле до пустой строки и записываем их в файл} BEGIN WRITELN (F,X); READLN(X); END; CLOSE(F); {закрыть файл} END; END;

ПРОЦЕДУРА РАСПЕЧАТКИ СОДЕРЖИМОГО ТЕКСТОВОГО ФАЙЛА

PROCEDURE PRINT(NAME:STRING); VAR F:TEXT; {файловая переменная} X:STRING; BEGIN ASSIGN (F,NAME); {файловая переменная связана с файлом с именем NAME} {$I-} RESET(F); {открыть файл на чтение} {$I+} IF IORESULT=0 THEN {если файл открыт} BEGIN WHILE NOT (EOF(F)) DO {пока не достигнут конец файла } BEGIN {читаем строчку из файла и выводим ее на консоль} READLN(F,X); WRITELN(X); END; CLOSE(F); {закрыть файл} END; END;

ПРОЦЕДУРА УДАЛЕНИЯ ИЗ ФАЙЛА ВСЕХ ЗВЕЗДОЧЕК (РЕЗУЛЬТАТ ЗАПИСЫВАЕТСЯ В НОВЫЙ ФАЙЛ)

PROCEDURE DEL(NAME,NAMENEW:STRING); VAR F,FNEW:TEXT; {файловые переменные} S:STRING;I:INTEGER; BEGIN ASSIGN (F,NAME); ASSIGN (FNEW,NAMENEW); {файловые переменные связаны с файлами на диске} {$I-} RESET(F); {открыть файл name на чтение} {$I+} IF IORESULT=0 THEN BEGIN {если файл открыт} {$I-} REWRITE(F); {открываем на запись файл namenew} {$I+} IF IORESULT=0 THEN BEGIN {если файл открыт} WHILE NOT (EOF(F)) DO BEGIN {пока не конец файла f} READLN(F,X); {читаем строку} I:= POS ('*',S); {ищем первое вхождение ‘*’} WHILE I<>0 DO BEGIN {пока есть ‘*’ в строке} DELETE (S,I,1); {удаляем ‘*’ и ищем следующее вхождение} I:= POS ('*',S); END; WRITELN(FNEW,S); {преобразованную строку пишем в новый файл} END; CLOSE(FNEW); {закрыть файл} END; CLOSE(F); {закрыть файл} END; END;

ПРИМЕР ПРОГРАММЫ, ИСПОЛЬЗУЮЩЕЙ ПРИВЕДЕННЫЕ ВЫШЕ ПОДПРОГРАММЫ





Дата публикования: 2015-02-22; Прочитано: 178 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...