📄 frxclass.pas
字号:
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;
FEnableThreadSafe: Boolean;
FSilentMode: TfrxSilentMode;
FTempDir: String;
FUseFileCache: Boolean;
procedure SetSilentMode(Mode: Boolean);
function GetSilentMode: 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;
property EnableThreadSafe: Boolean read FEnableThreadSafe write FEnableThreadSafe;
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 GetSilentMode write SetSilentMode default False;
property NewSilentMode: TfrxSilentMode read FSilentMode write FSilentMode default simMessageBoxes;
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;
FConnectionName: String;
FCreateDate: TDateTime;
FDescription: TStrings;
FInitString: String;
FName: String;
FLastChange: TDateTime;
FPassword: String;
FPicture: TPicture;
FReport: TfrxReport;
FVersionBuild: String;
FVersionMajor: String;
FVersionMinor: String;
FVersionRelease: String;
FPrevPassword: String;
FInfo: Boolean;
procedure SetDescription(const Value: TStrings);
procedure SetPicture(const Value: TPicture);
procedure SetConnectionName(const Value: String);
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
procedure Clear;
function CheckPassword: Boolean;
property PrevPassword: String write FPrevPassword;
property Info: Boolean read FInfo write FInfo;
published
property Author: String read FAuthor write FAuthor;
property Compressed: Boolean read FCompressed write FCompressed default False;
property ConnectionName: String read FConnectionName write SetConnectionName;
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;
FScriptLanguage: String;
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;
procedure Delete(const Name: String); 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;
TfrxReport = class(TfrxComponent)
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;
FVersion: String;
FXMLSerializer: TObject;
FOnAfterPrint: TfrxBeforePrintEvent;
FOnAfterPrintReport: TNotifyEvent;
FOnBeforeConnect: TfrxBeforeConnectEvent;
FOnBeforePrint: TfrxBeforePrintEvent;
FOnBeginDoc: TNotifyEvent;
FOnClickObject: TfrxClickObjectEvent;
FOnEditConnection: TfrxEditConnectionEvent;
FOnEndDoc: TNotifyEvent;
FOnGetValue: TfrxGetValueEvent;
FOnManualBuild: TfrxManualBuildEvent;
FOnMouseOverObject: TfrxMouseOverObjectEvent;
FOnPreview: TNotifyEvent;
FOnPrintPage: TfrxPrintPageEvent;
FOnPrintReport: TNotifyEvent;
FOnProgressStart: TfrxProgressEvent;
FOnProgress: TfrxProgressEvent;
FOnProgressStop: TfrxProgressEvent;
FOnRunDialogs: TfrxRunDialogsEvent;
FOnSetConnection: TfrxSetConnectionEvent;
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);
procedure SetDataSet(const Value: TfrxDataSet);
procedure SetDataSetName(const Value: String);
procedure SetEngineOptions(const Value: TfrxEngineOptions);
procedure SetLocalValue(const Value: Variant);
procedure SetPreviewOptions(const Value: TfrxPreviewOptions);
procedure SetPrintOptions(const Value: TfrxPrintOptions);
procedure SetReport
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -