📄 rm_wizard.pas
字号:
{*****************************************}
{ }
{ Report Machine v2.0 }
{ Report Wizard Reg }
{ }
{*****************************************}
unit rm_Wizard;
interface
{$I RM.inc}
uses
Windows, Controls, Classes;
type
TrmWizardClass = class of TrmWizard;
TrmReportWizardClass = class of TrmCustomReportWizard;
{ TrmWizard }
TrmWizard = class
public
class function ClassDescription: string; virtual;
class function ClassBitmap: THandle; virtual;
end;
{ TrmCustomReportWizard }
TrmCustomReportWizard = class(TrmWizard)
private
protected
public
constructor Create; virtual;
procedure DoCreateReport; virtual; abstract;
end;
procedure rmRegisterWizard(aWizardClass: TrmWizardClass);
procedure rmUnRegisterWizard(aWizardClass: TrmWizardClass);
function rmGetWizardClassList: TList;
implementation
var
FWizardClassList: TList = nil;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TrmWizard }
class function TrmWizard.ClassDescription: string;
begin
Result := ClassName;
end;
class function TrmWizard.ClassBitmap: THandle;
begin
Result := 0;
// Result := ppBitmapFromResource('PPNOWIZARDBITMAP');
end;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{TrmCustomReportWizard}
constructor TrmCustomReportWizard.Create;
begin
Inherited Create;
end;
function rmGetWizardClassList: TList;
begin
if FWizardClassList = nil then
FWizardClassList := TList.Create;
Result := FWizardClassList;
end;
procedure rmRegisterWizard(aWizardClass: TrmWizardClass);
var
lClassList: TList;
lindex: Integer;
begin
if aWizardClass = nil then Exit;
lClassList := rmGetWizardClassList;
lIndex := lClassList.IndexOf(aWizardClass);
if lIndex < 0 then
begin
lClassList.Add(aWizardClass);
end;
end;
procedure rmUnRegisterWizard(aWizardClass: TrmWizardClass);
var
lClassList: TList;
liIndex: Integer;
begin
if aWizardClass = nil then Exit;
if FWizardClassList = nil then Exit;
lClassList := rmGetWizardClassList;
liIndex := lClassList.IndexOf(aWizardClass);
if liIndex >= 0 then
begin
lClassList.Delete(liIndex);
end;
end;
initialization
finalization
FWizardClassList.Free;
FWizardClassList := nil;
end.
//此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
//╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
//╭⌒╭⌒╮╭⌒╮~╭⌒╮ ︶ ,︶︶
//,︶︶︶︶,''︶~~ ,''~︶︶ ,''
//╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
//╬ ︱田︱田 田 ︱ ╬
//╬ http://www.5ivb.net ╬
//╬ ╭○╮● ╬
//╬ /■\/■\ ╬
//╬ <| || 有希望,就有成功! ╬
//╬ ╬
//╚╬╬╬╬╬╬╬╬╬╬╗ ╔╬╬╬╬╝
//
//说明:
//专业提供VB、.NET、Delphi、ASP、PB源码下载
//包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -