Проект группы энтузиастов

 Обновлено  

 

Багз Фри QuickReport 3


А это что еще такое и зачем?

     Не будем приводить здесь список всех ошибок в пакете QuickReport, поставляемом в комплекте с Delphi. Это всем известно. Сами напоровшись на мины и намучавшись, еще года четыре назад принялись потихоньку исправлять сей замечательный продукт. Начали с Preview, а дальше пошло-поехало. Были еще какие-то надежды на QR 3.0.х, но и они с треском рассыпались. Ситуация авторами QR выправляется, но темпами путешествия черепахи на Луну. Поэтому потратив энное количество времени, был совершен мужественный потуг и вот ОН, качественно обновленный милый взгляду QR )).
     Теперь о ...зачем?. Да нравится он нам! Не глючностью и кривостею реализации своею, а токмо стройностью замысла и легкостью добавления новых компонент, функций и экспортов. Тем более, что найти готовые компоненты для QR не составляет труда. Некоторые были успешно втащены в базовый пакет. И еще одно - кому хочется перерисовывать порядка 50 уже наточенных отчетов?

Что мы намутили?

     За основу был взят QR 3.0.8. Вот что было изменено:
=> все визуальные компоненты имеют теперь в качестве предка TQRrPrintable = class(TQRPrintable), в котором есть метод Print(OfsX, OfsY: Еxtended) вместо Integer как в TQRPrintable. В TQRPrintable добавлен метод PrintInt(OfsX, OfsY: Еxtended) (тоже самое);
=> добавлены компоненты TQRCheckBox (галочки и крестики), TQRGrid (табличка в отчете), TQRDBGridReport (печать содержимого TDBGrid), TQRColumnPageSetup & TQRPageSetup (настройка отступов и колонок);

Preview
=> изменен TQRPreview (возможность просмотра нескольких отчетов в одной форме (метод AddPreview); события: OnSwapPrinter (смена или обновление отчета), OnAddPrinter (добавление отчета), OnRemovePrinter (удаление отчета); методы: Add, Remove, SwapPrinter; свойства: PrintersCount, ActivePrinterIndex, QRPrinters[], PrinterList, ReportTitles);
=> напрочь заново сделана форма Предварительного просмотра ("покрутел" ToolBar, zoom c шагом 10 до 2000%, горячие клавиши на все функции, сохранение во все зарегистрированные форматы экспорта, настройка отступов и количества колонок, более удобное листание страниц) + теперь есть два метода вызова - Preview и PreviewModal;
=> после закрытия просмотра или печати память возвращается взад (TQRPrinter порожден от TComponent и все принтеры собираются в TQRPrintersPool = class(TPersistent));

TQRCustomLabel
=> добавлено свойство Indent (.Left, .Right, .Top, .Bottom) - отступы текста от фрейма;
=> добавлено свойство Degree - угол поворота (900 = 90°);
=> изменен редактор свойств Caption и TCustomQuickRep.ReportTitle - многострочный редактор;

=> добавлено свойство TQRCustomBand.Transparent;
=> добавлены свойства TQRPrintable.StretchFrameToTop & StretchFrameToBottom - растягивать фрейм до начала & конца полосы;
=> Summary печатается в конце колонки отчета, а не всей страницы;
=> фреймы теперь успешно находят друг друга на пересечениях и видны в DT;
=> палки фреймов не пропадают при просмотре;
=> DT теперь больше соответствует RT;
=> свойствам добавлены значения default, от чего формы поужались процентов на 10 и более;
=> русифицировано все или почти все;
and more, more details...
     Конечно, Багз Фри - это только недалекое будущее, но больной уже садится на кровати и не писает мимо утки.

А вот и дозревающие плоды...

Delphi 5 и BCB 5: UPDATED 18.05.01
  3.0.8.8 ProFull bfqrfull.zipСкачать (1 589K). Без исходных текстов.
  3.0.8.8 ProLite bfqrlite.zipСкачать (1 577K). Без исходных текстов, "поддержки" BDE и редакторов свойств компонент для QREditor.
Delphi 6: NEW 24.03.02
  3.0.8.9 ProFull bfqr6full.zipСкачать (758K). Без исходных текстов.
  3.0.8.9 ProLite bfqr6lite.zipСкачать (754K). Без исходных текстов, "поддержки" BDE и редакторов свойств компонент для QREditor.

Delphi 5,6 и BCB 5,6: UPDATED 30.04.02
  3.0.8.10  bfqrsrc.zipСкачать (240K). Исходные тексты. Архив защищен паролем, совпадающим с паролем самих QUSoft. Просьба не спрашивать его у нас.

Исправленные интерфейсы QR к пакетам третьих фирм:

  TeeChartqrtee45.zipСкачать (9K) UPDATED 01.11.00 (Добавлен файл Teedefs.inc) [только для Delphi 5]
  DuckTech Barcode qrbarcode.zip: Скачать (3K) UPDATED 30.04.02 [только для Delphi 5,6]

Если хотите, то присылайте нам свои идеи, предложения и наши ошибки. Всем будет выслан по возможности исчерпывающий ответ. Просьба указывать версию Windows, BFQR и Delphi (BCB).

Подсмотреть картинки.

Этапы большого пути.

Версия 3.0.8.10
1. Добавлена поддержка BCB 6 !!!

Версия 3.0.8.9
1. Добавлена поддержка Delphi 6 !!!
2. QRDefs.inc: добавлены DEFINE BFQR_D5 и BFQR_D6 и выкинут бред про {$define ver110}.
3. По всем модулям удалены куски для Delphi 3 (ver100) и ранее.

Версия 3.0.8.8
1. QRDefs.inc: добавлены DEFINE USE_BDE (можно отключить BDE) и USE_QREDITOR (можно отключить редакторы свойств компонент для QREditor). Действуют только в рамках пакетов qrptXr и qrptcXr.
2. Путем нехитрой игры с опциями всплыли еще несколько компонент :)) (TQuickAbstractRep, TQRLoopBand, TQREditor).
3. Теперь скомпилированный BFQR поставляется в двух вариантах: Pro Full, Pro Lite (без QREditor).

Версия 3.0.8.7
1. Добавлена поддержка BCB 5 !!!
2. Окно просмотра отчета теперь сворачивается в Панель задач и в заголовке окна вставляется Application.Title.
3. В окне просмотра отчета TSpinEdit заменен на TEdit + TUpDown.

Версия 3.0.8.6
1. Исправлена ошибка при печати TQRLabel c цветом фона, отличным от цвета полосы.
2. В предварительном просмотре добавлено
      - список открытых отчетов в виде закладок,
      - скролирование страницы отчета мышкой с нажатой левой кнопкой,
      - возможность печати всех открытых отчетов.

Версия 3.0.8.5
1. Фреймы теперь рисуются линиями. Под NT все линии теперь выглядят почти идеально.
2. Теперь заработали свойства ...Frame.Style, QRGrid.Pen.Style.

Версия 3.0.8.4
1. Исправлена ошибка при печати TQRLabel c цветом фона, отличным от цвета страницы.
2. Уменьшено количество Warnings & Hints при компиляции пакетов.
3. Удалена ссылка на RX.INC в модуле QRStrEdit.pas :-)).

Версия 3.0.8.3
Исправлены ошибки, приводившие к вылетам при закрытии формы просмотра.

Версия 3.0.8.2
1. Добавлены новые кнопки в просмотр отчета (Обновить и Настройка полей).
2. Введена нумерация версий.

Как вкусить БФ QR?

1. Скачать BFQR.ZIP и раскрыть архив куда-нибудь.
2. Запустить Delphi 5 (BCB 5).
3. Закрыть все файлы в Delphi.
4. Зайти в Component -> Install Packages. Встать на QuickReport Components и нажать Remove. Аналогично нужно сделать для всех других пакетов, использующих QR, например, TeeChart for QuickReport Components.
5. Смахнув слезу, нажать Add и выбрать папку, куда записали файлы архива. Выбрать
для Delphi 5 - dclqrt5r,
для BCB 5 - dclqrc5r,
для Delphi 6 - dclqrt6r.
6. Заглянуть в Tools -> Environment Options -> Library Path. Добавить на почетное первое место папку с BFQR.
7. Какие-то пакеты отвалятся, но ... дело уже сделано :))).

Не забудьте сделать своим проектам Build All.

Не откладывайте проверку работы BFQR на завтра. Сделайте это сейчас! Откройте тут же какой-нибудь отчет и посмотрите на результат.

Баги и как с ними бороться

Проблема

Решение

Не цепляются пакеты сторонних фирм.

Если нужно, то выложим измененные исходники модулей наиболее известных пакетов. Суть в том, что пришлось изменить типы параметров в методе Print(OfsX, OfsY: Extended) вместо Integer. Точнее, был создан новый класс TQRrPrintable = class(TQRPrintable), в котором и определен новый метод Print. От него были порождены все прямые потомки TQRPrintable.

В окне просмотра отчета не видны картинки на кнопках, или они съезжают.

Обновите в Windows comctl32.dll. Или сам Windows.

Некоторые линии в просмотре выглядят утолщенными.

Да, выглядит не очень, но все же лучше, чем вообще их нет. При печати все нормально. Будет, по возможности, исправлено в следующих версиях.


Творческие планы

- ВЫПУСК BFQR 3.0.8 с поддержкой BCB 6 и позже 3.5.
- инсталляция пакетов;
- сделать "человеческий" экспорт в Excel и RTF;
- выточить редактор отчетов (уже coming soon, однако);
- починить TQRDBRichText;
- сделать порядок формирования многоколоночного отчета слева-направо-сверху-вниз в довесок к сверху-вниз-слева-направо;
- вставить скины (шутка).

З.Ы. Если отклики будут положительные, то проект заживет полной жизнью и все будет вполне серьезно.

А это наш баннер ;))

Bugs Free QR Team, 2002
Все отзывы и предложения направляйте на bfqr@newmail.ru
TopList

Используются технологии uCoz