Функция IOResult

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

Функция IOResult предназначена для поиска ошибок, возникающих при работе с файлами. Эта функция возвращает результат последней операции ввода/вывода, если автоматический контроль за ошибками, возникающими при выполнении операций ввода/вывода, отключен с помощью директивы компилятора {$I-}. При безошибочном выполнении операций ввода/вывода функция IOResult всегда возвращает результат равный нулю. Поэтому, как правило, ее используют в операции сравнения с нулем. При использовании функции IOResult нужно помнить о том, что она возвращает величину, которую можно интерпретировать как флаг ошибки лишь в том случае, когда эта функция вызывается следом за операцией ввода/вывода. А если Вы хотите провести анализ ошибки позже, Вам придется сохранить возвращаемое значение в некоторой промежуточной переменной.

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

{$I-} {отключение контроля ввода/вывода}

reset (F,'C:\TP7\BIN\Text.txt'); {открытие файла для чтения}

if IOResult <> 0

then

writeln ('Ошибка при открытии файла');

{$I+} {включение контроля ввода/вывода}

В своих программах Вы должны применять функцию IOResult.

Задание. Выберите с учителем одну из предложенных ниже задач.

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

2. Создайте файл целых чисел (числа вводятся с клавиатуры). Выведите числа

- с четным порядковым номером,

- с нечетным порядковым номером,

- с порядковым номером, кратным 7,

- с порядковым номером, кратным 15,

используя в программе процедуру Seek.

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

3. Создайте файл символов (символы вводятся с клавиатуры). Выведите на экран символы

- с пятого по пятнадцатый,

- с третьего по двадцатый,

- с k-го по s-ый.

Используйте в программе процедуру Seek.

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

4. Создайте файл, содержащий все буквы русского алфавита. Запросите у пользователя числовой промежуток [N, M]. Выведите на экран все символы, коды которых лежат в заданном промежутке. Используйте в программе процедуру Seek.

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

5. Создайте файл, состоящий из строк. Запросите у пользователя порядковые номера двух строк и поменяйте их в файле между собой. Дополнительный файл не создавайте. Используйте в программе процедуру Seek.

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: