OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 24 Апрель, 2024 14:24

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Формат .ODC
СообщениеДобавлено: Суббота, 24 Апрель, 2010 17:41 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
А есть ли где-то описание формата ODC? Т.е. именно формата, а не интерфейсов модулей которые им манипулируют.

Я правильно понимаю, что ODC по сути контейнер в который набивается разнородным содержимым, как например avi, или там какой-нибудь odf?

Собственно меня интересует общий формат ODC, и формат тех сущностей, которые представляют текст (в т.ч. исходник кода на КП). Остальное хотелось бы научиться игнорировать. :roll: По кр. мере пока.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Суббота, 24 Апрель, 2010 18:58 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Смотрите.

Формат, в котором сериализуются Stores.Store, можно увидеть в Dev/Spec/StoresFileFormat.

ODC-файл - это файл, в который выгружен Documents.Document (а точнее, его конкретная реализация Documents.StdDocument).
Т.е. надо уже смотреть, что он там пишет, какие свои поля.

Далее, этот Document при своей выгрузке записывает основную вьюшку, которая сохранена в документе. В случае текста это будет TextViews.StdView (процедура Externalize). А он уже пишет при своей выгрузке TextModels.StdModel. Которая уже пишет текст.

Вот такая матрёшка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Суббота, 24 Апрель, 2010 19:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Однако можно читать текст и "по-тупому", например, именно так сам Блекбокс считывает строковые ресурсы из файлов Rsrc/Strings.

Это делается... в модуле Dialog, процедура ReadStringFile.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Суббота, 24 Апрель, 2010 20:50 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Однако можно читать текст и "по-тупому", например, именно так сам Блекбокс считывает строковые ресурсы из файлов Rsrc/Strings.

Это делается... в модуле Dialog, процедура ReadStringFile.

Ну, у меня дело усугубляется тем, что мне на последующих этапах ещё и писать/модифицировать odc надо будет. Т.е. в любом случае со структурой разбираться придется, чтобы не сломать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 10:01 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Напишите и соберите на ББ DLL, которая будет с этим работать, как положено, средствами Framework, а выдавать Вам наружу всё, что захотите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 11:53 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Напишите и соберите на ББ DLL, которая будет с этим работать, как положено, средствами Framework, а выдавать Вам наружу всё, что захотите.

Да, видимо так будет быстрее всего.

Но даже если и с такой утилитой, я всё не очень хорошо понимаю -- вот сказали мне файл (набор файлов), я их скормил dll'ке. Она мне выдала, по всей видимости, для каждого из файлов некое дерево содержимого. Хорошо. Выкинули оттуда всё то, что не текст. Получили дерево текстовых документов, содержащихся в одном файле. И как моей программулине определить кого из них анализировать (например на предмет рисования графа зависимостей). Пытаться проанализировать всех?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 13:53 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Компилятор ББ работает только с текстом верхнего уровня. Это в общем логично - вложенные тексты обычно служат для иллюстраций и комментариев.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 14:05 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Иван Горячев писал(а):
Компилятор ББ работает только с текстом верхнего уровня. Это в общем логично - вложенные тексты обычно служат для иллюстраций и комментариев.

По моему, он работает с текстом текущего уровня, т.е. с тем, что сейчас находится в фокусе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 14:11 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexey Veselovsky писал(а):
По моему, он работает с текстом текущего уровня, т.е. с тем, что сейчас находится в фокусе.
А ещё есть DevCompiler.CompileSelection который работает с выделением в тексте, который сейчас находится в фокусе. Ваша задача всё усложняется :mrgreen:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 14:16 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexey Veselovsky писал(а):
Иван Горячев писал(а):
Компилятор ББ работает только с текстом верхнего уровня. Это в общем логично - вложенные тексты обычно служат для иллюстраций и комментариев.

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

В разработке обычно используется Compile, которая вызывается для корневого документа, и CompileThis которая отрабатывает список "корневых текстов" из документов.

CompileSelection или компиляция (при пом. Compile) вложенного текста - это редкие случаи, которые (насколько я встречал) используются только для иллюстраций и примеров.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 14:17 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Евгений Темиргалеев писал(а):
Alexey Veselovsky писал(а):
По моему, он работает с текстом текущего уровня, т.е. с тем, что сейчас находится в фокусе.
А ещё есть DevCompiler.CompileSelection который работает с выделением в тексте, который сейчас находится в фокусе. Ваша задача всё усложняется :mrgreen:


В принципе да, вначале может идти просто текст, а потом уже исходник, чтобы скомпилировать его пользователь просто выделит исходник и собственно скажет "скомпилируй мне".

Но для меня это уже не важно :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат .ODC
СообщениеДобавлено: Воскресенье, 25 Апрель, 2010 14:33 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Для ещё большего усложнения задачи напомню о DevSelectors и StdFolds. И возможности управления селекторами при компилировании ;)


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

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


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

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


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

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