OberonCore
https://forum.oberoncore.ru/

Стандартный конвертор документов
https://forum.oberoncore.ru/viewtopic.php?f=1&t=1171
Страница 1 из 1

Автор:  I.D.30 [ Вторник, 30 Сентябрь, 2008 10:44 ]
Заголовок сообщения:  Стандартный конвертор документов

Здравствуйте! Начал изучать BlackBox недавно,
решил в него перенисти свою старую программу, и создать в итоге EXE приложение (в форуме нашел многие ответы) проблем особых не возникло.
Программа выполняет некоторые расчеты ввод данных осуществляется из формы, результат выводится в новое окно. Результат можно редактировать, сохранить как документ BlackBox, распечатать и т.п.

Вопрос: каким образом при сохранении документа оставить только один конвертер "rtf", мешает первый элемент в списке конверторов, Конвертор документов BlackBox.?

Автор:  Илья Ермаков [ Вторник, 30 Сентябрь, 2008 14:50 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

В модуле Init, процедуре Init есть строчка, регистрирующая конвертер документов ББ:
Converters.Register("Documents.ImportDocument", "Documents.ExportDocument", "", "odc", {});

Порежьте её.

Автор:  Info21 [ Вторник, 30 Сентябрь, 2008 15:45 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

Илья Ермаков писал(а):
В модуле Init ..

не Config?

Автор:  Илья Ермаков [ Вторник, 30 Сентябрь, 2008 15:52 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

В том и фишка, что в Config прошиты дополнительные конвертеры (человек их уже отключил, судя по вопросу).
А основной - в Init.

Автор:  I.D.30 [ Среда, 01 Октябрь, 2008 15:55 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

Ненужные конвертеры в Config отключил, в init отключил конвертер документов ББ.

После загрузки ББ в меню file->open список "тип файлов:" содержит первый элемент Document(*.odc), от которого и

надо избавится. Хотя конвертер документов ББ и отключен, но элемент в меню присутствует.

после "анализа" пришел к модулю HostDialog

PROCEDURE GetExtSpec* (
s: Stores.Store; VAR loc: Files.Locator; VAR name: Files.Name; VAR conv: Converters.Converter
);
BEGIN
......
......
i := 0; SAppend(filter, i, t); SAppend(filter, i, " (*.odc)"); INC(i);
SAppend(filter, i, "*.odc"); INC(i); n := 1;
......
......

END GetExtSpec;

PROCEDURE GetIntSpec* (VAR loc: Files.Locator; VAR name: Files.Name; VAR conv: Converters.Converter);

......
......

i := 0; SAppend(filter, i, t); SAppend(filter, i, " (*.odc)"); INC(i);
SAppend(filter, i, "*.odc"); INC(i); n := 1;
......
......

END GetIntSpec;




Видимо что-то здесь подправить надо?

Автор:  Илья Ермаков [ Среда, 01 Октябрь, 2008 18:36 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

А Вы пункт меню Открыть направьте не на HostCmds.Open, а на свою процедуру, которая будет почти такая же, как в HostCmds, только вместо HostDialog.GetIntSpec напишите Dialog.GetIntSpec, а неё передайте тип по умолчанию "rtf" (см. документацию модуля Dialog). И будет уже пофиг, что в списке ещё и odc ниже болтается.

Автор:  I.D.30 [ Пятница, 03 Октябрь, 2008 21:57 ]
Заголовок сообщения:  Re: Стандартный конвертор документов

Спасибо за помощь, все получилось!

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