OberonCore
https://forum.oberoncore.ru/

Как прочитать текст из файла
https://forum.oberoncore.ru/viewtopic.php?f=35&t=5032
Страница 1 из 1

Автор:  adva [ Вторник, 18 Март, 2014 07:31 ]
Заголовок сообщения:  Как прочитать текст из файла

А не подскажите, пример чтения текста из файла, нашел только примеры чтения из активного окна.
Или можно указать, какие объекты каких подсистем использовать для открытия и чтения.

Автор:  adva [ Вторник, 18 Март, 2014 07:50 ]
Заголовок сообщения:  Re: Чтение всего текста -> чтение участка [beg,end)

Хотя вроде ObxAscii то, что требуется, попробую разобраться, пока вопрос снят.

Автор:  Борис Рюмшин [ Вторник, 18 Март, 2014 07:53 ]
Заголовок сообщения:  Re: Чтение всего текста -> чтение участка [beg,end)

Смотрите также примеры ObxOpen0 и ObxOpen1 из документации, если речь идёт о чтении текстов BlaxBox.

Автор:  Иван Кузьмицкий [ Вторник, 18 Март, 2014 08:56 ]
Заголовок сообщения:  Re: Чтение всего текста -> чтение участка [beg,end)

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

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

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

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

А что быстрее работает, сканер или ридер? Мне всего лишь текст прочитать надо, без вьюшек ?

Автор:  Иван Кузьмицкий [ Вторник, 18 Март, 2014 11:55 ]
Заголовок сообщения:  Re: Как прочитать текст из файла

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

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

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/