русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с файлами


Дата добавления: 2014-11-28; просмотров: 682; Нарушение авторских прав


Файлом называется последовательность данных, размещаемая на внешнем запоминающем устройстве и рассматриваемая в процессе чтения-записи как единое целое.

Порядок работы с файлами:

1. Описать тип файловой переменной, например f :

var var var
f : File of type; f : Text; f : File;

Тип File описывает линейную последовательность компонент указанного типа. Тип файла Text означает файл, состоящий из строк символов.

2. Осуществить связь файловой переменной с именем файла – команда Assign(f). Одновременно в программе может быть открыто несколько десятков файлов, каждый из которых должен иметь свою файловую переменную.

3. Открыть файл – командой Rewrite(f) для записи во вновь создаваемый файл или Reset(f)для чтения/записи уже имеющегося файла. Если открывается существующий текстовый файл, то используем команду
Append(f).

4. Осуществить чтение/запись в файл – команды Read/Writeсоответственно (для построчной работы с текстовыми файлами можно использовать ReadLn/WriteLn). Например, команда записи выглядит следующим образом: Write(f, а), где f – файловая переменная; а – переменная любого типа (byte, real, string и т. д., соответствующая типу файла). При обращении к командам Read/Writeпозиция чтения/записи в файле автоматически увеличивается на единицу.

5. Закрыть файл – команда Close(f).

Пример:

Var

f: text;

Begin

Assign(f, 'TEST.TXT'); { Cвязываем файловую переменную f }
{ c именем файла 'TEST.TXT' }

Rewrite(f); { Создаем новый файл }

WriteLn(f,'Исходный текст'); { Записываем строку в файл }

Close(f); { Закрываем файл }

Append(f); { Открыть файл для добавления}

{ в его конец строки }

WriteLn(f,'Добавляемый текст'); { Добавляем строку }

Close(f); { Закрываем файл }

End.

Ниже приведено описание процедур и функций, работающих с файлами:



Procedure Append(var f : Text);

Открывает существующий текстовый файл fдля дополнения.

Procedure Assign(var f; name : String);

Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции с переменной f будут выполняться с указанным внешним файлом.

Procedure Close(var f);

Закрывает открытый файл, связанный с переменной f.

Function Eof(var f) : Boolean;

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

Function FilePos(var f) : Longint;

Показывает текущую позицию в файле, указываемом переменной f. Если эта позиция в конце файла, то функция возвращает значение, равное длине файла, а если в начале файла, значение 0.

Function FileSize(var f) : Longint;

Показывает текущий размер файла f в байтах. Если файл пуст, то 0.

Procedure Reset(var f [ : file; RecSize : Word ] );

Открытие существующего файла. Имя внешнего файла, связанного с f, должно быть ранее определено. Необязательный параметр RecSize: размер записи нетипизированного файла.

Procedure Rewrite(var f : file [;RecSize : Word ] );

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

Procedure Seek(var f; n : Longint);

Перемещает текущую позицию файла к элементу с номером n (не может быть использована для текстовых файлов, первая позиция равна 0).

Procedure Truncate(var f);

Усекает размер файла f до текущей позиции в файле.

Ниже приведен пример программы, которая открывает сразу два файла (один для чтения, а второй создает вновь для записи). Командой Readln(f1,s);из первого файла считывается строка s. В цикле For организуется доступ к ее отдельным символам и производится замена буквы k на K. Затем преобразованная строка сохраняется во втором файле. Считывание строк проводится в цикле Repeat–Until и завершается при нахождении конца первого файлаEof(f1).

Var

f1,f2:text;

s:string;

i:byte;

Begin

Assign(f1, 'text.txt');

Assign(f2, 'text_new.txt');

Reset(f1);

Rewrite(f2);

Repeat

Readln(f1, s);

for i:=1 to Length(s) do

if s[i]='k' then s[i]:='K';

WriteLn(f2, s);

Until Eof(f1);

Close(f1);

Close(f2);

End.

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

Var

f1,f2:file of char;

ch:char;

Begin

Assign(f1, 'text.txt');

Assign(f2, 'text_new.txt');

Reset(f1);

Rewrite(f2);

Repeat

Read(f1, ch);

if ch='k' then ch:='K';

Write(f2, ch);

Until Eof(f1);

Close(f1);

Close(f2);

End.



<== предыдущая лекция | следующая лекция ==>
Лабораторная работа №10 | Задания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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