OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 25 Июнь, 2018 14:29

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Среда, 18 Август, 2010 10:59 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4485
Откуда: Россия, Орёл
Было несколько раз, когда переделывал команды обработки. Но только сейчас в голову пришло, что достаточно дополнить каждое чтение коррекцией eot, не трогая остального.
Код:
rd.Read; rd.eot := rd.eot OR (end < rd.Pos())


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 02 Сентябрь, 2011 11:57 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4485
Откуда: Россия, Орёл
Вариации на организацию чтения участка [beg, end)

1) постусловие rd.Read: ~rd.eot => rd.Pos() = rd'.Pos() + 1
Код:
rd.SetPos(beg); rd.Read;
WHILE ~rd.eot & (rd.Pos() <= end) DO
  ...
  rd.Read
END

2) с дополнительной переменной "длина" можно без rd.Pos()
Код:
 len := end - beg; rd.SetPos(beg);
WHILE len > 0 DO
  rd.Read;
  ...
  DEC(len)
END


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Март, 2014 08:39 

Зарегистрирован: Четверг, 12 Июнь, 2008 17:30
Сообщения: 35
for [beg,end), just:


Код:
rd.SetPos(beg);
WHILE rd.Pos() < end  DO
  rd.Read;
 ..
END


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

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


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

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


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

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