Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» FastReport

Автор: gpi
Дата сообщения: 24.02.2006 15:16
Widoms
А ошибка какая? Случайно не 'CoInitialize has not be called'
Автор: Widoms
Дата сообщения: 24.02.2006 15:48

Цитата:
А ошибка какая? Случайно не 'CoInitialize has not be called'

неа...Access violation. Заметил вылетает только при экспорте из IDE.
Если просто запустить приложение, все нормально.
Автор: gpi
Дата сообщения: 24.02.2006 16:38
Widoms
А, понятно. Это, скорее всего, исключения в блоках try выскакивают. Правда, у меня такое было только в FR 2.xx при формировании кросс-таб отчётов, а в FR 3.хх такое не проявляется
Автор: Widoms
Дата сообщения: 13.03.2006 16:42
опять нездоровая канитель творится с FastReport.
MSSQL 2000, Delphi 2006, FastReport 3.20

К примеру в Query Analizer делаю запрос:

select * from maintable
where Mdate between '01.03.2006' and '03.03.2006'

все путем, показывает все три записи.

Запускаю FastReport
создаю диалоговую форму, кидаю ADOQuery, два DateEdit.
В ADOQuery пишу запрос:

select * from maintable
where Mdate between :date1 and :date2

в качестве параметров присваиваю значения DateEdit1 и 2 соответственно.
Запускаю.Показывается только 2 и 3 число. Ничего не понимаю.
Автор: vshersh
Дата сообщения: 13.03.2006 16:50
Widoms

Цитата:
Показывается только 2 и 3 число

А что значит "2 и 3 число" ? Две строки и вместо третьей число?
У меня нормально работает
Автор: gpi
Дата сообщения: 13.03.2006 19:06
Widoms
А попробуй в FastReport выполнить запрос:
select * from maintable
where Mdate between '01.03.2006' and '03.03.2006'
сколько строк он возвращает?
vshersh

Цитата:
А что значит "2 и 3 число" ?

Скорее всего - второе и третье марта, а первое не выбирается

Автор: Widoms
Дата сообщения: 14.03.2006 02:40

Цитата:
А попробуй в FastReport выполнить запрос:
select * from maintable
where Mdate between '01.03.2006' and '03.03.2006'
сколько строк он возвращает?

Если без параметров..то все нормально.
Автор: gpi
Дата сообщения: 14.03.2006 09:21
Widoms
Значит, что-то некорректно работает при передаче параметров. Какая версия FR? А то в одной из последних бета-версий (в районе 3.20.25-27, точно не помню) был исправлен TfrxDateEditControl
Автор: Widoms
Дата сообщения: 14.03.2006 09:29

Цитата:
Какая версия FR?

3.20 Я же писал))
А можешь линк дать где про это написано ?

Установил
3.20.25
Тоже самое ((
Автор: gpi
Дата сообщения: 14.03.2006 11:37
Widoms

Цитата:
А можешь линк дать где про это написано ?

http://www.fast-report.com/ru/versions/index.php?changes=fr3
-----
Заметил такую особенность - у компонента TfrxDateEditControl при добавлении его на диалоговую форму Time=времени добавления на форму. Если ты любишь работать по вечерам, то у тебя дата всегда будет с временем добавления (TDateTime), т.е. по-любому больше просто даты (TDate)
Поэтому попробуй обнулять Time у TfrxDateEditControl
-----
http://slil.ru/22616140
Вот, сделал тестовый отчёт, всё нормально. Проверял и на 3.18
Автор: xMesSir
Дата сообщения: 15.03.2006 19:12
Widoms
gpi истинную правду говорит, это не баг фаста, дело действительно в том, что Time надо обнулять

Автор: Widoms
Дата сообщения: 16.03.2006 02:56
gpi
xMesSir
Cпасибо большое, все получилось.
Насчёт Time често не знал ((
Автор: MAKCS
Дата сообщения: 19.03.2006 11:32
Приветствую всех!!!

Помогите советом новичку, как сделать макет родословной по типу такой таблицы

род-ли / деды / прадеды / прапрадеды
-----------------------------------------------------
и тд.
папа ------------------------------
папа --------------------------------------
мама
папа ----------------------------------------------
мама
-----------------------------------------------------
папа
мама ----------------------------------------------
мама
-----------------------------------------------------

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


На данный момент делаю прямым экспортом в шаблоны Word и/или Excel через OLE. Excel поддерживает форматирование ячеек с автоподбором размера шрифта, что очень и очень удобно, вегда уверен в том, что макет не развалится. Просто так не хочется зависить от офиса и его шаблонов...
Автор: MAKCS
Дата сообщения: 19.03.2006 19:30
-----------------------------
дочитал документацию и сообразил как сделать...
все просто!!!

если кому интересно, данные размещаю в обработчике страницы OnManualBuild
размер элементов контролирую во втором проходе Width, Height и корректирую, если надо Font.Size
Автор: DeepTown
Дата сообщения: 06.04.2006 03:13
Впервые запустил скомпилированный FastReport 3 Demo и заметил что иконки там (в дизайнере да и вообще) отличаются от тех что идут в рабочем FastReport'е... интересно и как поиметь в своем проекте такие же полноцветные как в демке?

вопрос снят, решилось подключением frxHiButtons...
Автор: xlebopezka
Дата сообщения: 13.04.2006 14:06
Подскажите если кто в курсе!
Сейчас все отчеты хранятся в файлах.
Хочу сделать, чтобы отчеты хранились в БД (MSSQL2000).

frReport1.LoadFromFile('rep.frf');
frReport1.DesignReport;

ADOQuery1.Edit;
frReport1.SaveToBlobField(ADOQuery1.FieldByName('ttt'));
ADOQuery1.Post;

Блоб поле остается пустым.
Может у кого есть пример работы с отчетами сохраненными в БД.
Версия FastReport 2.47.
Автор: vidic777
Дата сообщения: 01.05.2006 01:02
Протестил сегодня работу "Самого быстрого отчета", который выложил rgnik из топика "Коммерческие компоненты и утилиты для Delphi/BCB" - в общем рабоатет, тока был один нюанс, если делать отчет с помощью компонент TfrxReport TfrxDBDataset (БД Firebird-1.5.2.4731-Win32 а доступ к нему через FIBPlus 6.41) ну и при надобности добавить компонентов экспорта ну там в PDF, XLS, JPEG то все работает безупречно. А вот если к этому коплекту добавить TfrxFIBComponents то приложение компилится, линкуется но при запуске из под IDE выдает ошибку "Access Voilation ..... " (ессли нужен код то сообщу дополнительно т.к незаписал) а из системы предлагает отослать отчет в Micrisoft Начал копаться далее и выявил что объявление #include "frxFIBComponents.hpp" в хедер-файле должно идти сразу после #include "frxDBSet.hpp". Тоже и модуле *.cpp #pragma link "frxFIBComponents" сразу после #pragma link "frxDBSet". Почему так происходит пока незнаю. Тестировал на C++Builder 6 Ent. Update 4.
Может кому и пригодится, кто в Builder-е работает.
Автор: PowerChute
Дата сообщения: 02.05.2006 07:28
xlebopezka
procedure TfrReport.SaveToDB(Table: TDataSet; DocN: Integer);
Автор: reenoip
Дата сообщения: 10.05.2006 01:15
Разобрался.
Автор: stalker780
Дата сообщения: 25.05.2006 15:43
Столкнулся с такой проблемой:
есть отчет, в список переменных добавлена своя, и ее значение используется в нескольких ДатаБэндах. Само значение этой переменной устанавливается в OnManualBuild.


Код:
procedure TForm1.ReportManualBuild(Page: TfrxPage);
var
i: Byte;
begin
Report.Engine.ShowBand(TfrxBand(Page.FindObject('Header1')));
for i := 0 to ListBox1.Items.Count - 1 do
begin
Report.Variables['Text1'] := '''';
Report.Variables['Text1'] := '''' + ListBox1.Items[i] + '''';
Report.Engine.ShowBand(TfrxBand(Page.FindObject('MasterData1')));
end;
end;
Автор: Vitus_Bering
Дата сообщения: 26.05.2006 10:38
Нужно в бэнде MasterData вывести общее кол-во записей, как это можно сделать?
Автор: ShadowMen
Дата сообщения: 26.05.2006 11:27
Создаю свой отчет в ManualBild. Как отследить, что fast создал новую страницу и перехватить?
Автор: gpi
Дата сообщения: 26.05.2006 22:18
Vitus_Bering
Нужно использовать двухпроходный отчёт
ShadowMen
Можно анализировать изменение переменной отчёта Page#
Автор: Vitus_Bering
Дата сообщения: 29.05.2006 15:14
gpi
Использую двух проходной отчет.
Делаю группировку по одному из полей, нужно, чтобы бэнде MasterData выводилось кол-во записей в группе, я делаю так:

Код:
var
c: string;

procedure GroupFooter1OnBeforePrint(Sender:TfrxComponent);
begin
c := COUNT(MasterData1,1);
end;

procedure MasterData1OnBeforePrint(Sender:TfrxComponent);
begin
if Engine.FinalPass then
MemoCount.Text := \'Адресов: \' + c;
end;

begin
end.
Автор: gpi
Дата сообщения: 29.05.2006 19:10
Vitus_Bering
Нужно запоминать значения в массиве, а на втором проходе считывать их
Автор: Vitus_Bering
Дата сообщения: 29.05.2006 20:36
gpi
Если можно кусок кода ...
Автор: gpi
Дата сообщения: 30.05.2006 06:03
Vitus_Bering

Код:
var i: integer;
ar: array of integer;
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
i:=0;
if not Engine.FinalPass then setlength(ar,1);
end;

procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if not Engine.FinalPass then
begin
ar[i]:=count(Masterdata1);
setlength(ar,i+2);
end;
inc(i);
end;
Автор: Vitus_Bering
Дата сообщения: 30.05.2006 09:47
gpi
Спасибо.
Автор: Vitus_Bering
Дата сообщения: 30.05.2006 17:04
Вылетает ошибка при выводе значений массива - \'Variant or safe array out of bounds\'.

Код:
procedure MasterData1OnBeforePrint(Sender:TfrxComponent);
begin
if Engine.FinalPass then begin
MemoCount.Text := IntToStr(ar[i]);
end;
Автор: ShadowMen
Дата сообщения: 12.06.2006 07:20

Цитата:
Можно анализировать изменение переменной отчёта Page#

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

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

Предыдущая тема: CBuilder и копирование файла


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.