Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 16 июн 2025, 20:00

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 14 сен 2018, 16:46 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
В описании языка сказано, что процедура CHR принимает целый тип, результат - литера с порядковым номером, c типом CHAR. Если аргумент этой процедуры - целочисленная константа, то всё идёт без проблем, а если пременная, но тоже целочисленная, то почему-то ошибка.
Код: "OBERON"
  1. VAR a: ARRAY 2 OF CHAR;
  2. i: INTEGER;
  3. BEGIN
  4. i := 0;
  5. a := CHR(0);
  6. a := CHR(i);(*здесь ошибка: несовместимое присваивание*)
  7.  


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 14 сен 2018, 18:29 
Не в сети
Администратор
Аватара пользователя

Сообщения: 108
Вы присваиваете массиву литер, литеру. Из-за этого беда. Сканер разрешает присваивать массиву литеру 0X например, тогда она записывается в первую позицию и считается пустая строка. А то, что вы делаете, это неправильно присваивание по большому счету.
Надо так, например:

Код: "OBERON"
  1. VAR a: ARRAY 2 OF CHAR;
  2. i: INTEGER;
  3. BEGIN
  4. i := 0;
  5. a[0] := CHR(0);
  6. a[1] := CHR(i);


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club