IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ромаха
сообщение 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). Или Вы пошагово пытаетесь выйти на ошибку..

Удачи! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
SaheR
сообщение 28.08.2013 14:52
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Цитата(Ромаха @ 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
SaheR
сообщение 28.08.2013 15:19
Сообщение #4





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Всё, ошибку свою нашёл. Вместо readln, при чтении с файла, использовал read.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.11.2024 2:23
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"