现在的位置: 首页 > 综合 > 正文

FastReport FP3 Viewer

2012年01月30日 ⁄ 综合 ⁄ 共 1454字 ⁄ 字号 评论关闭

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.

抱歉!评论已关闭.