русс | укр

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

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

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

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


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

Средства обработки файлов.

Чтобы создавать и обрабатывать файлы в программе, необходимо:
1.описать переменную, соответствующую файлу;

2.задать соответствие между файлом и переменной.

Описание файловой переменной зависит от типа файла:

-текстовые:
Var <файловая переменная>:text;

-типизированные:
Var
<файл. пер-я>:file of <тип элементов файла>

-нетипизированные
Var <файловая переменная>:file;

Для установления соответствия между переменной и реально существующим файлом на диске в языке используется процедура

assign (<файловая переменная >,<имя файла>);

Зам! Имя файла может быть строковой постоянной, тогда оно записывается в апострофах, или строковой переменной, тогда достаточно указать имя этой переменной. Если файл располагается не в текущей директории, то необходимо

указать полный путь до него.

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

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

Reset (<файловая переменная >); — открывает существующий файл;

Rewrite (<файловая переменная >); — создает и открывает новый файл.

Открытие внешнего файла с помощью процедуры Reset в случае отсутствия на диске может привести к ошибке при выполнении программы.

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

Операция закрытия файла является логическим окончанием работы с любым открытым файлом. Для этого служит процедура Close (var F);

Использование процедуры Close позволяет устранить связь файловой переменной с внешним файлом, установленную с помощью процедуры Assign.

Пример: Полная цепочка команд для создания простого текстового файла с именем WORK.TXT:

Program _;

Var F: text;

begin

Assign(F, 'WORK.TXT');

Rewrite(F);

Write(F,'Простой текстовый файл'); Close(F);

end.

К языковым средствам обслуживания файлов необходимо отнести процедуры переименования и удаления неоткрытых файлов. Использование этих процедур не зависит от типа файла.

Rename(<файловая переменная>,<нов.имя>);-процедура переименовывает неоткрытый файл любого типа

Erase(<файловая переменная >);- процедура удаляет неоткрытый внешний файл любого типа

Обе процедуры нельзя использовать для уже открытых файлов. В противном случае могут возникнуть нежелательные последствия со стороны операционной системы.

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

Пример: Удаление или переименование файла.

Program _;

Var F: file ;

Ch: char;

St: string;

begin

Write('Введите имя файла: ');

Readln(St);

Assign(F, St);

Write('Удалить файл(У), Переименовать(П),');

Readln(Ch);

case Ch of

'у': Erase(F);

'п': begin

Write(‘Введите новое имя файла: ');

Readln(St);

Rename(F, St);

end;

end.

Для чтения и записи данных используют следующие процедуры:

READ(<файл.пер >,<переменная>)-процедура чтения из файла в переменную.

WRITE (<файл.пер >,<переменная>)- процедура записи из переменной в файл.

Часто при работе с файлами используется функция:

EOF (<файловая переменная> ) - возвращает булевское значение True, если указатель чтения- записи в конце файла, и False — в противном случае.

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

Использование этой функции в программах возможно лишь в том случае, если на время выполнения файловых операций отключена стандартная проверка операций ввода-вывода. Для этих целей используется директива компилятору {$I}, которая может задаваться внутри текста программы.

Пример: Вариант программы для проверки существования файла на диске

Program _;

Var F: file ;

St: string;

begin

Write('Введите имя файла : ');

Readln(St);

Assign(F, St);

{$I—} {Отключить стандартную обработку ошибок}

Reset(F); {Открыть файл}

{$I+} {Включить стандартную обработку ошибок}

if IOresult = 0 then

begin

Writeln('Файл существует и нормально открыт’);
Close(F);{Закрыть файл}
end;

else

Writeln('Файла с именем’,St,' на диске нет');

end.

Дома: Разобрать и выучить все функции обработки файлов.


Просмотров: 1140


Вернуться в оглавление



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


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

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

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


 


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

 
 

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