Есть переменная типа Integer, при заполнении этой переменной данными типа String выкидывает из программы, как организовать распознание введенных данных и сравнение их с нужным типом.
Вопрос неоднократно рассматривался на форуме (поиск по +защита +дурак*). Просто напросто читаешь данные в строку, и потом пытаешься переконвертировать в LongInt процедурой Val, если не получается - значит просишь пользователя повторить ввод, если получилось - проверяешь попадание в допустимый диапазон и если все в порядке - записываешь число в Integer. Очень удобно реализовать в виде функции, а не заниматься Copy+Paste-ом прямо в тексте основной программы...