OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 12:33

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 14:49 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 220
Откуда: Питер
Нижеследующий код выдаёт в лог 012, затем мусор. Если в строке Log.String(s$); убрать $, то вылетает системное прервыание. Вероятно, ошибка где-то в модуле Log...

Код:
MODULE mtoolTest;

IMPORT
  Log;

PROCEDURE Do *;
  VAR
    s:ARRAY 3 OF CHAR;
  BEGIN
    s[0]:='0';
    s[1]:='1';
    s[2]:='2';
    Log.Int(LEN(s$));
    Log.Ln;
    Log.String(s);
  END Do;

END mtoolTest.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 15:43 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Эта ваша "строка" не кончается нулём, хотя на это рассчитывают всякие алгоритмы. Модификатор $ может превратить массив символов в массив символов, оканчивающийся нулём (выделить подмассив символов от певого до "нуля", если "строка" короче массива). В общем, добавляйте 0X в качестве последнего символа в "строке".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 17:13 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Добавьте
Код:
s[3]:=0X;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 17:19 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 79
Иван Денисов писал(а):
Добавьте
Код:
s[3]:=0X;
Нельзя "добавлять", нет в массиве элемента [3].


Последний раз редактировалось LKom Воскресенье, 01 Май, 2016 17:22, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 17:21 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Так надо для этого сделать массив длиной 4. Строка должна заканчиваться 0X.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при выводе текста
СообщениеДобавлено: Воскресенье, 01 Май, 2016 17:25 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 79
Иван Денисов писал(а):
Так надо для этого сделать массив длиной 4. Строка должна заканчиваться 0X.
С это и надо было начинать. Возможно, но не обязательно.

Надо "добавить" в элемент [2].


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

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


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB