⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sfxcrosstablib.pas

📁 Chart FX for Delphi 2005
💻 PAS
字号:
unit SfxCrossTabLib;
{$TYPEDADDRESS OFF}
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
//{$VARPROPSETTER ON}

interface

uses Windows, ActiveX, Classes, Graphics, OleCtrls, AxCtrls, ComObj;

const
  // TypeLibrary Major and minor versions
  SfxCrossTabLibMajorVersion = 1;
  SfxCrossTabLibMinorVersion = 0;

  CLASS_CrosstabProvider: TGUID = '{4CF158EF-3096-11D4-A4DB-000086391334}';

type CrosstabDateFormat = Smallint;
const
  CTAF_DATE = 3;
  CTAF_LONGDATE = 4;
  CTAF_TIME = 5;
  CTAF_DATETIME = 6;

type CrosstabDataType = Smallint;
const
  CTDT_NOTUSED = 0;
  CTDT_ROWHEADING = 1;
  CTDT_COLUMNHEADING = 2;
  CTDT_VALUE = 3;

type
  ICrosstabProvider = interface;

 
//*********************************************************************//
// Class: ICrosstabProvider
//*********************************************************************//
  ICrosstabProvider = interface(IDispatch)
    ['{4CF158EE-3096-11D4-A4DB-000086391334}']
    procedure set_DataSource(Param1: IUnknown); safecall;
    function get_DataType(nIndex: Smallint): CrosstabDataType; safecall;
    procedure set_DataType(nIndex: Smallint; pVal: CrosstabDataType); safecall;
    function get_Decimals: Smallint; safecall;
    procedure set_Decimals(pVal: Smallint); safecall;
    function get_Separator: WideString; safecall;
    procedure set_Separator(const pVal: WideString); safecall;
    function get_DateFormat: CrosstabDateFormat; safecall;
    procedure set_DateFormat(pVal: CrosstabDateFormat); safecall;
  end;

Type
  CrosstabProvider = class;

 
//*********************************************************************//
// Class: CrosstabProvider
//*********************************************************************//
  CrosstabProvider = class
  private
    DefaultInterface : ICrosstabProvider;
  public
    constructor Create();
  protected
// Properties
    procedure Set_DateFormat(val: CrosstabDateFormat);
    function Get_DateFormat: CrosstabDateFormat;
    procedure Set_DataSource(val: IUnknown);
    function Get_Separator: WideString;
    procedure Set_Separator(const val: WideString);
    function Get_Decimals: Smallint;
    procedure Set_Decimals(val: Smallint);
    function Get_DataType(nIndex: Smallint): CrosstabDataType;
    procedure Set_DataType(nIndex: Smallint; val: CrosstabDataType);
  public
// Methods
    property DateFormat: CrosstabDateFormat read Get_DateFormat write Set_DateFormat;
    property Separator: WideString read Get_Separator write Set_Separator;
    property Decimals: Smallint read Get_Decimals write Set_Decimals;
    property DataType[nIndex: Smallint]: CrosstabDataType read Get_DataType write Set_DataType;
    property DataSource: IUnknown write Set_DataSource;
    property InterfacePtr : ICrosstabProvider read DefaultInterface;
  end;


implementation

procedure CrosstabProvider.Set_DataSource(val: IUnknown);
begin
   DefaultInterface.Set_DataSource(val);
end;
 
function CrosstabProvider.Get_DateFormat(): CrosstabDateFormat;
begin
   Result := DefaultInterface.Get_DateFormat();
end;
 
procedure CrosstabProvider.Set_DateFormat(val: CrosstabDateFormat);
begin
   DefaultInterface.Set_DateFormat(val);
end;
 
function CrosstabProvider.Get_Separator(): WideString;
begin
   Result := DefaultInterface.Get_Separator();
end;
 
procedure CrosstabProvider.Set_Separator(const val: WideString);
begin
   DefaultInterface.Set_Separator(val);
end;
 
function CrosstabProvider.Get_Decimals(): Smallint;
begin
   Result := DefaultInterface.Get_Decimals();
end;
 
procedure CrosstabProvider.Set_Decimals(val: Smallint);
begin
   DefaultInterface.Set_Decimals(val);
end;
 
function CrosstabProvider.Get_DataType(nIndex: Smallint): CrosstabDataType;
begin
   Result := DefaultInterface.Get_DataType(nIndex);
end;
 
procedure CrosstabProvider.Set_DataType(nIndex: Smallint; val: CrosstabDataType);
begin
   DefaultInterface.Set_DataType(nIndex, val);
end;
 
constructor CrosstabProvider.Create();
begin
  DefaultInterface := CreateComObject(CLASS_CrosstabProvider) as ICrosstabProvider;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -