Читать курсовая по информатике, вычислительной технике, телекоммуникациям: "Java: Средства построения отчётов для Java-приложений" Страница 11
Программа выбьет ошибку в такой ситуации. Это реальная проблема, которая, кстати, очень просто решается.
Способ проверки заключается в двух этапах: использовании ключей компилятора и функции IOResult, которая возвращает значение от только что выполненной операции ввода-вывода. С функцией разберемся быстро, а вот с такой штукой как ключи компилятора мы еще не сталкивались, поэтому остановимся подробнее.
Ключи компилятора - это обыкновенные переключатели, которые контролируют ход выполнения программы исключая или включая реакцию на какие-нибудь условия. В нашем случае нас интересует условие, когда физически отсутствует нужный нам файл, либо не удалось открыть его по другим причинам. Ключей у Паскаля довольно много, мы пока изучим один, необходимый нам на данный момент.
Оформляются ключи следующим образом: в скобках комментариев "{}" первым символом после открывающей скобки "{" ставиться знак доллара "$", после чего указывается имя ключа и его значение. Нас интересует ключ, который выключает вывод ошибок ввода-вывода, называется он "I". Выглядит все это следующим образом:
{$I+} - включение вывода ошибок
{$I-} - выключение вывода ошибок
По сути дела отсутствие файла - это ошибка, которая возвращается функцией IOResult. Если же эта функция возвращает 0, то файл успешно открыт, без ошибок. Вот и вырисовывается последовательность действий, необходимых для проверки на наличие файла:
Связываем переменную с файлом;
Выключаем вывод ошибок на экран - {$I-}
Открываем файл необходимой нам процедурой;
Включаем вывод ошибок {$I+} - пусть будет для дальнейшего отслеживания таковых;
Проверяем, если IOResult возвращает нуль, то все было путем и файл открыт. Иначе выводим ошибку.
Вот пример такой программы:
| var |
| T: Text; |
| S: String; |
| begin |
| Write('Enter filename: '); |
| Readln(S); |
| Assign(T, S); |
| {$I-} |
| Reset(T); { открываем файл для чтения } |
| {$I+} |
| if IOResult 0 then { если не нуль, то была ошибка } |
| begin |
| Write('Error when open file!'); |
| Halt; |
| end; |
| { иначе все в порядке, продолжаем } |
| .......... |
| end. |
Закрытие файла
Выше я говорил о том, зачем нужно закрывать файл и когда надо это делать. Закрытие файла производиться с помощью процедуры Close(F), где F - это переменная файлового типа. Эта процедура одна для всех типов файлов.
Запись и чтение файлов. Часть I
Сегодня я хочу рассказать о записи и чтении текствых и типизированных файлов, в следующем выпуске рассказ пойдет о чтении файлов без типа. Итак, переходим к непосредственной обработке файловой информации.
Чтение файлов. Чтение файлов производится с помощью отлично известных нам процедур Read и Readln. Они используются также, как и при чтении информации с клавитуры. Отличие лишь в том, что перед переменной, в которую помещается считанное значение, указывается переменная файлового типа (дескриптор файла):
Read(F, C);
Здесь F - дескриптор файла, C - переменная (Char, String - для текстовых, любого типа - для типизированных файлов).
Также сразу хочу упомянуть о одной, пожалуй самой главной функции при чтении файлов. Это
Похожие работы
Интересная статья: Основы написания курсовой работы

(Назад)
(Cкачать работу)