📄 frxclass.pas
字号:
procedure FontChanged(Sender:TObject); override;
public
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
class function GetDescription:String; override;
procedure Initialize;
function ShowModal:TModalResult;
property DialogForm:TForm read FForm;
property ModalResult:TModalResult read GetModalResult write SetModalResult;
published
property BorderStyle:TFormBorderStyle read FBorderStyle write SetBorderStyle default bsSizeable;
property Caption:String read FCaption write SetCaption;
property Color:TColor read FColor write SetColor default clBtnFace;
property Height;
property Left;
property Position:TPosition read FPosition write FPosition default poScreenCenter;
property Top;
property Width;
property WindowState:TWindowState read FWindowState write FWindowState default wsNormal;
property OnActivate:TfrxNotifyEvent read FOnActivate write FOnActivate;
property OnClick:TfrxNotifyEvent read FOnClick write FOnClick;
property OnCloseQuery:TfrxCloseQueryEvent read FOnCloseQuery write FOnCloseQuery;
property OnDeactivate:TfrxNotifyEvent read FOnDeactivate write FOnDeactivate;
property OnHide:TfrxNotifyEvent read FOnHide write FOnHide;
property OnKeyDown:TfrxKeyEvent read FOnKeyDown write FOnKeyDown;
property OnKeyPress:TfrxKeyPressEvent read FOnKeyPress write FOnKeyPress;
property OnKeyUp:TfrxKeyEvent read FOnKeyUp write FOnKeyUp;
property OnShow:TfrxNotifyEvent read FOnShow write FOnShow;
property OnResize:TfrxNotifyEvent read FOnResize write FOnResize;
end;
{ Report }
TfrxEngineOptions = class(TPersistent)
private
FConvertNulls:Boolean;
FDestroyForms:Boolean;
FDoublePass:Boolean;
FMaxMemSize:Integer;
FPrintIfEmpty:Boolean;
FReportThread:TThread;
FSilentMode:Boolean;
FTempDir:String;
FUseFileCache:Boolean;
public
constructor Create;
procedure Assign(Source:TPersistent); override;
procedure Clear;
property ReportThread:TThread read FReportThread write FReportThread;
property DestroyForms:Boolean read FDestroyForms write FDestroyForms;
published
property ConvertNulls:Boolean read FConvertNulls write FConvertNulls default True;
property DoublePass:Boolean read FDoublePass write FDoublePass default False;
property MaxMemSize:Integer read FMaxMemSize write FMaxMemSize default 10;
property PrintIfEmpty:Boolean read FPrintIfEmpty write FPrintIfEmpty default True;
property SilentMode:Boolean read FSilentMode write FSilentMode default False;
property TempDir:String read FTempDir write FTempDir;
property UseFileCache:Boolean read FUseFileCache write FUseFileCache default False;
end;
TfrxPrintOptions = class(TPersistent)
private
FCopies:Integer;
FCollate:Boolean;
FPageNumbers:String;
FPrinter:String;
FPrintPages:TfrxPrintPages;
FReverse:Boolean;
FShowDialog:Boolean;
public
constructor Create;
procedure Assign(Source:TPersistent); override;
procedure Clear;
published
property Copies:Integer read FCopies write FCopies default 1;
property Collate:Boolean read FCollate write FCollate default True;
property PageNumbers:String read FPageNumbers write FPageNumbers;
property Printer:String read FPrinter write FPrinter;
property PrintPages:TfrxPrintPages read FPrintPages write FPrintPages default ppAll;
property Reverse:Boolean read FReverse write FReverse default False;
property ShowDialog:Boolean read FShowDialog write FShowDialog default True;
end;
TfrxPreviewOptions = class(TPersistent)
private
FAllowEdit:Boolean;
FButtons:TfrxPreviewButtons;
FDoubleBuffered:Boolean;
FMaximized:Boolean;
FMDIChild:Boolean;
FModal:Boolean;
FOutlineExpand:Boolean;
FOutlineVisible:Boolean;
FOutlineWidth:Integer;
FShowCaptions:Boolean;
FZoom:Extended;
FZoomMode:TfrxZoomMode;
public
constructor Create;
procedure Assign(Source:TPersistent); override;
procedure Clear;
published
property AllowEdit:Boolean read FAllowEdit write FAllowEdit default True;
property Buttons:TfrxPreviewButtons read FButtons write FButtons;
property DoubleBuffered:Boolean read FDoubleBuffered write FDoubleBuffered default True;
property Maximized:Boolean read FMaximized write FMaximized default True;
property MDIChild:Boolean read FMDIChild write FMDIChild default False;
property Modal:Boolean read FModal write FModal default True;
property OutlineExpand:Boolean read FOutlineExpand write FOutlineExpand default True;
property OutlineVisible:Boolean read FOutlineVisible write FOutlineVisible default False;
property OutlineWidth:Integer read FOutlineWidth write FOutlineWidth default 120;
property ShowCaptions:Boolean read FShowCaptions write FShowCaptions default False;
property Zoom:Extended read FZoom write FZoom;
property ZoomMode:TfrxZoomMode read FZoomMode write FZoomMode default zmDefault;
end;
TfrxReportOptions = class(TPersistent)
private
FAuthor:String;
FCompressed:Boolean;
FCreateDate:TDateTime;
FDescription:TStrings;
FInitString:String;
FName:String;
FLastChange:TDateTime;
FPassword:String;
FPicture:TPicture;
FVersionBuild:String;
FVersionMajor:String;
FVersionMinor:String;
FVersionRelease:String;
procedure SetDescription(const Value:TStrings);
procedure SetPicture(const Value:TPicture);
public
constructor Create;
destructor Destroy; override;
procedure Assign(Source:TPersistent); override;
procedure Clear;
function CheckPassword:Boolean;
published
property Author:String read FAuthor write FAuthor;
property Compressed:Boolean read FCompressed write FCompressed default False;
property CreateDate:TDateTime read FCreateDate write FCreateDate;
property Description:TStrings read FDescription write SetDescription;
property InitString:String read FInitString write FInitString;
property Name:String read FName write FName;
property LastChange:TDateTime read FLastChange write FLastChange;
property Password:String read FPassword write FPassword;
property Picture:TPicture read FPicture write SetPicture;
property VersionBuild:String read FVersionBuild write FVersionBuild;
property VersionMajor:String read FVersionMajor write FVersionMajor;
property VersionMinor:String read FVersionMinor write FVersionMinor;
property VersionRelease:String read FVersionRelease write FVersionRelease;
end;
TfrxExpressionCache = class(TObject)
private
FExpressions:TStringList;
FMainScript:TfsScript;
FScript:TfsScript;
public
constructor Create(AScript:TfsScript);
destructor Destroy; override;
procedure Clear;
function Calc(const Expression:String; var ErrorMsg:String;
AScript:TfsScript):Variant;
end;
TfrxDataSetItem = class(TCollectionItem)
private
FDataSet:TfrxDataSet;
FDataSetName:String;
procedure SetDataSet(const Value:TfrxDataSet);
procedure SetDataSetName(const Value:String);
function GetDataSetName:String;
published
property DataSet:TfrxDataSet read FDataSet write SetDataSet;
property DataSetName:String read GetDataSetName write SetDataSetName;
end;
TfrxReportDataSets = class(TCollection)
private
FReport:TfrxReport;
function GetItem(Index:Integer):TfrxDataSetItem;
public
constructor Create(AReport:TfrxReport);
procedure Initialize;
procedure Finalize;
procedure Add(ds:TfrxDataSet);
function Find(ds:TfrxDataSet):TfrxDataSetItem; overload;
function Find(const Name:String):TfrxDataSetItem; overload;
property Items[Index:Integer]:TfrxDataSetItem read GetItem; default;
end;
TfrxStyleItem = class(TCollectionItem)
private
FName:String;
FColor:TColor;
FFont:TFont;
FFrame:TfrxFrame;
procedure SetFont(const Value:TFont);
procedure SetFrame(const Value:TfrxFrame);
procedure SetName(const Value:String);
public
constructor Create(Collection:TCollection); override;
destructor Destroy; override;
procedure Assign(Source:TPersistent); override;
procedure CreateUniqueName;
published
property Name:String read FName write SetName;
property Color:TColor read FColor write FColor;
property Font:TFont read FFont write SetFont;
property Frame:TfrxFrame read FFrame write SetFrame;
end;
TfrxStyles = class(TCollection)
private
FName:String;
FReport:TfrxReport;
function GetItem(Index:Integer):TfrxStyleItem;
public
constructor Create(AReport:TfrxReport);
function Add:TfrxStyleItem;
function Find(const Name:String):TfrxStyleItem;
procedure Apply;
procedure GetList(List:TStrings);
procedure LoadFromFile(const FileName:String);
procedure LoadFromStream(Stream:TStream);
procedure LoadFromXMLItem(Item:TfrxXMLItem);
procedure SaveToFile(const FileName:String);
procedure SaveToStream(Stream:TStream);
procedure SaveToXMLItem(Item:TfrxXMLItem);
property Items[Index:Integer]:TfrxStyleItem read GetItem; default;
property Name:String read FName write FName;
end;
TfrxStyleSheet = class(TObject)
private
FItems:TList;
function GetItems(Index:Integer):TfrxStyles;
public
constructor Create;
destructor Destroy; override;
procedure Clear;
procedure Delete(Index:Integer);
procedure GetList(List:TStrings);
procedure LoadFromFile(const FileName:String);
procedure LoadFromStream(Stream:TStream);
procedure SaveToFile(const FileName:String);
procedure SaveToStream(Stream:TStream);
function Add:TfrxStyles;
function Count:Integer;
function Find(const Name:String):TfrxStyles;
function IndexOf(const Name:String):Integer;
property Items[Index:Integer]:TfrxStyles read GetItems; default;
end;
IfrxReport = interface(IUnknown)
['{F70CC9CD-3606-4056-AC6E-270D3A0A640B}']
procedure ShowPreparedReport; stdcall;
procedure ShowReport(ClearLastReport:Boolean = True); stdcall;
function Print:Boolean; stdcall;
procedure DesignReport; stdcall;
end;
TfrxReport = class(TfrxComponent, IfrxReport)
private
FCurObject:String;
FDataSet:TfrxDataSet;
FDataSetName:String;
FDataSets:TfrxReportDatasets;
FDesigner:TfrxCustomDesigner;
FDotMatrixReport:Boolean;
FDrawText:Pointer;
FEnabledDataSets:TfrxReportDataSets;
FEngine:TfrxCustomEngine;
FEngineOptions:TfrxEngineOptions;
FErrors:TStrings;
FExpressionCache:TfrxExpressionCache;
FFileName:String;
FIniFile:String;
FLoadStream:TStream;
FLocalValue:TfsCustomVariable;
FModified:Boolean;
FOldStyleProgress:Boolean;
FPreviewPages:TfrxCustomPreviewPages;
FParentForm:TForm;
FPreview:TfrxCustomPreview;
FPreviewForm:TForm;
FPreviewOptions:TfrxPreviewOptions;
FPrintOptions:TfrxPrintOptions;
FProgress:TfrxProgress;
FReloading:Boolean;
FReportOptions:TfrxReportOptions;
FScript:TfsScript;
FScriptLanguage:String;
FScriptText:TStrings;
FShowProgress:Boolean;
FStoreInDFM:Boolean;
FStyles:TfrxStyles;
FSysVariables:TStrings;
FTerminated:Boolean;
FTimer:TTimer;
FVariables:TfrxVariables;
FXMLSerializer:TObject;
FOnAfterPrint:TfrxBeforePrintEvent;
FOnBeforePrint:TfrxBeforePrintEvent;
FOnBeginDoc:TNotifyEvent;
FOnClickObject:TfrxClickObjectEvent;
FOnEndDoc:TNotifyEvent;
FOnGetValue:TfrxGetValueEvent;
FOnManualBuild:TfrxManualBuildEvent;
FOnMouseOverObject:TfrxMouseOverObjectEvent;
FOnPrintReport:TNotifyEvent;
FOnAfterPrintReport:TNotifyEvent;
FOnProgressStart:TfrxProgressEvent;
FOnProgress:TfrxProgressEvent;
FOnProgressStop:TfrxProgressEvent;
FOnRunDialogs:TfrxRunDialogsEvent;
FOnStartReport:TfrxNotifyEvent;
FOnStopReport:TfrxNotifyEvent;
FOnUserFunction:TfrxUserFunctionEvent;
function CallMethod(Instance:TObject; ClassType:TClass;
const MethodName:String; var Params:Variant):Variant;
function DoGetValue(const Expr:String; var Value:Variant):Boolean;
function GetScriptValue(Instance:TObject; ClassType:TClass;
const MethodName:String; var Params:Variant):Variant;
function SetScriptValue(Instance:TObject; ClassType:TClass;
const MethodName:String; var Params:Variant):Variant;
function DoUserFunction(Instance:TObject; ClassType:TClass;
const MethodName:String; var Params:Variant):Variant;
function GetDataSetName:String;
function GetLocalValue:Variant;
function GetPages(Index:Integer):TfrxPage;
function GetPagesCount:Integer;
procedure DoClear;
procedure DoLoadFromStream;
procedure OnTimer(Sender:TObject);
procedure ReadDatasets(Reader:TReader);
procedure ReadStyle(Reader:TReader);
procedure ReadVariables(Reader:TReader);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -