FastReport FP3 Viewer

fastreport的官方网站上的fp3文件阅读器是英文的,为客户能使用中文版的,自己写了一个,很简单:

 

{******************************************************
FP3 Viewer
by xander.xiao@gmail.com
Version 1.0.0.0, 2009-3-20
*******************************************************}

program FP3Viewer;

uses
  Forms, windows, frxClass, Registry;

{#BACKUP *.ICO}
{$R *.res}

var
  frxReport: TfrxReport;

procedure FileAssociate(const AFileExt, AProgram: string;
  AFileExtKeyName: string = ''; ADescription: string = '');
var
  Reg: TRegistry;
  procedure WriteRegistry(AReg: TRegistry; AKey, AValue: string);
  begin
    if AReg.OpenKey(AKey, True) then begin
      AReg.WriteString('', AValue);
      AReg.CloseKey;
    end;
  end;
begin
  Reg := TRegistry.Create;
  if Length(AFileExtKeyName) = 0 then
    AFileExtKeyName := Copy(AFileExt, 2, Length(AFileExt)) + '_File_Viewer';
  if Length(ADescription) = 0 then
    ADescription := AFileExtKeyName;
  Reg.RootKey := HKEY_CLASSES_ROOT;
  WriteRegistry(Reg, AFileExt, AFileExtKeyName);
  WriteRegistry(Reg, AFileExtKeyName, ADescription);
  WriteRegistry(Reg, AFileExtKeyName + '/Shell/Open/Command',
    '"' + AProgram + '" "%1"');
  WriteRegistry(Reg, AFileExtKeyName + '/DefaultIcon', AProgram);
  Reg.Free;
end;

begin
  Application.Initialize;
  frxReport := TfrxReport.Create(Application);
  TfrxReportPage.Create(frxReport);
  if ParamCount > 0 then begin
    frxReport.PreviewPages.LoadFromFile(ParamStr(1));
    frxReport.ShowPreparedReport;
  end else
    frxReport.ShowReport(True);
  FileAssociate('.FP3', Application.ExeName,
    'FastReport3.PreparedReport', 'FastReport报表文件');
  Application.Terminate;
end.

Test_FastReportPrint4万能fr3报表查看器 自设计中支持按文本格式查看fr3报表, 前提是报表中最好不要有图片,否则打开会无响应或反应很慢 测试fr3文件2M左右反应很慢 procedure TFrm_BarCode.FallBitBtn6Click(Sender: TObject); begin //默认设计 MyTmsPrintDropBtn1.FrxReport.DesignPreviewPage end; procedure TFrm_BarCode.FallBitBtn3Click(Sender: TObject); begin //自写设计 MyTmsPrintDropBtn1.PrintRpt_DesignerW(FrptPrintIDX,Frpttitle,FrptFile); end; procedure TFrm_BarCode.FallBitBtn5Click(Sender: TObject); begin //预览 MyTmsPrintDropBtn1.PrintRpt_PreviewNoDialog(FrptPrintIDX,Frpttitle,FrptFile); end; procedure TFrm_BarCode.FallBitBtn4Click(Sender: TObject); begin //无对话框打印 MyTmsPrintDropBtn1.PrintRpt_PrintNow(FrptPrintIDX,Frpttitle,FrptFile); end; procedure TFrm_BarCode.MyTmsPrintDropBtn1BeforeDropMenuClick( Sender: TMenuItem; ItemsTag: Integer; var CanClick: Boolean; var Memo: String); begin MyTmsPrintDropBtn1.RptFileName:=''; end; procedure TFrm_BarCode.AdvStringGrid1GetEditorType(Sender: TObject; ACol, ARow: Integer; var AEditor: TEditorType); begin if (ACol=0 ) and (ARow=0) then begin AEditor:=edComboList; end; end; procedure TFrm_BarCode.MyTmsPrintDropBtn2BeforeDropMenuClick( Sender: TMenuItem; ItemsTag: Integer; var CanClick: Boolean; var Memo: String); begin with MyTmsPrintDropBtn1 do begin RptPrintIDX:=0; RptPrtTitle:='xxxxxx'; RptFileName:=gsPath+'data\test.fr3' end; end; procedure TFrm_BarCode.FallBitBtn1Click(Sender: TObject); begin MyTmsPrintDropBtn1.FrxReport.PreviewPages.Export(frxXLSExport1) ; end; procedure TFrm_BarCode.FallBitBtn8Click(Sender: TObject); begin //初始化数据 with MyTmsPrintDropBtn1 do begin RptPrintIDX:=StrToInt(Trim(lbe_idx.Text)); //打印机 RptPrtTitle:=Trim(lbe_title.Text); //打印时显示的文件名 RptFileName:=Trim(lbe_file.Text) //打印模板 end; end; end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值