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

» FastReport

Автор: X11
Дата сообщения: 26.02.2010 10:14
Но учтите, что в cxGrid`е данные будут отсортированы в одном виде, а в отчёт попадут без сортировки и фильтрации. Поэтому Нужно делать так:
Пробегаемся по отфильтрованным записям и заносим их в dxMemData.
В этой теме:
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123
есть пример, как пройтись по отфильтрованным записям cxGrid.

У меня у самого стоит такая же задача: занести в dxMemData записи так, как они видны на экране пользователю. Пока не реализовал ещё. Но в процессе. Да там и не сложно.
Автор: mdid
Дата сообщения: 26.02.2010 10:26
вся трабля в том что мне надо получить данные..обработать их...и вывести результат а DataSource выведет мне сырые необработанные данные которые никому не нужны..я раньше никогда не юзал frxUserDataSet ибо не надо было...всегда frxDataSet...но тут проэкт просто такой завелся...короч я хз как его
Автор: f3ka
Дата сообщения: 26.02.2010 10:40
mdid
уважаемый, а что мешает занести в dxMemData уже ОБРАБОТАННЫЕ ДАННЫЕ? то есть получаете данные, обрабатываете, заносите в dxMemData, а затем в отчет через frxDataSet.
Автор: mdid
Дата сообщения: 26.02.2010 11:02
X11
..ща глянем
f3ka
да ничего...просто не юзал никогда dxMemData...посему не знал для чего оно...терь буду знать
ПС
пасиб...побег колупать
Автор: Kasper1133
Дата сообщения: 09.03.2010 12:37
Можно сделать так чтоб отчеты сохранялись в мемо поле базы данных, редактировать их непосредственно из прогарами додавать или удалять отчеты.
Автор: X11
Дата сообщения: 09.03.2010 13:12
Это вопрос?
Тогда правильнее редактировать непосредственно в дизайнере. А сохранять в BLOB через STREAM.
Автор: jonikDk
Дата сообщения: 09.03.2010 13:39
Kasper1133
можно, пишешь все действия по сохранению в событии OnSaveReport у frxDesigner. Сохранение через Stream, как X11 написал.
Автор: MagistrAnatol
Дата сообщения: 17.03.2010 16:23
Господа,можно в фасте реализовать фильтр
я использую TDxMemData, а там звыняйте фильтра нету, а делать ещо один датасет и перекидать данные не прикольно
мне не надо показывать записи у которых в определенном поле значение 0?
Автор: f3ka
Дата сообщения: 17.03.2010 17:24
MagistrAnatol
ну можно например в событии OnBeforePrint у MasterData проверить поле и если не надо показывать то можно ПОПРОБОВАТЬ сделать MasterData.Visible = False...
Автор: MagistrAnatol
Дата сообщения: 17.03.2010 18:05
f3ka
пасиб , бум пробывать
Автор: MagistrAnatol
Дата сообщения: 18.03.2010 16:20
Господа
ещё одна проблемка - добавление пользовательской ф-ции в фаст репорте.

у меня есть ф-ция AnsiString СумаПрописом(float in)

Variant __fastcall TfrmMain::frxReport1UserFunction(const UnicodeString MethodName,
Variant &Params)
{
if (MethodName == "СумаПрописом")return СумаПрописом(Params);
}

и не пойму где добавлять ф-цию
frxReport1->AddFunction("AnsiString СумаПрописом(float in)");

в самом отчете в мемо я пишу СумаПрописом(2,36)
Автор: jonikDk
Дата сообщения: 18.03.2010 17:06
MagistrAnatol
Руководство разработчика -> Подключение собственных функций к отчету

[more=пример #]
function TForm1.MyFunc(s: String; i: Integer): Boolean;

begin

// нужная логика

end;

procedure TForm1.MyProc(s: String);

begin

// нужная логика

end;


function TForm1.frxReport1UserFunction(const MethodName: String;

var Params: Variant): Variant;

begin

if MethodName = 'MYFUNC' then

Result := MyFunc(Params[0], Params[1])

else if MethodName = 'MYPROC' then

MyProc(Params[0]);

end;


frxReport1.AddFunction('function MyFunc(s: String; i: Integer): Boolean');

frxReport1.AddFunction('procedure MyProc(s: String)');

[/more]
Автор: MagistrAnatol
Дата сообщения: 18.03.2010 17:20
jonikDk


Цитата:
frxReport1.AddFunction('function MyFunc(s: String; i: Integer): Boolean');

frxReport1.AddFunction('procedure MyProc(s: String)');


куда пихать ети сторочки


Добавлено:
я смотрел етот пример на оффсайте

var Params: Variant): Variant;

begin

if MethodName = 'MYFUNC' then

Result := MyFunc(Params[0], Params[1])

else if MethodName = 'MYPROC' then

MyProc(Params[0]);

end;
если я на билдере пишу строку Result = MyFunc(Params[0], Params[1]) -
выдает ошибку неизвестная переменняя Result

Добавлено:

Цитата:
куда пихать ети сторочки

разобрался
осталось перевести на с++
Result := MyFunc(Params[0], Params[1])

Добавлено:
всем пасибо, разобрался
Автор: DroN_S
Дата сообщения: 18.03.2010 19:15
MagistrAnatol
вот тут специально писал статью по работе с пользовательскими функциями
http://www.reportingfor.info/ru/news.php?extend.76.4
Автор: sldaac
Дата сообщения: 29.03.2010 09:12
Приветствую.
можно сделать фон в отчете, какого нибудь цвета, или рисунка. Или может водяные знаки. ??
По мануалу искал, ничего не нашел, может кто делал, подскажите.
Спсб.
Автор: PrWork1
Дата сообщения: 29.03.2010 14:58
sldaac

В дизайнере отчетов у страницы есть свойство BackPicture и т.д....
Автор: Man_Without_Face
Дата сообщения: 07.04.2010 11:49
Приветствую, подскажите пож пару вопросов:
1. Как задать заголовок отчета при просмотре (showreport)?
2. Можно ли поменять название кнопок (нужно с анг. на русск.) при просмотре?
3. Убрал модальность и полный экран. Как задать размеры окна просмотра при загрузке отчета.
Вопросы вроде простые, но все перерыл уже в свойствах. Заранее спасибо.

Добавлено:
Заголовок отчета нашел, почему то за него отвечает свойство Name
Автор: X11
Дата сообщения: 07.04.2010 12:11
2. Можно. Обрати внимание на уилиту:
C:\Program Files\FastReports\FastReport 4\recompile.exe
и папку
C:\Program Files\FastReports\FastReport 4\Res\
Автор: Man_Without_Face
Дата сообщения: 07.04.2010 12:26
X11
Это понятно, но тогда даже в дизайнере по русски будет, а я не хочу. Другой способ есть?


Добавлено:
А можно в дизайнере, в BDEQuery задать переменным параметры по умолчанию, типа как в Tquery можно. Для того чтобы проект не запускать, а изменения в Preview смотреть?

Добавлено:
FastReport v4.8
Автор: X11
Дата сообщения: 07.04.2010 12:49
Man_Without_Face, а что именно хочешь руссифицировать? Названия таблиц и столбцов можно.

Добавлено:

это можно провернуть с помощью TfrxDBDataset. Привяжи его к реальному датасету.
Автор: Man_Without_Face
Дата сообщения: 07.04.2010 12:55
X11
Кнопки русифицировать (печать, закрыть и т.п.) при просмотре отчета, а остальное все оставить.
Автор: SIgor33
Дата сообщения: 07.04.2010 13:46
Man_Without_Face
В папке ресурсов есть русскиий язык запускаешь mk.bat и у тебя pas файлы в исходниках перекомпелируй проект и все по русски
Автор: X11
Дата сообщения: 07.04.2010 13:51
Так он же не хочет ВСЕ по-русски, а хочет только некоторые кнопки. В англ. исходниках меняй DFM и перекомпилируй.
Автор: Granmer
Дата сообщения: 07.04.2010 13:58
X11
Нет, если уж надо именно некоторые, то лучше перевести на русский нужные пункты в файлах в папке Res (frxrcClass.xml, frxrcDesgn.xml и т.п.). Обновлять потом проще, а в dfm - замучаешься после обновления снова искать и править.
Автор: Man_Without_Face
Дата сообщения: 07.04.2010 14:10
SIgor33
X11
Granmer
Спасибо, все понял. На 3й вопросик бы еще получить ответ.
Автор: f3ka
Дата сообщения: 07.04.2010 14:20
Man_Without_Face

Цитата:
3. Убрал модальность и полный экран. Как задать размеры окна просмотра при загрузке отчета.


Код:
procedure <YourForm>.<YourReport>Preview(Sender: TObject); //<YourReport>.OnPreview event
begin
    <YourReport>.PreviewForm.Width := 300;
    <YourReport>.PreviewForm.Height := 100;
end;
Автор: Man_Without_Face
Дата сообщения: 07.04.2010 14:45
f3ka
Спасибо, все сделал
Автор: Man_Without_Face
Дата сообщения: 08.04.2010 11:15
Доброго времени суток. А можно в дизайнере, в BDEQuery задать переменным значения по умолчанию, типа как в Tquery можно. Для того чтобы проект не запускать, а изменения в Preview просмотреть (а то ошибку выдает)?
Автор: f3ka
Дата сообщения: 08.04.2010 12:05
Man_Without_Face

Цитата:
Доброго времени суток. А можно в дизайнере, в BDEQuery задать переменным значения по умолчанию, типа как в Tquery можно. Для того чтобы проект не запускать, а изменения в Preview просмотреть (а то ошибку выдает)?

думаю что тяжело будет получить какой то вразумительный ответ на данный вопрос, так как с BDE и FR мало кто работает...
Автор: Granmer
Дата сообщения: 09.04.2010 10:41
Man_Without_Face
Тоже искал подобное, вышел из положения тем, что сохранял отчёт из дизайнера в файл, а в программе его соответственно грузил из файла. Получалось, что программа запущена, в дизайнере что-то поменял, нажал сохранить и в программе нажимаю просмотр - открывается обновлённый отчёт. Отчасти удобнее, чем задавать константы для просмотра, т.к. можно на лету протестировать изменённый отчёт с различными параметрами.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

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


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