Только недавно стал использовать FastReport 4-ой версии. Скаченный для него help (именно для 4-ой версии) какой-то корявый весь - то русские текст почему-то кракозябрами рисуется, то WinHlp32.exe падает (как с русским fr4.hlp, так и с английским вариантом). Это только у меня так, или у всех? Может есть сносная версия справки? (Именно в формате .hlp, потому как хотелось бы работать со справкой из IDE Delphi).
» FastReport
У меня help нормально работает, претензии есть только по объему, далеко не все описано в справке, релизы(бетки) выходят чаще, чем обновляется help...
Проблема такая : Стоял до этого FastReport демо.
Накопил постов скачал из обменника Про версию, а он на всех бланках пишет, что это демо. Что можно сделать?
Подскажите FastReport 4-ой версии только английский или есть русский? Высталяю русский язык при компиляции - получается все равно английский.
Накопил постов скачал из обменника Про версию, а он на всех бланках пишет, что это демо. Что можно сделать?
Подскажите FastReport 4-ой версии только английский или есть русский? Высталяю русский язык при компиляции - получается все равно английский.
JonyBes
Нужно удалить все bpl-пакеты из Delphi и Windows\System, а затем заново поставить FR.
Для перекомпиляции с русскими языковыми ресурсами нужно воспользоваться утилитой recompile.exe. В Delphi в LibraryPath прописать папку LibDn, созданную утилитой recompile.exe
Нужно удалить все bpl-пакеты из Delphi и Windows\System, а затем заново поставить FR.
Для перекомпиляции с русскими языковыми ресурсами нужно воспользоваться утилитой recompile.exe. В Delphi в LibraryPath прописать папку LibDn, созданную утилитой recompile.exe
Ставлю вручную FastReport 4, сразу после установки рабоатет , после закрытия и повторного запуска Delphi 6 и попытки установить на форму при попытке поместить на форму frxReport , получаю access violation in module frx6.bpl.... пути прописаны верно - 200%
шо робыть ?
шо робыть ?
Ткните пожалуйста носом в сторонние компоненты для фаст-репорта.
Например, очень интересуют компоненты для создания табличек (не таблиц БД, а обычных таблиц - из колонок и строк, как например в Word-е). Утомительно бывает составлять многоколоночные таблицы из отдельных ячеек (компонентов memo) или "изображать" их линиями.
Или может оно есть в стандартной библиотеке и я чего-то не прочухал?
Например, очень интересуют компоненты для создания табличек (не таблиц БД, а обычных таблиц - из колонок и строк, как например в Word-е). Утомительно бывает составлять многоколоночные таблицы из отдельных ячеек (компонентов memo) или "изображать" их линиями.
Или может оно есть в стандартной библиотеке и я чего-то не прочухал?
Erazer
Update2 for D6 установлен?
royt
См. пример PrintTable в папке Demos из комплекта поставки фаста
Update2 for D6 установлен?
royt
См. пример PrintTable в папке Demos из комплекта поставки фаста
не... ща поставлю... походу подобные приколы из-за непропатченной делфи... т.к. тот проэкт который глючит например под d6 upd1 в d7 рабоает на ура... бум апдейтиться....
gpi
Цитата:
Всё описанное реализуется штатными средствами? Если чего-то не догоняю - приму простой ответ "да", буду тогда дальше разбираться.
И, независимо от первой части вопроса: вообще существуют ли сторонние компоненты для FastReport? Ведь последний это позволяет, и давно, но что-то вообще ничего не нашел в сети.
Кстати, их собственный PowerPack - это теперь часть FastReport или существует в виде отдельного продукта? (на сайте информацию не нашел)
Цитата:
См. пример PrintTableЭто не то... Нужно получить не автоматически генерируемую таблицу (для заданного перечня полей/колонок), а скажем так "нарисовать" рамки таблицы, с точным указанием количества колонок и строк (т.е. кол-во строк должно быть фиксированным, а не зависеть от коли-ва записей в датасете!). В нужные ячейки (причем не во все) вставить разные memo/поля, в т.ч. из разных датасетов, какие-то ячейки оставить пустыми. Иметь возможность точно настроить высоту у разных строк таблицы - в общем, получить не обязательно одинаковые строки в одной таблице. Настроить ширину колонок. В разных ячейках сделать разное оформление... Ну и т.д., т.е. по типу как это можно сделать например в Word.
Всё описанное реализуется штатными средствами? Если чего-то не догоняю - приму простой ответ "да", буду тогда дальше разбираться.
И, независимо от первой части вопроса: вообще существуют ли сторонние компоненты для FastReport? Ведь последний это позволяет, и давно, но что-то вообще ничего не нашел в сети.
Кстати, их собственный PowerPack - это теперь часть FastReport или существует в виде отдельного продукта? (на сайте информацию не нашел)
royt
Цитата:
Цитата:
Для этого можно использовать условное выделение (для простых случаев) или скрипты
Цитата:
это зависит от структуры отчёта
Цитата:
http://www.stalker4.dp.ua/ru
Цитата:
В нужные ячейки (причем не во все) вставить разные memo/поля
Цитата:
какие-то ячейки оставить пустыми. Иметь возможность точно настроить высоту у разных строк таблицы - в общем, получить не обязательно одинаковые строки в одной таблице. Настроить ширину колонок. В разных ячейках сделать разное оформление... Ну и т.д., т.е. по типу как это можно сделать например в Word.
Для этого можно использовать условное выделение (для простых случаев) или скрипты
Цитата:
в т.ч. из разных датасетов
это зависит от структуры отчёта
Цитата:
вообще существуют ли сторонние компоненты для FastReport?
http://www.stalker4.dp.ua/ru
gpi
Скрипты это уже принципиально другой подход, запрограммировать то много чего можно...
За ссылку спасибо! Другие ссылки также приветствуются.
Скрипты это уже принципиально другой подход, запрограммировать то много чего можно...
За ссылку спасибо! Другие ссылки также приветствуются.
В своей программе я использую свой список открытых MDIChild окон. Дело в том, что у меня используется dxBar от DevExpress'a... и там приходится это делать самому.
Вот так добавляю заголовоки:
_fMain._fM_dxBarMRUListItem.Items.AddObject('Чилд 1', Self);
Перед закрытием формы соответственно убираю:
with _fMain._fM_dxBarMRUListItem.Items do
Delete(IndexOfObject(Self));
И при использовании FastReport MDIChild'a возникает вопрос - а как можно добавить заголовок окна MDIChild'a в мой список и как потом после закрытия просмотра можно этот заголовок убрать?
Вот так добавляю заголовоки:
_fMain._fM_dxBarMRUListItem.Items.AddObject('Чилд 1', Self);
Перед закрытием формы соответственно убираю:
with _fMain._fM_dxBarMRUListItem.Items do
Delete(IndexOfObject(Self));
И при использовании FastReport MDIChild'a возникает вопрос - а как можно добавить заголовок окна MDIChild'a в мой список и как потом после закрытия просмотра можно этот заголовок убрать?
Подскажите, пожалуйста, я в приложении программно меняю картинку(TImage), сохраняю измененную картинку на жесткий диск. Мне надо, чтобы вызывая в программе ShowReport, я получала в отчете уже измененную картинку. А то, я определила в отчете, картинку(picture1) открыть из файла, и когда его изменяю, открываю сново отчет, а картинка не меняется естественно. Помоги, плз.. =)
1enka
Какая у вас версия FR?
у меня на одной из версий тоже такое было, но потом прошло.
Какая у вас версия FR?
у меня на одной из версий тоже такое было, но потом прошло.
Здравствуйте - возникла проблемка в фр4.1 с итогами по листу
Идея стандартная:
1. итог по листу на приклеивать к мастердате
-- для этого вводится переменная Y которая на AfterPrint увеличивается, а у PageFooter1.BeforePrint ставится Engine.CurY := Y;
2. на последней странице надо выводить итог страницы перед итогом всего отчета, для чего Engine.ShowBand(PageFooter1) прописывается в ReportSummary.OnAfterCalcHeight при этом PageFooter1.PrintOnLastPage := False;
всё вроде хорошо и работает, но теперь у меня появляются группы в отчете, которые очень большие и по сути мне надо, чтобы подвал группы с итогами печатался после итогов страницы (так как раньше было с итогами отчета)
PrintOnLastPage тут не работает и вылазит странный глюк.. для того, чтобы печатать подвал страницы только там где надо я делаю следующее:
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
Y:=Engine.CurY;
PageFooter1.Visible := True;
end;
procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
Engine.CurY:=Y;
end;
procedure GroupFooter1OnAfterCalcHeight(Sender:TfrxComponent);
begin
if PageFooter1.Visible then
Engine.ShowBand(PageFooter1);
end;
procedure PageFooter1OnAfterPrint(Sender:TfrxComponent);
begin
PageFooter1.Visible := False;
end;
Таким образом, если на странице нет данных, а попадают только итоги группы - нули не печатаются (новая группа - с нового листа)
однако эти меры - уже следствие того, что на одной из страниц (где попадает только итог) - фастрепорт проглючивает и он в итогах листа пишет не ноль, а итоги предыдущей полной страницы (счетчик не сбрасывает), после этого на всех последующих страницах - одни и те же итоги по листу, хотя итоги по группам и общий итог продолжают считаться правильно
отчет на примерно 250 листов, и глюк начинается примерно с 100-го
если включить два прохода - тогда итоги по листам на всех страницах перезаписываются глюком на одинаковые
если же поменять местами итог по группе и итог по странице, то глюк пропадает, однако это не совсем правильно - бутерброд такой:
- итог группа (много)
- итог лист (мало)
- итог отчет (очень много)
естественно хочется получить:
- итог лист (мало)
- итог группа (много)
- итог отчет (очень много)
может как-то иначе выводить итог по листу принудительно перед итого группы?
Идея стандартная:
1. итог по листу на приклеивать к мастердате
-- для этого вводится переменная Y которая на AfterPrint увеличивается, а у PageFooter1.BeforePrint ставится Engine.CurY := Y;
2. на последней странице надо выводить итог страницы перед итогом всего отчета, для чего Engine.ShowBand(PageFooter1) прописывается в ReportSummary.OnAfterCalcHeight при этом PageFooter1.PrintOnLastPage := False;
всё вроде хорошо и работает, но теперь у меня появляются группы в отчете, которые очень большие и по сути мне надо, чтобы подвал группы с итогами печатался после итогов страницы (так как раньше было с итогами отчета)
PrintOnLastPage тут не работает и вылазит странный глюк.. для того, чтобы печатать подвал страницы только там где надо я делаю следующее:
procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
Y:=Engine.CurY;
PageFooter1.Visible := True;
end;
procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
Engine.CurY:=Y;
end;
procedure GroupFooter1OnAfterCalcHeight(Sender:TfrxComponent);
begin
if PageFooter1.Visible then
Engine.ShowBand(PageFooter1);
end;
procedure PageFooter1OnAfterPrint(Sender:TfrxComponent);
begin
PageFooter1.Visible := False;
end;
Таким образом, если на странице нет данных, а попадают только итоги группы - нули не печатаются (новая группа - с нового листа)
однако эти меры - уже следствие того, что на одной из страниц (где попадает только итог) - фастрепорт проглючивает и он в итогах листа пишет не ноль, а итоги предыдущей полной страницы (счетчик не сбрасывает), после этого на всех последующих страницах - одни и те же итоги по листу, хотя итоги по группам и общий итог продолжают считаться правильно
отчет на примерно 250 листов, и глюк начинается примерно с 100-го
если включить два прохода - тогда итоги по листам на всех страницах перезаписываются глюком на одинаковые
если же поменять местами итог по группе и итог по странице, то глюк пропадает, однако это не совсем правильно - бутерброд такой:
- итог группа (много)
- итог лист (мало)
- итог отчет (очень много)
естественно хочется получить:
- итог лист (мало)
- итог группа (много)
- итог отчет (очень много)
может как-то иначе выводить итог по листу принудительно перед итого группы?
xy
Может быть, попытаться выводить постраничные итоги на дочернем бэнде. После печати мастердата определять оставшееся место на странице, и если места хватает только для вывода дочернего бэнда, то выводить итог по странице, используя Engine.ShowBand(Child1)
Может быть, попытаться выводить постраничные итоги на дочернем бэнде. После печати мастердата определять оставшееся место на странице, и если места хватает только для вывода дочернего бэнда, то выводить итог по странице, используя Engine.ShowBand(Child1)
Привет всем!
у меня тут проблема с fr3:
есть кнопка "сохранить в хтмл файл" нужно, чтобы куда пользователь сохранит файл хтмл, сохранятся и файл отчета .fr3
Я пользую frxHTMLExport.
Незнаю, нужно создавать свой компонент frxHTMLExport, или можно обойтись без этого?
у меня тут проблема с fr3:
есть кнопка "сохранить в хтмл файл" нужно, чтобы куда пользователь сохранит файл хтмл, сохранятся и файл отчета .fr3
Я пользую frxHTMLExport.
Незнаю, нужно создавать свой компонент frxHTMLExport, или можно обойтись без этого?
1enka
Цитата:
Для экспорта в HTML нужен фильтр
Цитата:
для сохранения в формате fp3 нужно добавить
frxReport1.PreviewPages.SaveToFile('filename');
Цитата:
В скрипте отчёта в событии Picture1OnBeforePrint добавьте
Picture1.Picture.LoadFromFile('filename');
Цитата:
Незнаю, нужно создавать свой компонент frxHTMLExport, или можно обойтись без этого?
Для экспорта в HTML нужен фильтр
Цитата:
нужно, чтобы куда пользователь сохранит файл хтмл, сохранятся и файл отчета .fr3
для сохранения в формате fp3 нужно добавить
frxReport1.PreviewPages.SaveToFile('filename');
Цитата:
А то, я определила в отчете, картинку(picture1) открыть из файла, и когда его изменяю, открываю сново отчет, а картинка не меняется естественно.
В скрипте отчёта в событии Picture1OnBeforePrint добавьте
Picture1.Picture.LoadFromFile('filename');
gpi
дак frxHTMLExport - это разве не фильтр? =)
а с картинкой я уже разобралась.. спасибо =)
дак frxHTMLExport - это разве не фильтр? =)
а с картинкой я уже разобралась.. спасибо =)
1enka
Цитата:
Фильтр. И он нужен для экспорта в HTML
Цитата:
дак frxHTMLExport - это разве не фильтр? =)
Фильтр. И он нужен для экспорта в HTML
gpi
Цитата:
а как определять оставшееся место?
Цитата:
Может быть, попытаться выводить постраничные итоги на дочернем бэнде. После печати мастердата определять оставшееся место на странице
а как определять оставшееся место?
а как мне узнать, куда пользователь экспортировал в html, чтобы туда же сохранить отчет .fp3?
Цитата:
мне и нужно узнать это filename
Цитата:
для сохранения в формате fp3 нужно добавить
frxReport1.PreviewPages.SaveToFile('filename');
мне и нужно узнать это filename
xy
Цитата:
Engine.FreeSpace
1enka
Цитата:
frxHTMLExport1.FileName
Цитата:
а как определять оставшееся место?
Engine.FreeSpace
1enka
Цитата:
мне и нужно узнать это filename
frxHTMLExport1.FileName
а не подскажете, как мне сделать:
нужно чтобы отчет группировался, а в этой группе разбеть еще на группы?
нужно чтобы отчет группировался, а в этой группе разбеть еще на группы?
1enka
в хелпе єто расписано настолько подробно, что мы вряд ли сможем еще что-то добавить :-(
в хелпе єто расписано настолько подробно, что мы вряд ли сможем еще что-то добавить :-(
1enka
Данные должны быть отсортированы по двум группируемым полям. В отчёте добавить GroupHeader1, GroupHeader2. Для каждого из GroupHeader задать условия группировки
Данные должны быть отсортированы по двум группируемым полям. В отчёте добавить GroupHeader1, GroupHeader2. Для каждого из GroupHeader задать условия группировки
Доброе время суток.
Есть ли в природе DOA db engine для FastReport 4?
А то я задрался патчить сырцы(в новых версиях), чтобы Report видел список полей
Проблемма в том что для frxDBEngine юзайтся GetFieldNames и при этом вылетает с Exception о несоответствии типов. Я просто заменяю вызов GetFieldNames на обычный цикл.
Кста DOA так ведёт себя с разными Reports (проверял ReportBuilder, FastReport, ExpressPrintingSystem).
И ещё GetFieldNames помечена в Delphi 2006 как устаревшая.
Есть ли в природе DOA db engine для FastReport 4?
А то я задрался патчить сырцы(в новых версиях), чтобы Report видел список полей
Проблемма в том что для frxDBEngine юзайтся GetFieldNames и при этом вылетает с Exception о несоответствии типов. Я просто заменяю вызов GetFieldNames на обычный цикл.
Кста DOA так ведёт себя с разными Reports (проверял ReportBuilder, FastReport, ExpressPrintingSystem).
И ещё GetFieldNames помечена в Delphi 2006 как устаревшая.
Здравствуйте!
как можно сделать, чтобы заполнялся ProgressBar, пока строится отчет (выполняется ShowReport)?
как можно сделать, чтобы заполнялся ProgressBar, пока строится отчет (выполняется ShowReport)?
1enka
Если я правильно понял вопрос, то frReport.ShowProgress := True
Если я правильно понял вопрос, то frReport.ShowProgress := True
Я немного зашел в тупик :)
Как правильно построить кросс-таб в фр4 при использовании нормальных DataSet, т.е. которые не открыты во время проектирования
вроде такой классный инструмент и так нехорошо, что с ним нельзя работать :(
Как правильно построить кросс-таб в фр4 при использовании нормальных DataSet, т.е. которые не открыты во время проектирования
вроде такой классный инструмент и так нехорошо, что с ним нельзя работать :(
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
Предыдущая тема: CBuilder и копирование файла
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.