как сделать так, чтобы игнорировались ошибки и дос не вылетал??
вот например, если a:integer; то при попытке readln (a) он сразу вылетит нафиг. Как сигнорировать эту ошибку и возвратится к чтению переменной?
Вот так, например:
var a:integer;
begin
writeln('Enter an integer value');
repeat
{$I-}
readln(a);
{$I+}
until IOResult=0;
writeln('Thank you');
readln;
end.
еще как вариант всегда изначально считывать строку, и уже потом, переводя ее в число с помощью val смотреть код ошибки, если он не нулевой, запрашивать повторный ввод.
хорошо, объясните мне, пожалуйста, что такое {$I-} и {$I+} !
Читать здесь: FAQ -> http://forum.pascal.net.ru/index.php?s=&showtopic=3895&view=findpost&p=34541
спасибо