Componentes.Terceros.SDAC/internal/4.10.0.10/1/Demos/Win32/ThirdParty/ReportBuilder/myEURpt.pas
2007-10-05 14:48:18 +00:00

261 lines
7.3 KiB
ObjectPascal

//////////////////////////////////////////////////
// MS SQL Server Data Access Components
// Copyright © 1998,2000 Core Lab. All right reserved.
// ReportBuilder Report Demo
// Based on Digital Metaphors Corporation's demos
//////////////////////////////////////////////////
unit myEURpt;
interface
{ By removing the 'x' which begins each of these compiler directives,
you can enable different functionality within the end-user reporting
solution.
DADE - the data tab where queries can be created by the end-user
BDE - BDE support for the Query Tools
ADO - ADO support for the Query Tools
IBExpress - Interbase Express support for the Query Tools
RAP - the calc tab, where calculations can be coded at run-time
(You must download and install a copy of the RAP beta in order
to enable this feature)
CrossTab - adds the CrossTab component to the component palette in the
report designer.
CheckBox - adds a checkbox component to the component palette in the
report designer.
TeeChart - adds a teechart component to the report designer component
palette. This component works with the TeeChart delivered
with Delphi 3 and 4. It does NOT work with TeeChart 4.01,
which must be purchased from TeeMach.
TeeChart401 - adds a teechart component for use with TeeChart 4.01 from
TeeMach.
UseDesignPath - determines whether the path used by the Database
object on this form is replaced in the OnCreate event handler of
this form with the current path.}
{$DEFINE DADE} {remove the 'x' to enable DADE}
{x$DEFINE BDE} {remove the 'x' to enable Borland Database Engine (BDE) }
{x$DEFINE ADO} {remove the 'x' to enable ADO}
{x$DEFINE IBExpress} {remove the 'x' to enable Interbase Express}
{$DEFINE SDAC} {remove the 'x' to enable MS SQL Server Data Access Components}
{$DEFINE CrossTab} {remove the 'x' to enable CrossTab}
{x$DEFINE RAP} {remove the 'x' to enable RAP}
{x$DEFINE CheckBox} {remove the 'x' to enable CheckBox}
{x$DEFINE TeeChart} {remove the 'x' to enable standard TeeChart}
{x$DEFINE TeeChart401} {remove the 'x' to enable TeeChart 4.01}
{x$DEFINE UseDesignPath} {remove the 'x' to use the design-time settings of Database object on this form}
uses
{$IFDEF DADE}
daDatMan,
{$ENDIF}
{$IFDEF BDE}
daDBBDE,
{$ENDIF}
{$IFDEF ADO}
daADO,
{$ENDIF}
{$IFDEF IBExpress}
daIBExpress,
{$ENDIF}
{$IFDEF SDAC}
daSDAC,
{$ENDIF}
{$IFDEF CrossTab}
ppCTDsgn,
{$ENDIF}
{$IFDEF RAP}
raIDE,
{$ENDIF}
{$IFDEF CheckBox}
myChkBox,
{$ENDIF}
{$IFDEF TeeChart}
ppChrt, ppChrtDB,
{$ENDIF}
{$IFDEF TeeChart401}
ppChrt, ppChrtDP,
{$ENDIF}
Windows, Classes, Controls, SysUtils, Forms, StdCtrls, ExtCtrls, Dialogs, Graphics, DB, ppComm,
ppCache, ppClass, ppProd, ppReport, ppRptExp, ppBands, ppEndUsr, ppDBPipe, ppDB, ppPrnabl,
ppStrtch, ppDsgnDB, ppTypes, MSAccess, OLEDBAccess, ppFormWrapper, daDataView, daQueryDataView, ppModule,
daDataModule, ppCtrls, ppVar, ppRelatv, MemDS, DBAccess, ppViewr, daDatMod,
daDataVw, daQuery, daQClass, ppDBBDE, SdacVcl;
type
TmyEndUserSolution = class(TForm)
Shape11: TShape;
Label6: TLabel;
Shape12: TShape;
seDatabase: TMSConnection;
Shape9: TShape;
Label5: TLabel;
Shape10: TShape;
tblTable: TMSTable;
dsTable: TDataSource;
plTable: TppDBPipeline;
tblField: TMSTable;
dsField: TDataSource;
plField: TppDBPipeline;
ppDataDictionary: TppDataDictionary;
Shape6: TShape;
Label7: TLabel;
Shape5: TShape;
ppDesigner: TppDesigner;
Shape4: TShape;
Label8: TLabel;
Shape3: TShape;
tblItem: TMSTable;
dsItem: TDataSource;
plItem: TppDBPipeline;
ppReport: TppReport;
Label1: TLabel;
Shape1: TShape;
Shape2: TShape;
Shape15: TShape;
Label2: TLabel;
Shape16: TShape;
tblFolder: TMSTable;
dsFolder: TDataSource;
plFolder: TppDBPipeline;
btnLaunch: TButton;
ppReportExplorer: TppReportExplorer;
Shape22: TShape;
Label10: TLabel;
Shape23: TShape;
Shape24: TShape;
Shape25: TShape;
Shape26: TShape;
Memo1: TMemo;
pnlStatusBar: TPanel;
Shape7: TShape;
Shape20: TShape;
Shape29: TShape;
Shape18: TShape;
Shape17: TShape;
Shape8: TShape;
Shape13: TShape;
Label3: TLabel;
Shape14: TShape;
Label9: TLabel;
Shape19: TShape;
Shape21: TShape;
Shape27: TShape;
Label4: TLabel;
Shape28: TShape;
tblJoin: TMSTable;
dsJoin: TDataSource;
plJoin: TppDBPipeline;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
btCreate: TButton;
btDrop: TButton;
sqCreate: TMSQuery;
sqDrop: TMSQuery;
ppLabel1: TppLabel;
ppDBText1: TppDBText;
ppDBText2: TppDBText;
ppDBText3: TppDBText;
ppSystemVariable1: TppSystemVariable;
ppTitleBand1: TppTitleBand;
ppLabel2: TppLabel;
ppLabel3: TppLabel;
ppLabel4: TppLabel;
ppShape1: TppShape;
SDACQueryDataView1: TdaSDACQueryDataView;
MyTable1: TMSTable;
procedure FormCreate(Sender: TObject);
procedure btnLaunchClick(Sender: TObject);
procedure btCreateClick(Sender: TObject);
procedure btDropClick(Sender: TObject);
private
procedure LoadEndEvent(Sender: TObject);
procedure PreviewFormCreateEvent(Sender: TObject);
public
end;
var
myEndUserSolution: TmyEndUserSolution;
implementation
{$R *.DFM}
{------------------------------------------------------------------------------}
{ TmyReportObjects.FormCreate }
procedure TmyEndUserSolution.FormCreate(Sender: TObject);
begin
//Session.SQLHourGlass := False;
ClientHeight := btnLaunch.Top + btnLaunch.Height + pnlStatusBar.Height + 8;
ppReport.Template.OnLoadEnd := LoadEndEvent;
end; {procedure, FormCreate}
{------------------------------------------------------------------------------}
{ TmyReportObjects.btnLaunchClick }
procedure TmyEndUserSolution.btnLaunchClick(Sender: TObject);
begin
if not(ppReportExplorer.Execute) then begin
pnlStatusBar.Caption := 'Error: ' + ppReportExplorer.ErrorMessage;
MessageBeep(0);
end
else
pnlStatusBar.Caption := 'Explorer Launch Successful.'
end; {procedure, btnLaunchClick}
{------------------------------------------------------------------------------}
{ TmyReportObjects.LoadEndEvent }
procedure TmyEndUserSolution.LoadEndEvent(Sender: TObject);
begin
ppReport.OnPreviewFormCreate := PreviewFormCreateEvent;
end; {procedure, LoadEndEvent}
{------------------------------------------------------------------------------}
{ TmyReportObjects.PreviewFormCreateEvent }
procedure TmyEndUserSolution.PreviewFormCreateEvent(Sender: TObject);
begin
ppReport.PreviewForm.WindowState := wsMaximized;
TppViewer(ppReport.PreviewForm.Viewer).ZoomSetting := zs100Percent;
end; {procedure, PreviewFormCreateEvent}
procedure TmyEndUserSolution.btCreateClick(Sender: TObject);
begin
sqCreate.Execute;
end;
procedure TmyEndUserSolution.btDropClick(Sender: TObject);
begin
sqDrop.Execute;
end;
end.