Помощь - Поиск - Пользователи - Календарь
Полная версия: Pascal. Ошибка в программе. Exitcode = 201.
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
SaheR
Здравствуйте, уважаемые программисты, администраторы, пользователи и т.д.
Суть программы: меню для игры.
Столкнулся с Exitcod'ом 201. Вылет происходит при использовании цикла чтения из текстового файла и присваивания строк файла массиву.
Что-то я делаю явно не так, вопрос - что?
Собственно, ниже код. Прошу прощения, если форматирование текста кода не является удобночитаемым.
Пишу на Free Pascal, желательно, чтобы программа компилировалась и на Borland Pascal 7.0.
Благодарю за внимание.
Спойлер (Показать/Скрыть)
Ромаха
Добрый день.
Для начала стоит освежить знания о Run-time errors.
А точнее вспомнить что ж за зверь такой 201 и с чем его едят..
201 Range check error
If you compiled your program with range checking on, then you can get this error in the following cases:
An array was accessed with an index outside its declared range.
Trying to assign a value to a variable outside its range (for instance an enumerated type).

То есть выход за пределы.
Начать нужно с того, что или Вы даете нам какой-нить уровень (чтобы не было exitcode = 2). Или Вы пошагово пытаетесь выйти на ошибку..

Удачи! smile.gif
SaheR
Цитата(Ромаха @ 28.08.2013 11:47) *

Добрый день.
Для начала стоит освежить знания о Run-time errors.
А точнее вспомнить что ж за зверь такой 201 и с чем его едят..
201 Range check error
If you compiled your program with range checking on, then you can get this error in the following cases:
An array was accessed with an index outside its declared range.
Trying to assign a value to a variable outside its range (for instance an enumerated type).

То есть выход за пределы.
Начать нужно с того, что или Вы даете нам какой-нить уровень (чтобы не было exitcode = 2). Или Вы пошагово пытаетесь выйти на ошибку..

Удачи! smile.gif


Спасибо за напоминание, но я написал сюда уже от беспомощности т.к. и не нашёл, где происходит выход за пределы массива.
Файл level.txt должен содержать просто названия уровней, которые уже в будущем будут загружаться из одноимённых файлов.
Собственно, из-за
gotoxy(7, i*2);

в этом файле должно быть не более 12 строк. На данный момент, у меня в этом файле находится всего четыре строчки, в каждой по одному слову(если нужно, уточню - в английской раскладке).
Когда впервые с этой ошибкою встретился в данном коде, то даже массив arrlevels сделал с индексами от 1 до 150.
Благодарю за пожелание удачи :3
SaheR
Всё, ошибку свою нашёл. Вместо readln, при чтении с файла, использовал read.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.