OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 20 Октябрь, 2019 22:26

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Как прочитать текст из файла
СообщениеДобавлено: Вторник, 18 Март, 2014 07:31 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
А не подскажите, пример чтения текста из файла, нашел только примеры чтения из активного окна.
Или можно указать, какие объекты каких подсистем использовать для открытия и чтения.


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

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
Хотя вроде ObxAscii то, что требуется, попробую разобраться, пока вопрос снят.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Март, 2014 07:53 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4313
Откуда: Россия, Орёл
Смотрите также примеры ObxOpen0 и ObxOpen1 из документации, если речь идёт о чтении текстов BlaxBox.


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

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
adva писал(а):
какие объекты каких подсистем использовать для открытия и чтения.
Если речь идёт про чтение текста, то проще всего использовать штатную схему с текстовым отображением. Каркас предоставляет средство чтения отображения Views.View из файла, прочитав которое, вы сможете подключиться к его текстовой модели (в случае, если прочитали именно TextViews.View) и делать всё, что угодно. Например, читать из неё посредством бегунка или сканера (почему сделано именно так - см. раздел Docu/Tut-3.odc, там про шаблон проектирования Carrier-Rider-Mapper. В двух словах, текстовая модель это Носитель (Carrier) текста, а чтобы этот текст читать, нужен Бегунок (Rider); для более сложного, предметного чтения, используется Сканер (Mapper)).

Для начинающих такая схема может показаться сложноватой, но зато она сразу отвечает на массу вопросов типа "что же мы читаем из файла, как именно читаем и что с этим делать дальше", при этом предоставляя возможность гладко встроиться в инфраструктуру каркаса.

P.S. ObxAscii - это такая, я бы сказал, примитивизирующая обёртка, скрывающая от клиента особенности гибкой и расширяемой схемы каркаса, про которые я написал. Для простого построчного чтения вполне подойдёт, конечно, но для понимания лучше посмотреть на ObxOpen0, ObxOpen1, как тут уже предложил Борис.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать текст из файла
СообщениеДобавлено: Вторник, 18 Март, 2014 10:48 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
А что быстрее работает, сканер или ридер? Мне всего лишь текст прочитать надо, без вьюшек ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать текст из файла
СообщениеДобавлено: Вторник, 18 Март, 2014 11:55 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
adva писал(а):
А что быстрее работает, сканер или ридер? Мне всего лишь текст прочитать надо, без вьюшек ?
Сканер - это предметно-ориентированный инструмент, его использует, например, компилятор DevCompiler. Насчёт быстроты, я думаю, вам будет без разницы.

Чтобы пропускать вьюшки, сканер можно настроить, задав соответствующие опции. Или, вернее, задать ему опции так, чтобы среди них не было returnViews, тогда сканер будет их пропускать.

Что касается ридера, используйте ReadChar.


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

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


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

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


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

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