Помощь - Поиск - Пользователи - Календарь
Полная версия: Обработка ошибок ввода вывода
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
m0lex
Вообщем такая проблема... Программа запрашивает у пользователя ввести переменную integer (Кол-во записей в фаиле) При вводе не численного значения прога вылетает, а мне не надо что бы так было. Пробовал с {$I-}{$I+} ничего не выходит... подскажите пожалуста ошибку.
Вот в этих 2-ух процедурах:


Procedure nov;
Var
j:integer;
a:integer;
Begin

Name_file;
assign(trains,name);
rewrite(trains);
write('Введите количество пунктов назначения: ');
readln(a);
for j:=1 to a do Vvod;
close(trains);
writeln;

end;

Procedure dobav;
Var
j:integer;
k:integer;
Begin

Name_file;
assign(trains,name);
{$I-}
reset(trains);
{$I+}
if ioresult=0 then
begin
seek(trains,FileSize(trains));
write('Введите количество записей: ');
readln(k);
for j:=1 to k do Vvod;
writeln('В новом фаиле ',FileSize(trains),' записей');
close(trains);
end
else writeln('Фаил '+name+' несуществует');
writeln;
end;




Вот весь исходник: molex.hotbox.ru/PROG.PAS
Malice
Вводи не число, а строку, потом проверяй - является ли введенное числом (функция val).
мисс_граффити
или оформи так же, как открытие файла...
m0lex
Ок... спасибо, щас попробую, а есть еще какиенибудь способы, просто спросить могут...

=>или оформи так же, как открытие файла...
а это как?
m0lex
Что то с val никак не могу разобраться( не могли бы вы показать на одной из моих процедур...
Malice
Типа того,
repeat
readln (s);
val (s,a,code);
until code=0;

т.е. если code=0, то все ок, иначе повтор ввода.
m0lex
Огромное спасибо!!! smile.gif разобрался!!!
завтра здача курсовой... надеюсь все будет хорошо!
спасибо мисс_граффити и Malice!
тема закрыта...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.