Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

QReport. Коррекция отчета перед печатью [D6, IB6.x]


Страницы:   1 2

MsGuns ©   (2003-08-27 13:16:00) 

Проблема в том, что в отчете есть пустая графа, которую узер хочет заполнять руками непосредственно перед печатью (типа примечаний). Однако Preview такого, ессно, не позволяет. Есть ли какое-нибудь решение в рамках именно этого компонента или надо выводить НД источника в ексель (например) ?

И второй вопрос. Надо средство просмотра сохраненных .QRP на ПК без БД и проги, которые собственно эти отчеты создали и сохранили. Написал мини-прожку, в которой лежит QReport, и ему в событии OnShow формы дается запуск метода Preview. Потом уже делаешь Load, просмотр, печать и т.д. Но проблема ! При загрузке отчета из .QRP установки формата листа игнорируются и остаются те, которые я выставил в дизайне (т.е.абсолютно левые). В результате отчет обрезается (альбом до портрета, к примеру). Где скривил руками или головой ?

ЗЫ. В FAQ, к сожалению, не нашел. Поиск по QRep тоже мало что дал


Hawk2   (2003-08-28 13:30:00) [1]

Рад был помочь! Надеюсь пригодится.


MsGuns   (2003-08-28 13:19:00) [2]

>Hawk2 © (28.08.03 13:08) [22]

Получил. Спасибо еще раз большое !


Hawk2   (2003-08-28 13:08:00) [3]

MsGuns ©
Посмотрите почту.


MsGuns   (2003-08-28 12:33:00) [4]

>Hawk2 © (28.08.03 12:17) [19]
>И еще, если Вы не передумали, я сейчас на работе и могу выслать такой же пример запакованный arj, rar или zip из Far-а.

Устроит любой, просто WinRar у меня не 3-й, а 2.60. Хотя это необязательно, просто мне будет немножно доп.возни (сходить в другой корпус), но мне не в лом совершенно

>Anatoly Podgoretsky © (28.08.03 12:27) [20]
>Наряду с try, надо в дистрибутив включить бесплатный Excel Viewer и предложить пользователю его установку.

Спасибо, Анатолий. Возьму на заметку. Хотя иногда узеру надо "врезать" в отчет свою инфу (см.сабж)


Anatoly Podgoretsky   (2003-08-28 12:27:00) [5]

MsGuns © (28.08.03 11:49) [18]
Наряду с try, надо в дистрибутив включить бесплатный Excel Viewer и предложить пользователю его установку.
По словам Микрософт, он поддерживает почти полность OLE


Hawk2   (2003-08-28 12:17:00) [6]

Поробую по порядку.

Вы имеете ввиду подключеный модуль Excel97 в разделе uses. Так это экспортированная библиотека типов из Excel. Файл Excel97.pas есть в папке C:\Program Files\Borland\Delphi5\Ocx\Servers\, там еще есть и по Ворду, Аксесу и т.д.

При неустановленном Екселе не пробовал, но конструкцию типа try я думаю надо. Просто я этот модуль написал уже около года назад, сейчас ничего не пишу, поэтому и не довел до конца ("не отшлифовал" :-)), так что можите изменять как посчитаете нужным.

На счет суммирования, там ксожалению его нет, тоже не дошел. А вот обрамление есть. В шаблоне какую рамку поставите такая будет по всему отчету посмотрите в примере. Также переносится цвет шрифта и фона, вот эти строчки:

xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Font.Color:=xlSheet.Range[Range,EmptyParam].Font. Color;
xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Interior.Color:=xlSheet.Range[Range,EmptyParam].I nterior.Color;
xlSheet.Range[Col[Column]+IntToStr(Row),Col[RangeLen]+IntToStr(Row+Dat aSet.RecordCount-1)].Borders.LineStyle:=xlSheet.Range[Range,EmptyParam ].Borders.LineStyle;

тут можно добавить и размер шрифта и все что получится.

Я не помню какими статьями пользовался, как я говорил это было около года назад, но знаю что статья была написана автором того самого XLReport-а.

И еще, если Вы не передумали, я сейчас на работе и могу выслать такой же пример запакованный arj, rar или zip из Far-а.


MsGuns   (2003-08-28 11:49:00) [7]

>Hawk2 © (27.08.03 19:39) [10]

Получил второе послание с архивом. спасибо большое. Сейчас жутко некогда - в выходные на другом компе (с 3-м раром) распотрошу и посмотрю.
FastXLReport.pas посмотрел, но несколько вопросов "пристрелочных":
Excel197 - это из станд.библиотеки ? Если да, то это как-нибудь связано с инсталлированыым екселем. ? Т.е. как оно будет работать, если на ПК нет инсталленного екселя ? Надо типа try поставить, однако ;))

Есть ли в присланном Вами примере шаблона суммирование по колонкам и группировка ? Это, честно говоря, меня больше всего и кумарит. Как бы не пришлось все ручками при экспорте данных не вписывать в ексель :( И по фигу получается настройки в шаблоне фонтов итогов ? Опять же что делать с граф.обрамлением (рамка таблицы), корректным переносом на след.лист и т.д. ? (Этот вопрос скорее риторический - буду сам смотреть в процессе экспериментов)

Вы при написании модуля не пользовались случайно статьей Е.Старостина от 31 иая 2000г с КД ? Меня на эту мысль навела хитровыделанная строка
xlReport.ScreenUpdating[0]:=true;

>HSolo © (28.08.03 10:07) [16]

Спасибо ! Интересная мысль и на заметку маленьким и глупеньким типа меня ;)))

>All
Всем большое спасибо ! Всегда знал, что Мастаки - это The Best !
Инфы достаточно - буду ковыряться. Готового решения, понятно, нет, да и быть не может. Но я его и не искал


Sergey13   (2003-08-28 10:20:00) [8]

2MsGuns © (27.08.03 13:16)
А если перефразировать Reindeer Moss Eater © (27.08.03 19:41) [12] И не спросить юзера перед print/previewчто то, и это "что то" вставить в отчет в BeforePrint-событии нужного бенда.


HSolo   (2003-08-28 10:07:00) [9]

> А що це таке и з чим його едять ? Безкоштовно мабудь ?

Это ActiveX такой, живет в Delphi на закладке ActiveX. В двух словах - что-то вроде встроенного упрощенного Excel-а, или заготовка для создания такового. Умеет читать/писать Excel-файлы (Excel 4.0/5.0 format), коннектиться к БД ч/з ODBC, можно и ручками заполнять, по аналогии с Excel, формулы вставлять, и много чего еще. У меня в одном проекте (бухгалтерия) все отчеты (журнал-ордера, шахматка, оборотка по иерарх.таблицам) были сделаны на этой штуке; юзера были довольны :)


Hawk2   (2003-08-27 22:40:00) [10]

То MsGuns: Я Вам отослал примерчик и небольшой Хелп, чтобы было яснее. Напишите когда получите.


MsGuns   (2003-08-27 19:47:00) [11]

>Reindeer Moss Eater © (27.08.03 19:41) [12]
>А почему не запрашивать у пользователя значение в OnPrint-событии&

Формат листа ? Это в принципе мысль ! Мне чой-то в головенку не пришла ;((


MsGuns   (2003-08-27 19:45:00) [12]

>Hawk2 © (27.08.03 19:39) [10]

Исходник получил. Спасибо большое, буду разбираться


Reindeer Moss Eater   (2003-08-27 19:41:00) [13]

А почему не запрашивать у пользователя значение в OnPrint-событии&


MsGuns   (2003-08-27 19:39:00) [14]

>HSolo © (27.08.03 18:48) [9]

А що це таке и з чим його едять ? Безкоштовно мабудь ?


Hawk2   (2003-08-27 19:39:00) [15]

MsGuns © (27.08.03 17:41) [8]
Исходник я Вам отправил, думаю разбиретесь, но там еще нужно объяснить как подготовить шаблон в Екселе по которому будут виводится данные. У меня сейчас нет времени напишу вечером или сюда или на мыло. Если это Вас устроит.


HSolo   (2003-08-27 18:48:00) [16]

А может, Вам есть смысл посмотреть на F1Book?


MsGuns   (2003-08-27 17:41:00) [17]

>Hawk2 © (27.08.03 16:17) [6]
Ваш вариант мне, конечно, нравится бОльше из-за своей универсализации, но есть 2 причины "против":

1. Узер сам может править форму отчетности, а это не всегда есть хорошо, т.к. это наш хлебушек также ;)). Хотя в некоторых случаях это есть даже очень хорошо, т.к. хлеб черствый, а мороки до фига ;((

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

Если у Вас есть подходящий пример из работающих программ, буду весьма признателен, если мыльнете его мне (WinRar 2.60/WinZip)

Спасибо за участие и советы !

>stud ©

Спасибо большое за попытку помочь ;)


stud   (2003-08-27 16:54:00) [18]

инструмент-то мощный, только возьмет пользователь и в отчете в экселе изменит цены или еще что а в базе забудет... и начнется нормальная половая жизнь))))


Hawk2   (2003-08-27 16:17:00) [19]

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


stud   (2003-08-27 14:47:00) [20]

так может добавить в таблице поле для коментария?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо