Подписка

Проекты

Сборник идей для разработок в Delphi и использования их в Интернет. Участвуй в работе коллективного разума!

Google API в Delphi - проект с открытым исходным кодом.


А тут я коплю на лицензию Delphi 2011. Сумма пожертвования не фиксирована.

Друзья блога

Блоги и сообщества

DelphiFeeds.ru - Все Delphi-блоги Рунета О раскрутке блога по программированию Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Статьи по Delphi

Счётчики


Анализ веб сайтов

Рейтинг блогов




Система Orphus

  • 09Dec

    Собственно сегодня прошел ровно месяц с того дня как я установил на свой компьютер Ubuntu и Lazarus. В принципе, могу сказать, что в целом я вполне доволен как новой ОС, так и Lazarus’ом. По крайней мере не было “ломок” по поводу отсутствия какого-либо софта, “незаменимых” функций Windows, игрушек  и т.д. Всего хватает и, можно даже сказать, жалею теперь, что не перешел под Ubuntu раньше.

    Но всё-таки, иногда приходится “работать напильником”. В начале, немного фактов о Lazarus, которые меня приятно удивили.

    Во-первых, что касается удобства работы с VCL. К примеру, StringGrid. Не знаю, в чем были проблемы у Borland, CodeGear, а теперь и у Embarcadero, но по-моему до сих пор  стандартный StringGrid в Delphi заполняется только в рантайме. Жутко неудобно.

    В Lazarus работа с таблицами организована, можно сказать, на высоте. Хочешь – заполняй в дизайнтайме, хочешь – задавай свойства каждого столбца в отдельности. Надо сделать, чтоб в ячейке был CheckBox – не проблема. ' '

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

    Во-вторых, работа с базами данных. В состав Lazarus уже включены все необходимые компоненты для работы с MySQL. Не надо рыскать по Интернету в поисках необходимых компонент,  что-то настраивать, налаживать, отлаживать – все готово к использованию. Опять же экономит время, силы и нервы.

    Есть ещё кучи мелочей, которые представляют Lazarus с наилучшей стороны.

    Но есть и моменты, когда ностальгия по Delphi просто дикая. В частности на текущий момент есть три вопроса, которые очень сильно напрягают.

    1. В плане работы с Интернет. Не скажу, что в Lazarus отсутствуют компоненты для работы с Интернет. Они, конечно же есть и, как и полагается, абсолютно бесплатны, но на текущий момент пока не нашел компонентов или библиотек для работы с Сетью, удовлетворяющих двум простым условиям:

    1. Простота в установке и использовании.
    2. Функциональность на уровне WinInet.

    Нашел даже Indy под Лазарус, но почитав отзывы пользователей, решил повременить с установкой.

    Ну, а для разбора содержимого web-страниц препятствий вроде бы нет – DOM поддерживается полностью.

    Кстати про сайты. Если Вас интересует разработка сайтов, обращайтесь к профессоналам.

    2. Работа с регулярными выражениями. Собственно пока здесь глубоко не влезал в исходники, но, судя по тому, что нашел Lazarus поддерживает работу с регулярными выражениями. А вот КАК и на каком уровне поддерживается работа – пока загадка. Думаю, что найду время разобраться по-подробнее. Хотя сейчас есть проблема №3….

    3. Работа с офисными приложениями. Что касается Lazarus для Win32, то тут проблем нет. В Windows для Лазаруса можно подцепить тот же модуль для работы с OLE и спокойно работать хоть с PowerPoint’ом….Но мне-то нужна работа и под Linux.

    Первое, что огорчило – это отсутствие какой-либо внятной документации по работе с OpenOffice из приложений на Pascal/Delphi/Lazarus. Есть один пример и тот под Win32 м тот оказался глючным. Обидно, блин.

    Попробовал порыться в области UNO bridge для Lazarus – в русскоязычном сообществе Lazarus ребята решили самостоятельно разработать мост для управления OpenOffice из своих приложений, но опять же основной упор делается на Win32, под Linux нужен гигантских размеров напильник….

    Вот теперь и думаю: не сегодня так завтра надо уже вплотную приступать к разработке модуля по составлению отчётной документации,  времени работать напильником совершенно не остается. Как быть? Что использовать, чтобы и под Win32 и под Linux модуль работал как часы и составлял отчётность? Как вариант, конечно можно писать файл OpenOffice самому…но, что-то мне подсказывает должен быть какой-то вариант ещё. Более простой вариант.

    Поэтому, уважаемые читатели блога Webdelphi.ru, если у Вас есть идеи, варианты, примеры по работе с OpenOffice в Lazarus (под Linux) очень прошу – поделитесь полезной информацией. Не хотелось бы вручную собирать файл *.odf

    Related posts:

    1. Lazarus. Кроссплатформенный документооборот.
    2. Lazarus: оптимизируем размер исполняемого файла.
    3. Linux, Lazarus и немного мыслей вслух.
    4. Lazarus: автоматическое сохранение индивидуальных настроек приложения

    Автор Vlad в 5:48 am

    Метки: , , , ,

14 Comments

WP_Cloudy
  • Sergey пишет:

    html?

  • Kirill Krasnov пишет:

    Есть Synapse, который как уверяет Лукас работает с Lazarus.
    Что с TRegExpr? Или она только под винду?
    Согласен с Сергеем. Что у Лазаруса с PDF?

  • Vlad пишет:

    Синапс скачал, надо будет проверить его. Судя по отзывам вещь стоящая, вроде бы даже круче Indy. С TRegExpr…есть этот тип в Лазаре, но вот сам механизм работы с регулярными выражениями построен по другому. Благо в модуле есть внятный комментарий со ссылкой на литературу :) Буду изучать книжки.
    По поводу PDF и HTML. Дело в том, что чисто технически обеспечить составление отчётов в этих форматах можно и даже довольно просто, НО необходимо дать возможность тому кто работает с программой в составленный отчёт вносить коррективы (если это необходимо), например, давать пояснение почему использовался какой-нибудь коэффициент, добавлять описание какого-либо оборудования и т.д. потому что как бы я не старался сделать программу универсальной, учитывающей все тонкости методик, регламентов – такого к сожалению не сделать никогда. К сожалению в экологии нормативная база имеет свойство меняться по 3 раза на дню :) Вот и получается, что рыть надо в сторону документов офиса я же не заставлю 50-ти летнего инженера в срочном порядке изучать HTML :) Мне ещё предстоит его приучать к программе

  • Sergey пишет:

    Для отчётов с чистыми таблицами – csv
    Для форматированных документов – rtf
    А вообще очень помогает в этом деле FastReport, он правда платный и я не знаю на сколько дружит и Lasarus, но мы сейчас реализовали на нем систему, когда нет нужды разрабатывать отчет в  Delphi, а любой пользователь может создать свой в уже запущенном приложении, при условии знания sql. Если Пользователя чем-то не устраивает отчет, то может спокойно выгрузить в rtf и открыть в Word или OpenOffice

  • Vlad пишет:

    У Lazarusа есть LazReport – аналог Fast Report, а вот знания sql у пользователей точно нет. Некоторые даже Excel толком не знают – отсюда- то вся проблема и идёт. А отчёт должен содержать: описательную часть (что считается, по какой методике, кем и т.д.), далее расчётные формулы (здесь кстати OpenOffice очень удобен – формулы в XML хранятся) и далее туча таблиц, включая сводные. И всё это в одном файле. Видимо придётся досконально изучать формат OpenOffice.

  • IL пишет:

    А стандарт Ecma Office Open XML (ECMA-376) для генерации *.docx и *.xlsx можно применить? OpenOffice с ними работает с 3-й версии, и для MS Office они как родные.
    Описание форматов на сайте Майкрософт еще не закончено и датировано 5.11.2009:
    Формат Word – http://msdn.microsoft.com/en-us/library/dd773189.aspx (81 страница в PDF)
    Excel – http://msdn.microsoft.com/en-us/library/dd922181.aspx (186 страниц)
    На  русском читаю книгу Воутер Ван Вугта “Open XML кратко и доступно” в которой очень много примеров.

  • Vlad пишет:

    Что касается XML, то не важно чей он – от OpenOffice или от M$ – Lazarus вполне сносно работает с XML. Другое дело, что не хотелось бы ручками весь документ составлять, прописывать каждый тэг и т.д., а использовать OLE в Linux по определению невозможно. Судя по тому, что сейчас есть в наличии по работе с OpenOffice – придётся делать всё вручную. По поводу удобства работы с форматами, могу сказать, что формат OpenOffice выглядит более читабельным и понятным, чем Word 2003, а docx надо глянуть. Спасибо за ссылки

  • Виктор пишет:

    http://regexpstudio.com/ – прекрасно работает с Lazarus

  • Vlad пишет:

    Хм..может и работает, только сайт почему-то не грузится. Адрес точно такой?

  • Kirill Krasnov пишет:

    Сайт судя по всему в дауне

  • aktuba пишет:

    >>В Lazarus работа с таблицами организована, можно сказать, на высоте. Хочешь – заполняй в дизайнтайме, хочешь – задавай свойства каждого столбца в отдельности. Надо сделать, чтоб в ячейке был CheckBox – не проблема.
    Хм… Я от стандартных StringGrid/DrawGrid отказался, как только узнал о VirtualTreeView. Последний в самой Delphi используется ;).

  • Алексей Тимохин пишет:

    +1 для Synapse.
    После того как я только один раз просмотрел список юнитов и функций в файле справке, я перестал использовать Indy вообще. (впрочем, я и до этого с ним работал нечасто :D).
    StringGrid в Delphi – тьфу-тьфу-тьфу – намучался с ним когда только учил Delphi. С тех пор как стал писать DB-приложения, использую только DbGrid-ы. Даже если необходимо работать с локальными данными беру ClientDataset + DbGrid.

  • Алексей Тимохин пишет:

    Посмотрел LazReport (nice prefix, btw:D ) и первое что бросилось в глаза – лицензия LGPL. И тут я вспомнил в чём засада компонентов для Lazarus-а. Они в большинстве своём либо GPL либо LGPL. :(

  • Vlad пишет:

    По лицензиям да, есть такая заморочка. Но с другой стороны я особо ни от кого исходники никогда не прятал. Надо будет умыкнуть чего – так Delphi всегда под рукой :)
    А в Lazarus’e кстати по функциональности DBGrid и StringGrid одинаковы, поэтому никаких ClientDataset не требуется.

Ваш ответ

Внимание: Все комментарии модерируются, и это может вызвать задержку их публикации. Отправлять комментарий заново не требуется.

Пожалуйста, заключайте исходный код в тэги [code][/code].