Выгрузка в формат *.ods (OpenDocument, электр. таблица)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение Okoshkin » 09.08.2007 16:34:40

Это при условии, что документ открыт ... вот (на скорую руку) написанный пример:
Попробуйте при открытом и закрытом документе (я тестировал writer-ом)
Код: Выделить всё
program test;
{$APPTYPE CONSOLE}
uses
  SysUtils, Variants
  ,uno_pascal_helper;
var
  xComponentContext
  ,ServiceManager
  ,DesktopService
  ,XDesktop
  ,CurComp
  : Variant;
begin
  Bootstrap(xComponentContext);
  ServiceManager := xComponentContext.getServiceManager;
  DesktopService := ServiceManager.createInstanceWithContext( 'com.sun.star.frame.Desktop', xComponentContext );
  XDesktop := UNOQueryInterface(DesktopService, 'com.sun.star.frame.XDesktop');
  CurComp := XDesktop.getCurrentComponent;
  if VarIsClear(CurComp)
    then WriteLn('Can not get CurrentComponent')
    else WriteLn('CurrentComponent was received');
end.
Okoshkin
новенький
 
Сообщения: 10
Зарегистрирован: 09.08.2007 15:33:18

Сообщение ssl » 09.08.2007 16:40:19

Okoshkin писал(а):Это при условии, что документ открыт


Фу-у-у-у..
Ясное дело, что документ был открыт :)
Я просто давно сделал экспорт данных в ОО через ОЛЕ бридж, и там работает, а вот при попытке повторить через этот мостик не вышло.

Спасибо, как только почта доберётся - доложу о результатах.
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение alexs » 09.08.2007 20:58:20

а всем остальным исправления будут даваться? идея то очень нужная :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Okoshkin » 09.08.2007 22:37:26

Конечно будут ... только нужно определиться с механизмами.
(не выкладывать же каждый раз релиз :) на sf.net )

Есть интерес - будет и результат !
Okoshkin
новенький
 
Сообщения: 10
Зарегистрирован: 09.08.2007 15:33:18

Сообщение alexs » 10.08.2007 00:35:42

заведи там svn - все остальный будут иметь текущую версию исходников :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение ssl » 10.08.2007 09:43:59

alexs писал(а):заведи там svn - все остальный будут иметь текущую версию исходников :-)

О! SVN - самый правильный выбор!
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение Okoshkin » 10.08.2007 09:49:53

Обязательно заведем ... только текущие дела разгребем и сделаем :(
Okoshkin
новенький
 
Сообщения: 10
Зарегистрирован: 09.08.2007 15:33:18

Сообщение Okoshkin » 10.08.2007 17:05:12

Ну вообщем решили пока сделать так:
http://uno-pas-bridge.sourceforge.net/pre-release.php
Okoshkin
новенький
 
Сообщения: 10
Зарегистрирован: 09.08.2007 15:33:18

Lnux и пр. *nix и uno-pas-bridge

Сообщение ssl » 15.08.2007 11:35:02

Я чего-то туплю :(
Под виндами бридж работает. Но! Задача - переползти на линух, причём сейчас, а переписывать систему потом. Под wine всё работает, кроме, ессесно, экспорта в Ексель. Поставленный под тем же wine виндузовый ОО таки работает, но попытки зацепить его ОЛЕ или uno-pas-bridge (прилагаемый ConsoleTest; под wine, ессесно) обламываются. Я понимаю, что это гланды через одно место, но другого способа никак не соображу. Вообще, можно как-нибудь виндовое Delphi-приложение научить работать с ОО, установленном в *nix? Не важно, каким - натуральным ОО или из-под wine запускаемым, - нужен таймаут на переписывание.
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение PublicJoke » 15.08.2007 11:51:34

Предложение: завести отдельную ветку, что-нибудь типа "FreePascal и OpenOffice".

По поводу Вашего проекта: не проще ли пока попробовать CrossKylix? У нас скомпиленные им мост и ConsoleTest работали в Линухе успешно. Сотворите специальный переходник с необходимой Вам функциональностью, а с ним уже хоть через сокеты общаться можно.
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение ssl » 15.08.2007 12:07:18

Боюсь, кросс-киликс не поможет. :(
Дофига платформо-зависимого кода в компонентах для некоей СУБД.
Да и в приложении WinAPI вызовов немало.
Пока почистим..

Ладно, намёк на double brige понял. Попробую разные варианты.
Я так понимаю, мост, собранный CrossKylix'ом "пристаёт" к родному линуксовому ОО?

Кстати, в догонку: беда с назначением границ ячеек. Присваивание leftBorder диапазону влёчёт простановку этой границы у всех ячеек диапазона. Хотя мышкой можно заставить проставить только внешние границы, не затрагивая уже проставленные. Я сначала пытался проставлять границы, манипулируя диапазоном ячеек, но оказалось, что первое присваивание какой-либо границы стирает все остальные.
:( Я чего-то не доглядел в документации?
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение PublicJoke » 15.08.2007 12:21:54

Я так понял, что основная прога из-под Wine-таки пускается (без функций экспорта)? Если да, то какие проблемы?

Я так понимаю, мост, собранный CrossKylix'ом "пристаёт" к родному линуксовому ОО?

Так точно.

По поводу границ: вопрос слишком специфический для нас. Попробуйте для начала сделать это через OLE, чтобы выяснить, в чем причина: в Вашем непонимании или в косяках моста.

Молчание - знак согласия, завожу новую ветку, ссылка: http://freepascal.ru/forum/viewtopic.php?p=15361
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение ssl » 15.08.2007 12:50:01

Ну, для double bridge никаких, конечно. Я про киликс писал.

Я из ОЛЕ и пытался. Я сначала нашёл хороший примерчик работы с ОЛЕ-мостом, на нём докрутил, потом за ваш бридж принялся :)
Вот из-под ОЛЕ оно и никак.
Я просто так понял, что вы при помощи моста отчёты в ОО сливаете, ну а там как же без границ-то :)

Спасибо ещё раз, пошёл воевать с пайпами..
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Сообщение AMD » 05.02.2008 12:40:36

У ООО очень тупой API
AMD
постоялец
 
Сообщения: 189
Зарегистрирован: 23.01.2008 22:25:25
Откуда: Кишинев

Сообщение Attid » 05.02.2008 17:07:45

ev а у нас в правилах по поводу флудерства ничего нет ? :?:
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Пред.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 25

Рейтинг@Mail.ru