Pascal. Ошибка в программе. Exitcode = 201., При работе с текстовым файлом |
Pascal. Ошибка в программе. Exitcode = 201., При работе с текстовым файлом |
SaheR |
26.08.2013 20:32
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Здравствуйте, уважаемые программисты, администраторы, пользователи и т.д.
Суть программы: меню для игры. Столкнулся с Exitcod'ом 201. Вылет происходит при использовании цикла чтения из текстового файла и присваивания строк файла массиву. Что-то я делаю явно не так, вопрос - что? Собственно, ниже код. Прошу прощения, если форматирование текста кода не является удобночитаемым. Пишу на Free Pascal, желательно, чтобы программа компилировалась и на Borland Pascal 7.0. Благодарю за внимание. Спойлер (Показать/Скрыть)
Сообщение отредактировано: SaheR - 26.08.2013 20:35 |
Ромаха |
28.08.2013 8:47
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Роман Репутация: 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). Или Вы пошагово пытаетесь выйти на ошибку.. Удачи! |
SaheR |
28.08.2013 14:52
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Александр Репутация: 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). Или Вы пошагово пытаетесь выйти на ошибку.. Удачи! Спасибо за напоминание, но я написал сюда уже от беспомощности т.к. и не нашёл, где происходит выход за пределы массива. Файл level.txt должен содержать просто названия уровней, которые уже в будущем будут загружаться из одноимённых файлов. Собственно, из-за gotoxy(7, i*2); в этом файле должно быть не более 12 строк. На данный момент, у меня в этом файле находится всего четыре строчки, в каждой по одному слову(если нужно, уточню - в английской раскладке). Когда впервые с этой ошибкою встретился в данном коде, то даже массив arrlevels сделал с индексами от 1 до 150. Благодарю за пожелание удачи :3 |
SaheR |
28.08.2013 15:19
Сообщение
#4
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Всё, ошибку свою нашёл. Вместо readln, при чтении с файла, использовал read.
|
Текстовая версия | 1.11.2024 6:17 |