кто что использует при создании отчетов под Lazarus?

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

RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

кто что использует при создании отчетов под Lazarus?

Сообщение RusDeveloper »

кто что использует и какие впечатления? приветствуется описание достоинств и недостатков генераторов отчетов, например, таких как FastReport, LazReport, FlexCel и т.д. и т.п.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

LazReport - хватает полность. Есть недостатки - по мере сил правим.
Аватара пользователя
rayanAyar
новенький
Сообщения: 42
Зарегистрирован: 06.01.2011 07:22:52
Откуда: Новоуральск

Сообщение rayanAyar »

Собственный велокостыль. :) Экспортирую в LibreOffice с помощью LibreOffice Basic.

1. Софтина на лазарусе формирует файл с данными (CSV).
2. Софтина запускает LibreOffice (безголовый, невидимый).
3. Макрос в LibreOffice читает заданный файл и подставляет строки в предварительно созданный и отформатированный шаблон, формируя красивый документ.
4. По окончании работы офиса - софтина показывает юзеру готовую ODS-ку.

Плюсы:
1. Кроссплатформенность (в данный момент используется на Ubuntu/WinXP/Win7).
2. Формирование шаблона стандартными средствами офиса в самом офисе. Быстрая и удобная корректировка шаблона. Возможность корректировки шаблона даже пользователем (хоть и не любым).
3. После формирования ODS-ки пользователь по необходимости может её поправить немножко (или множко).
4. LibreOffice Basic даёт полный доступ ко всему функционалу LibreOffice (любое форматирование, диаграммы, рисование...).
Минусы:
1. Длительное формирование.
2. Очевидно, без установленного офиса не будет работать (может работать с portable-версией, но будет ещё тормознее).
3. LibreOffice Basic это не LazReport - все действия по формированию строк с данными приходится программировать самостоятельно.
4. Разрыв мозга от всего этого творчества. :) Но лучше ничего пока не придумал, с LazReport-ом мучался довольно долго - он так и не смог удовлетворить всем моим требованиям.
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

а готовых компонентов для формирования отчетов в OpenOffice нет? чтобы кинуть на форму компонент, в OpenOffice накидать шаблон отчета и вуаля: отчет готов. нет такого для Лазаруса?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

RusDeveloper, есть компонент работы с опен/либре офисом, по идее, никто не мешает использовать его. У меня практикант и в экселе программно файл формировал на лету. По сути, получался тот же отчет.
Аватара пользователя
rayanAyar
новенький
Сообщения: 42
Зарегистрирован: 06.01.2011 07:22:52
Откуда: Новоуральск

Сообщение rayanAyar »

Лекс Айрин писал(а):У меня практикант и в экселе программно файл формировал на лету.

В MS Excel - это значит "только винды".

Лекс Айрин писал(а):есть компонент работы с опен/либре офисом

Не поделитесь опытом какой?
Сколько я пробовал - либо OLE (т.е. опять же - "только винды"), либо не работают/заброшены.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

В MS Excel - это значит "только винды"
можно и не только - fpspreadsheet.
а готовых компонентов для формирования отчетов в OpenOffice нет?
есть. Только не визуальные. Даже тут, на форуме.
Так же, вроде как и в ворд есть - fpvectorial (http://wiki.lazarus.freepascal.org/fpvectorial_-_Text_Document_Support).

п.с.
Было бы желание искать/делать...

Хм... FlexCel вроде встречал порт для лазаря.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

rayanAyar да на форуме светился, насколько я помню, только один компонент -- viewtopic.php?f=24&t=7297 если найдешь что-то еще, то рад бы посмотреть.

а насчет Оли... ему это подходило.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Пишу отчёты через OpenOffice

Код: Выделить всё

//******************************************************************************
//*                    Written by Yuri (aka Yuric74)                           *
//*           http://www.sql.ru/forum/actualthread.aspx?tid=405083             *
//*                 all version at http://yuri.elmeh.ru                        *
//******************************************************************************
unit uOpenOffice;

Качаем, далее:
"Сервис" -> "Преобразование кода на Delphi" -> "Преобразовать проект Delphi в проект Lazarus..." - > OpenOfficeTest.dpr
Игнорируем отсутствующий модуль stdVCL.
Затем запускаем на исполнение и вычищаем косяки.

По кругу: Ctrl-F9 - замена:
1. Заменяем все .String на .AsString
2. Всякие такие штуки, типа
FTableObj.BreakType:=Value; меняем на FTableObj.BreakType:=Ord(Value);
SF.Location:=Value.Location; меняем на SF.Location:=Ord(Value.Location);
ParentSheetObj.InsertCells(TCRA,Mode); меняем на ParentSheetObj.InsertCells(TCRA,Ord(Mode));
и т.д. пока не закончатся ошибки в модуле uOpenOffice.

Потом в проекте uMain, который мы преобразовывали, полезут ошибки, но это нам пофиг.
Главное, подогнан под Lazarus модуль uOpenOffice.
В своём проекте даём путь к модулю и работаем со всей мощью OpenOffice.

1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rayanAyar
новенький
Сообщения: 42
Зарегистрирован: 06.01.2011 07:22:52
Откуда: Новоуральск

Сообщение rayanAyar »

pupsik писал(а):fpvectorial

pupsik писал(а):fpspreadsheet.

sign писал(а):uOpenOffice

Пробовал. Слабовато.
По-определению не может быть полностью функционально, так как это самостоятельные генераторы - они не используют офис. А полностью весь офис не перепишешь.
Кроме того они не универсальны - ни у одного нет поддержки и ODT и ODS (а мне нужны оба типа документов).

И fpvectorial это немного другое, насколько я понимаю. Он ведь не может генерировать офисные документы?

В идеале нужен UNO Bridge с паскаля (как OLE, только кроссплатформенный протокол). Я где-то даже находил такой модуль. Но заставить его работать не смог. И авторами проект заброшен.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

rayanAyar писал(а):
sign писал(а):uOpenOffice

Пробовал. Слабовато.
По-определению не может быть полностью функционально, так как это самостоятельные генераторы - они не используют офис. А полностью весь офис не перепишешь.
Кроме того они не универсальны - ни у одного нет поддержки и ODT и ODS (а мне нужны оба типа документов).

uOpenOffice не генератор.
Вы невнимательны, или путаете с другим пакетом.
Вот вам одна из процедур, по которой всё ясно:

Код: Выделить всё

procedure TOpenOffice.SetConnect(const Value: Boolean);
var
  SM: Variant;
begin
  if Value then
    begin
      try
        SM:=CreateOleObject('com.sun.star.ServiceManager');
        if (VarType(SM)=varDispatch) then
          FDesktop:=SM.CreateInstance('com.sun.star.frame.Desktop');
      except
        FDesktop:=Unassigned;
      end;
    end
  else
    begin
      FreeVariants;
    end;
  SM:=Unassigned;
end;

Заметили строку - CreateOleObject('com.sun.star.ServiceManager')?
Надеюсь, что смысл вам понятен.

Пакет, на который я ссылаюсь, как раз использует всю мощь офиса!
Аватара пользователя
debi12345
долгожитель
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 »

А почему не PDF ? (у духе PHPшнго TCPDF).
Заточен под печать, платформенно-независим, шрифты можно встраивать прямо в документ. Эти шрифты можно сделать маленькими (15..20к Байт), если отсеять только нужный набор символов юникода. Итого получаем размер файла отчета 20+ КБайт.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Пробовал. Слабовато.
Тогда берите блокнотик и вперед писать свое "сильное".

Пакет, на который я ссылаюсь, как раз использует всю мощь офиса!
в винде...

А почему не PDF ?
да не..е, это вообще слабо. :mrgreen:
Аватара пользователя
debi12345
долгожитель
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 »

да не..е, это вообще слабо.

Еcть еще саморапортующие форматы - PZHV("по щучьему велению") и PMH ("по моему хотению")...
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

debi12345 это ещё слабее :twisted:
Ответить