Выгрузка в формат *.ods (OpenDocument, электр. таблица)
Модератор: Модераторы
Выгрузка в формат *.ods (OpenDocument, электр. таблица)
Никто не встречал компонентов для этих целей?
Или в Делфях?
Или в Делфях?
-
GodDog
- незнакомец
- Сообщения: 6
- Зарегистрирован: 25.01.2007 18:16:52
- Откуда: Россия
- Контактная информация:
сами по себе опендоки - архив, а в нем xml файлы.
фот с оф форума, оф. ссылка на компоненты http://ooomacros.org/dev.php#133853
Delphi OOo
Author: Bernard Marcelly
This is a toolbox to help programmers drive the application OpenOffice.org from the programming language Delphi using COM Automation technology. It contains:
* A unit with routines similar to some OpenOffice.org Basic routines used to access API,
* A unit which defines all API constants and enumerations
* A Delphi version of the Xray tool
* Typical programming examples and all source code
* A HowTo describing the toolbox
The source code included in the package is released under the LGPL. The instruction document is released under the Public Documentation License version 1.0
фот с оф форума, оф. ссылка на компоненты http://ooomacros.org/dev.php#133853
Delphi OOo
Author: Bernard Marcelly
This is a toolbox to help programmers drive the application OpenOffice.org from the programming language Delphi using COM Automation technology. It contains:
* A unit with routines similar to some OpenOffice.org Basic routines used to access API,
* A unit which defines all API constants and enumerations
* A Delphi version of the Xray tool
* Typical programming examples and all source code
* A HowTo describing the toolbox
The source code included in the package is released under the LGPL. The instruction document is released under the Public Documentation License version 1.0
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Гляньте http://sourceforge.net/projects/uno-pas-bridge Я - соавтор, вопросы лучше задавать публично, а не в личку.
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
Да, не углядел за точкой, прошу пардону.
Поподробнее: мост позволяет общаться с OpenOffice (а точнее, с UNO) из Delphi/Kylix напрямую, минуя (в случае Винды) OLE Automation. Мост однонаправленный, т.е. не позволяет писать свои компоненты для UNO (например, обработчики событий).
Во FreePascal мост пока завести невозможно, т.к. а) не полностью поддерживается TCustomVariantType и б) нет пакетов.
Поподробнее: мост позволяет общаться с OpenOffice (а точнее, с UNO) из Delphi/Kylix напрямую, минуя (в случае Винды) OLE Automation. Мост однонаправленный, т.е. не позволяет писать свои компоненты для UNO (например, обработчики событий).
Во FreePascal мост пока завести невозможно, т.к. а) не полностью поддерживается TCustomVariantType и б) нет пакетов.
-
CoverStory
- новенький
- Сообщения: 95
- Зарегистрирован: 09.02.2006 17:21:42
- Откуда: Семипалатинск
PublicJoke писал(а):Гляньте http://sourceforge.net/projects/uno-pas-bridge Я - соавтор, вопросы лучше задавать публично, а не в личку.
Наконец-то дошли руки посмотреть и занятся вплотную.
В делфи 7 при запуске ConsoleTest выдало сообщение: "Приложению не удалось запустится, поскольку sal3.dll не был найден. Повторная установка приложения может исправить эту проблему."
Как ищется sal3.dll? Папке OpenOffice она есть.
И еще.
Возможна ли работа с Вашей программой из FreePascal?
Например, откомпилировать Delphi_uno.dll и OO_delphi_bridge.bpl в Делфи, но обращаться к ним из FreePascal?
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
AV в uno pascal bridge
PublicJoke писал(а): Я - соавтор, вопросы лучше задавать публично, а не в личку.
Вопрос соавтору: посвежее чего-нибудь есть? В том 0.9.2, что по ссылке, сильно неряшливый код, смахивает на альфу.
Кроме того, пишу:
var v,x: Variant;
begin
v:= unassigned;
x:= unassigned;
v:= UNOQueryInterface(fDesktop, 'com.sun.star.frame.XDesktop');
x:= v.getCurrentComponent;
и в последней строчке получаю AV в процедуре:
procedure TUNO_Pascal_proxy.acquireInterface; cdecl;
begin
Inc(fReferencesCounter);
pUnoInterface^.acquire(pUnoInterface);
// AV в предыдущей строке
end;
То же самое при x:= v.getCurrentFrame;
а вот, например, getCurrentComponents работает нормально.
Это как-то связано с изменениями API или можно в самом мосте поправить?
-
PublicJoke
- новенький
- Сообщения: 41
- Зарегистрирован: 04.07.2006 12:21:07
To Иван Шихалев:
Пакеты уже не причем, мост худо-бедно работает с FreePascal.
To ssl:
Касательно неряшливого кода: мы с коллегой занимались мостом по собственной инициативе, на нас ничего не давило. Не было стимула особо напрягаться. Ваш пост - ПЕРВЫЙ с конкретной критикой моста вообще. Чем больше обоснованной критики, тем выше качество результата, так что не сдерживайте себя
.
По существу: коллега, занимавшийся собственно кодированием, обещался ответить сегодня вечером.
Пакеты уже не причем, мост худо-бедно работает с FreePascal.
To ssl:
Касательно неряшливого кода: мы с коллегой занимались мостом по собственной инициативе, на нас ничего не давило. Не было стимула особо напрягаться. Ваш пост - ПЕРВЫЙ с конкретной критикой моста вообще. Чем больше обоснованной критики, тем выше качество результата, так что не сдерживайте себя
По существу: коллега, занимавшийся собственно кодированием, обещался ответить сегодня вечером.
uno pascal bridge
PublicJoke писал(а):Касательно неряшливого кода Ваш пост - ПЕРВЫЙ с конкретной критикой моста вообще.По существу: коллега, занимавшийся собственно кодированием, обещался ответить сегодня вечером.
Вах! -- Первый ...! :)
Не, я не критикую - сами пишем, всё знакомо. Просто альфу использовать где-то кроме теста страшновато :)
Если вы со товарищи проэктец не забросили, давайте свежачок - раскритикую. И почистить помогу.
Контора собирается переезжать на линух, так что актуально..
Если что - sl(собака)nist.ru
Зарегистрировался таки ... фух ...
Всем здравствуйте. Я и есть "со товарищи"
to ssl:
Признаю - виновен. Bug известный, обнаружен сразу после публикации v.0.9.2
В вашем случае v.getCurrentComponent не должен ничего вернуть:
getCurrentComponent - provides read access to the component inside the tree which has the UI focus
Мост же помещал "ничего" в обертку и вызывал acquire. Уже исправлено.
исправленный вариант (последний, с которым сам работаю) выслал на почту[/quote]
Всем здравствуйте. Я и есть "со товарищи"
to ssl:
Признаю - виновен. Bug известный, обнаружен сразу после публикации v.0.9.2
В вашем случае v.getCurrentComponent не должен ничего вернуть:
getCurrentComponent - provides read access to the component inside the tree which has the UI focus
Мост же помещал "ничего" в обертку и вызывал acquire. Уже исправлено.
исправленный вариант (последний, с которым сам работаю) выслал на почту[/quote]
Вай, спасибо!
Только как же так - "ничего"?
В ОЛЕ варианте я получаю интерфейс текущего документа - дабы иметь возможность работать со страничкой, в которую ткнул пользователь.
Я только неделю ковыряю ОО, от непривычности доки и самого стиля АРI тихо едет крыша, так что пардон, если вопросы малость дурацкие :)
Только как же так - "ничего"?
В ОЛЕ варианте я получаю интерфейс текущего документа - дабы иметь возможность работать со страничкой, в которую ткнул пользователь.
Я только неделю ковыряю ОО, от непривычности доки и самого стиля АРI тихо едет крыша, так что пардон, если вопросы малость дурацкие :)
