русс | укр

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

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

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

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


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

Чтение

Для чтения данных из файла в программу служит процедура Re-

ad, синтаксис которой:

READ ( f,<список ввода> ),

где f - имя файловой переменной.

Процедура Read читает последовательность символов из файла

f, интерпретирует их как условные записи значений данных, а затем

присваивает данные с этими значениями переменным списка ввода.

Для текстовых файлов имеется модификация процедуры Read - процедура Readln:

READLN ( f [,<список ввода>] ),

где f - имя файловой переменной типа text.

Эта процедура осуществляет те же действия, что и Read, но после операции чтения производит переход к следующей строке текстового файла.

Процедура в виде Readln (f) вводит и игнорирует последовательности символов до "возврат каретки" и "перевод строки" включительно.

Для организации чтения данных из нетипизированных файловь предназначена процедура BlockRead. Заголовок данной процедуры имеет вид:

BLOCKREAD ( f, <буфер>, k [,r] ),

где то же, что и для BlockWrite

f - имя нетипизированного файла, из которого производится чтение;

<буфер> - переменая-буфер (этот параметр передается как

нетипизированный);

k - число записей, читаемых за один вызов процедуры (имеет

тип Word);

r - параметр типа Word, в который помещается число

фактически считанных записей.

Если при чтении из файла процедурой BlockRead размер буфера окажется меньше произведения <длина записи>*k, где k - число читаемых записей, то произойдет следующее: если параметр r в

BlockRead не задан, то возникнет ошибка ввода-вывода; если параметр r задан, то ошибка не будет зафиксирована, а после выполнения процедуры значение параметра r не будет совпадать со

значением параметра k.

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

При окончании работы всей программы происходит автоматичес-

кое закрытие всех файлов, открытых в программе.

Для явного завершения действий с файлом используется проце-

дура

CLOSE ( f ),

где f - имя файловой переменной.

При этом ликвидируются внутренние буферы, образованные при

открытии файла f.

7. Дополнительные операции

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

Файлы в Паскале допускают только последовательный доступ. В данном случае возможно только косвенно управлять последовательностью чтения или записи. Имеется в ввиду возможность позиционировать внутри файла указатель на необходимую запись. В случае типизированных файлов запись в файле - это компонент файла, а в случае нетипизированных - блок, равный по размеру буфера файла.

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

SEEK ( f,<номер записи> ), (поиск записи)

TRUNCATE ( f ) (отсечеение последующих записей)

и три дополнительные функции

FILESIZE ( f ),

FILEPOS ( f ),

EOF ( f ),

где f - имя файловой переменной типа, отличного от text;

<номер записи> - целое (типа longint), значение которого понимается как порядковый номер элемента файла, на который необходимо установить указатель.

Функция FileSize возвращает общее число элементов файла, а функция FilePos - номер элемента, на который установлен текущий указатель.

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

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

Процедуры Seek, FileSize, FilePos и Truncate не могут быть применимы к текстовым файлам ввиду произвольных длин строк таких файлов.

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

Некоторым подобием процедуры Seek для текстовых файлов являются функции:

SEKEOLN ( f ),

SEEKEOF ( f ).

Функция SeekEoln производит поиск конца текущей строки и возвращает соответствующее логическое значение.

Функция SeekEoF осуществляет поиск конца файла. Если в процессе поиска найден конец файла, то функция возвращает true, в противном случае - false.

в) Удаление предварительно закрытого файла

ERASE(f)

г)Переименование предварительно закрытого файла f в файл s

RENAME(f,s)

где

VAR

f:FILE_TYP, s:STRING;

д) Обработка ошибок

Ошибочные ситуации при работе с файлами позволяет отслеживать специальная функция, формат вызова которой:

IORESULT.

Данная функция возвращает целое число, соответствующее коду

последней ошибки в операции. Если же операция прошла без сбоев,

то функция IOresult вернет значение 0. Опросить функцию IOresult

можно только один раз после каждой операции, т.к. она обнуляет

свое значение при каждом вызове.

Коды ошибок, возвращаемые функцией IOresult, приведены в

методичке.

Работа с файлами данных, как правило, сводится к выполнению следующих действий:

1. Открытие/закрытие файла

2. Манипулирование данными

- добавление дпнных;

- изменение данных;

- удаление данных;

- просмотр данных.

3. Сортировка днных;

4. Писк данных

5. Бизнес-обработка данных и вывод информации.

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


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



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


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

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

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


 


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

 
 

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