Собственно вопрос в названии темы. Чем редактировать сохраненные отчеты *.fp3 ? Для версий 2.хх существовал frdesigner для файлов *.frf, а файлы *.fp3 чем открывать?
Сегодня исправлю эти недочеты + привязку к расширению при установке сделаю. Она в принципе сейчас есть, если запустить с параметром /reg
По поводу редактирования - его не будет. Утилита только для просмотра и печати.
Редактирование, если нужно, разрешайте в своей программе. А то получится что кто-то запрешает изменение готовых отчетов, а тут бери скачивай вьювер и делай что хочешь
Кстати FRViewer обновляется синхронно с FR4.
Я уже года 2 как пишу для своих пользователей программу кому нужно для просмотра, кому нужно для редактирования, а кому нужно и для экспорта готовых отчётов. Начал еще с версии FastReport2. А как иначе еще можно было переслать готовый отчет из моей деревни в головную контору в славный град Москов? Ведь экспорт в форматы .xls, .pdf и пр. не всегда был таким совершенным, как сейчас...
И каждый из вас может это сделать сам и даже лучше, имеено с теми надобнастями, которые есть у Вас, не прибегая к помощи FRViewer
1) Открываем новый проект и сразу сам файл проекта
2) закрываем не сохраняя unit1 с формой Form1 - она нам не нужна
3) Добавляем датамодуль с настроенным OpenDialog1 и необходимые компоненты FastReporta (frxReport, frxDesigner, frxExport и т.п. - кому чего надо)
4) файл проета для версии FastReport4.2.58 у меня имеет следующий код:
program VievingFR3;
uses
Forms,
SysUtils,
Dialogs,
Unit1 in 'Unit1.pas' {DataModule1: TDataModule};
{$R *.res}
begin
Application.Initialize;
Application.Title := 'Просмотр документов .fp3';
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
With DataModule1 do begin Try
frxReport1.Clear;
frxReport1.PreviewPages.LoadFromFile(ExtractFileName(ParamStr(1)), True);
frxReport1.ReportOptions.Name:=
ExtractFilePath(ParamStr(1))+ExtractFileName(ParamStr(1));
frxReport1.ShowPreparedReport;
except
Try
if OpenDialog1.Execute then begin
frxReport1.Clear;
frxReport1.PreviewPages.LoadFromFile(OpenDialog1.FileName, True);
frxReport1.ReportOptions.Name:=OpenDialog1.FileName;
frxReport1.ShowPreparedReport;
end;
Except
MessageDlg('Ошибка!!! Возможно указанный файл не существует.',mtError,[mbOk],0);
end;
end;
end;
end.
- может и коряво, но работает не хуже чем FRViewer
И все, компилируем и пользуемся. Если сжать полученный файл AsPack-ом, то вообще здорово.
Для открытия готового отчёта можно запускать полученный экзешник, а можно кликнуть на каком-нибудь готовом отчёте правой кнопкой мыши КонтекстноеМеню -> Открыть с помощью -> выбрать программу и собственно выбрать ваш полученный экзешник не забыв поставить галочку "Использовать ее для всех файлов такого же типа". И пользователю не нужно никакой инсталяшки, просто скопировать ваш экзешник.
И еще важное замечание. Пользователям удобно, когда при открытии готового отчёта они видят полный путь и название файла в заголовке окна просмотра отчета, а не название отчёта, как сейчас. Поэтому я еще внес небольшие изменения в исходники. (Хотелось бы чтобы разработчики включили это в официальную сборку, а то задолбался каждый раз править).
А именно в модуль frxPreviev.pas:
//стр. 359
var
capt:String; //добавляем новую переменную
//стр. 1378 процедура будет иметь вид
procedure TfrxPreview.LoadFromFile;
var
OpenDlg: TOpenDialog;
begin
if FRunning then Exit;
OpenDlg := TOpenDialog.Create(nil);
try
OpenDlg.Options := [ofHideReadOnly];
OpenDlg.Filter := frxResources.Get('clFP3files') + ' (*.fp3)|*.fp3';
if OpenDlg.Execute then
begin
FWorkspace.Repaint;
capt:=OpenDlg.FileName; // мое добавление
LoadFromFile(OpenDlg.FileName);
end;
finally
OpenDlg.Free;
end;
end;
//стр. 2245 процедуру изменим
procedure TfrxPreviewForm.OpenBClick(Sender: TObject);
begin
FPreview.LoadFromFile;
Caption:=capt;
{if Report.ReportOptions.Name <> '' then
Caption := Report.ReportOptions.Name
else
Caption := frxGet(100);}
end;
Приветствую, не в службу а в дружбу. Не могли бы вы поделиться вашей программой. Для работы с файлами *.fp3. Буду очень признателен. А то бухгалтерия меня достала, найди такую программу и всё. Заранее благодарен.
Предлагаю выложить проект (exe + исходники) в файлы аттача, пусть люди берут, кому надо.
Мне не надо было, но после прочтения поста начинаю задумываться - а ведь такое средство просмотра было бы нелишним, особенно если сделать добавления:
-- ассоциация при запуске
-- запоминание последних открытых файлов
-- экспорт в популярные форматы
-- отправка по e-mail
Комментарии
Любой сохранённый отчёт можно загрузить в окне предварительного просмотра и отредактировать любую страницу в нём
Enjoy!
По поводу редактирования - его не будет. Утилита только для просмотра и печати.
Редактирование, если нужно, разрешайте в своей программе. А то получится что кто-то запрешает изменение готовых отчетов, а тут бери скачивай вьювер и делай что хочешь
Кстати FRViewer обновляется синхронно с FR4.
Я уже года 2 как пишу для своих пользователей программу кому нужно для просмотра, кому нужно для редактирования, а кому нужно и для экспорта готовых отчётов. Начал еще с версии FastReport2. А как иначе еще можно было переслать готовый отчет из моей деревни в головную контору в славный град Москов? Ведь экспорт в форматы .xls, .pdf и пр. не всегда был таким совершенным, как сейчас...
И каждый из вас может это сделать сам и даже лучше, имеено с теми надобнастями, которые есть у Вас, не прибегая к помощи FRViewer
1) Открываем новый проект и сразу сам файл проекта
2) закрываем не сохраняя unit1 с формой Form1 - она нам не нужна
3) Добавляем датамодуль с настроенным OpenDialog1 и необходимые компоненты FastReporta (frxReport, frxDesigner, frxExport и т.п. - кому чего надо)
4) файл проета для версии FastReport4.2.58 у меня имеет следующий код:
- может и коряво, но работает не хуже чем FRViewer
И все, компилируем и пользуемся. Если сжать полученный файл AsPack-ом, то вообще здорово.
Для открытия готового отчёта можно запускать полученный экзешник, а можно кликнуть на каком-нибудь готовом отчёте правой кнопкой мыши КонтекстноеМеню -> Открыть с помощью -> выбрать программу и собственно выбрать ваш полученный экзешник не забыв поставить галочку "Использовать ее для всех файлов такого же типа". И пользователю не нужно никакой инсталяшки, просто скопировать ваш экзешник.
И еще важное замечание. Пользователям удобно, когда при открытии готового отчёта они видят полный путь и название файла в заголовке окна просмотра отчета, а не название отчёта, как сейчас. Поэтому я еще внес небольшие изменения в исходники. (Хотелось бы чтобы разработчики включили это в официальную сборку, а то задолбался каждый раз править).
А именно в модуль frxPreviev.pas:
Приветствую, не в службу а в дружбу. Не могли бы вы поделиться вашей программой. Для работы с файлами *.fp3. Буду очень признателен. А то бухгалтерия меня достала, найди такую программу и всё. Заранее благодарен.
Мне не надо было, но после прочтения поста начинаю задумываться - а ведь такое средство просмотра было бы нелишним, особенно если сделать добавления:
-- ассоциация при запуске
-- запоминание последних открытых файлов
-- экспорт в популярные форматы
-- отправка по e-mail