Составители:
Рубрика:
112
While not Eof (fl) do
begin
Read(fl,p);{читаем очередную запись из первого
файла}
if ((р. х > 0) and (p. у > 0))
or ((р. х < 0) and (p. у < 0)) then
{если точка принадлежит первой или третьей
четверти, то выводим ее во второй файл; данное
условие можно было записать проще, но менее
понятно: if p.x*p. y>0 then... }
Write(f2, p);
end;
nl:=FileSize(f1); {получаем объем первого файла}
n2:=FileSize(f2); {... второго}
Writeln('nl= ', nl, ' n2 = ', n2);
Close(fl); {закрываем файлы}
Close (f2) ;
end.
Если мы открываем файл в программе, то неплохо бы
предвидеть различные аварийные ситуации: отсутствует файл с
таким именем, не вставлен диск в дисковод и др. При возник-
новении подобных ситуаций в обычном режиме программа
прерывается по ошибке. Но существует возможность избежать
этого: директива компилятору {$i-} выключает режим провер-
ки и реакции на ошибки ввода/вывода, а директива {$i+} вклю-
чает. Однако продолжить выполнение программы в аварийной
ситуации недостаточно, важно запрограммировать реакцию на
нее - обработать ошибку. Для этого предназначена функция
IOResult (результат выполнения операции ввода/вывода).
function IOResult: Integer;
Функция возвращает целое значение. Если операция вво-
да/вывода не привела к ошибке, то ее значение ноль, в против-
ном случае функция возвращает номер ошибки. Если ошибка
произошла, то все последующие операции ввода/вывода игно-
рируются до тех пор, пока не будет вызвана функция IOResult.
While not Eof (fl) do begin Read(fl,p);{читаем очередную запись из первого файла} if ((р. х > 0) and (p. у > 0)) or ((р. х < 0) and (p. у < 0)) then {если точка принадлежит первой или третьей четверти, то выводим ее во второй файл; данное условие можно было записать проще, но менее понятно: if p.x*p. y>0 then... } Write(f2, p); end; nl:=FileSize(f1); {получаем объем первого файла} n2:=FileSize(f2); {... второго} Writeln('nl= ', nl, ' n2 = ', n2); Close(fl); {закрываем файлы} Close (f2) ; end. Если мы открываем файл в программе, то неплохо бы предвидеть различные аварийные ситуации: отсутствует файл с таким именем, не вставлен диск в дисковод и др. При возник- новении подобных ситуаций в обычном режиме программа прерывается по ошибке. Но существует возможность избежать этого: директива компилятору {$i-} выключает режим провер- ки и реакции на ошибки ввода/вывода, а директива {$i+} вклю- чает. Однако продолжить выполнение программы в аварийной ситуации недостаточно, важно запрограммировать реакцию на нее - обработать ошибку. Для этого предназначена функция IOResult (результат выполнения операции ввода/вывода). function IOResult: Integer; Функция возвращает целое значение. Если операция вво- да/вывода не привела к ошибке, то ее значение ноль, в против- ном случае функция возвращает номер ошибки. Если ошибка произошла, то все последующие операции ввода/вывода игно- рируются до тех пор, пока не будет вызвана функция IOResult. 112
Страницы
- « первая
- ‹ предыдущая
- …
- 110
- 111
- 112
- 113
- 114
- …
- следующая ›
- последняя »