Помощь - Поиск - Пользователи - Календарь
Полная версия: Обработка ошибок ввода вывода
Форум «Всё о Паскале» > 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!
тема закрыта...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.