LazReport, improve export facilites

git-svn-id: trunk@22908 -
This commit is contained in:
jesus 2009-12-01 22:07:01 +00:00
parent f358340f56
commit ffcb9ab6f3

View File

@ -251,6 +251,7 @@ type
IsPrinting: Boolean; IsPrinting: Boolean;
Flags: Word; Flags: Word;
DRect: TRect; DRect: TRect;
ParentBandType: TfrBandType; // identify parent band type on exporting view
constructor Create; override; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
@ -1070,7 +1071,10 @@ function GetDefaultDataSet: TfrTDataSet;
procedure SetBit(var w: Word; e: Boolean; m: Integer); procedure SetBit(var w: Word; e: Boolean; m: Integer);
const const
frCurrentVersion = 24; // this is current version (2.4) frCurrentVersion = 25;
// version 2.5: lazreport: added to binary stream ParentBandType variable
// on TfrView, used to extend export facilities
frSpecCount = 9; frSpecCount = 9;
frSpecFuncs: Array[0..frSpecCount - 1] of String = ('PAGE#', '', frSpecFuncs: Array[0..frSpecCount - 1] of String = ('PAGE#', '',
'DATE', 'TIME', 'LINE#', 'LINETHROUGH#', 'COLUMN#', 'CURRENT#', 'TOTALPAGES'); 'DATE', 'TIME', 'LINE#', 'LINETHROUGH#', 'COLUMN#', 'CURRENT#', 'TOTALPAGES');
@ -1769,6 +1773,7 @@ procedure TfrView.LoadFromStream(Stream: TStream);
var var
wb : Word; wb : Word;
S : Single; S : Single;
i : Integer;
begin begin
{$IFDEF DebugLR} {$IFDEF DebugLR}
DebugLn('%s%s.TfrView.LoadFromStream begin StreamMode=%d ClassName=%s', DebugLn('%s%s.TfrView.LoadFromStream begin StreamMode=%d ClassName=%s',
@ -1811,6 +1816,12 @@ begin
Read(wb,2); Read(wb,2);
Visible:=(Wb<>0); Visible:=(Wb<>0);
end; end;
if (frVersion >= 25) then begin
Read(I, 4);
ParentBandType := TfrBandType(I);
end;
end; end;
{$IFDEF DebugLR} {$IFDEF DebugLR}
DebugLn('%s%s.TfrView.LoadFromStream end',[sspc,name]); DebugLn('%s%s.TfrView.LoadFromStream end',[sspc,name]);
@ -1863,6 +1874,7 @@ end;
procedure TfrView.SaveToStream(Stream: TStream); procedure TfrView.SaveToStream(Stream: TStream);
var var
S: Single; S: Single;
B: Integer;
begin begin
{$IFDEF DebugLR} {$IFDEF DebugLR}
DebugLn('%s%s.SaveToStream begin',[sspc,name]); DebugLn('%s%s.SaveToStream begin',[sspc,name]);
@ -1894,7 +1906,15 @@ begin
frWriteMemo(Stream, Script); frWriteMemo(Stream, Script);
Write(Visible, 2); Write(Visible, 2);
end end
else frWriteMemo(Stream, Memo1); else
frWriteMemo(Stream, Memo1);
// parent band type new in stream format 25
B := 0;
if Parent<>nil then
B := ord(Parent.Typ);
Write(B, 4);
end; end;
{$IFDEF DebugLR} {$IFDEF DebugLR}
Debugln('%s%s.SaveToStream end',[sspc,name]); Debugln('%s%s.SaveToStream end',[sspc,name]);
@ -7751,7 +7771,7 @@ begin
if frVersion <= frCurrentVersion then if frVersion <= frCurrentVersion then
try try
{$IFDEF FREEREP2217READ} {$IFDEF FREEREP2217READ}
if FRE_COMPATIBLE_READ and (frVersion = 23) then if FRE_COMPATIBLE_READ and (frVersion >= 23) then
frVersion := 22; frVersion := 22;
{$ENDIF} {$ENDIF}
Pages.LoadFromStream(Stream); Pages.LoadFromStream(Stream);
@ -7790,7 +7810,7 @@ begin
if frVersion <= frCurrentVersion then if frVersion <= frCurrentVersion then
try try
{$IFDEF FREEREP2217READ} {$IFDEF FREEREP2217READ}
if FRE_COMPATIBLE_READ and (frVersion = 23) then if FRE_COMPATIBLE_READ and (frVersion >= 23) then
frVersion := 22; frVersion := 22;
{$ENDIF} {$ENDIF}
pages.LoadFromXML(XML, Path+'Pages/'); pages.LoadFromXML(XML, Path+'Pages/');