home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / Runimage / Delphi50 / Demos / Quickrpt / Qr2 / menu.pas < prev    next >
Pascal/Delphi Source File  |  1999-08-11  |  4KB  |  135 lines

  1. { :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2.   :: QuickReport 2.0 for Delphi 1.0/2.0/3.0                  ::
  3.   ::                                                         ::
  4.   :: Example reports project                                 ::
  5.   ::                                                         ::
  6.   :: Copyright (c) 1997 QuSoft AS                            ::
  7.   :: All Rights Reserved                                     ::
  8.   ::                                                         ::
  9.   :: web: http://www.qusoft.no   mail: support@qusoft.no     ::
  10.   ::                             fax: +47 22 41 74 91        ::
  11.   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: }
  12.  
  13. unit Menu;
  14.  
  15. interface
  16.  
  17. uses
  18.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  19.   Forms, Dialogs, StdCtrls, Quickrpt, List, GrpList, manygrp, MD, ExtCtrls, qrextra;
  20.  
  21. type
  22.   TMainForm = class(TForm)
  23.     GroupBox1: TGroupBox;
  24.     SimpleList: TRadioButton;
  25.     GroupedList: TRadioButton;
  26.     MasterDetail: TRadioButton;
  27.     SQLMasterDetail: TRadioButton;
  28.     Description: TMemo;
  29.     Preview: TButton;
  30.     Print: TButton;
  31.     Exit: TButton;
  32.     Label1: TLabel;
  33.     Label2: TLabel;
  34.     Label3: TLabel;
  35.     Image2: TImage;
  36.     RadioButton1: TRadioButton;
  37.     CompositeReport: TQuickRep;
  38.     QRCompositeReport1: TQRCompositeReport;
  39.     procedure SimpleListClick(Sender: TObject);
  40.     procedure PreviewClick(Sender: TObject);
  41.     procedure PrintClick(Sender: TObject);
  42.     procedure ExitClick(Sender: TObject);
  43.     procedure FormActivate(Sender: TObject);
  44.     procedure GroupedListClick(Sender: TObject);
  45.     procedure MasterDetailClick(Sender: TObject);
  46.     procedure SQLMasterDetailClick(Sender: TObject);
  47.     procedure RadioButton1Click(Sender: TObject);
  48.     procedure QRCompositeReport1AddReports(Sender: TObject);
  49.   private
  50.     FReport : TQuickRep;
  51.     procedure SetReport(Value : TQuickRep);
  52.   public
  53.     property Report : TQuickRep read FReport write SetReport;
  54.   end;
  55.  
  56. var
  57.   MainForm: TMainForm;
  58.  
  59. implementation
  60.  
  61. {$R *.DFM}
  62.  
  63. procedure TMainForm.SetReport(Value : TQuickRep);
  64. begin
  65.   FReport:=Value;
  66.   Description.Lines.Assign(Report.Description);
  67. end;
  68.  
  69. procedure TMainForm.PreviewClick(Sender: TObject);
  70. begin
  71.   if Report = CompositeReport then
  72.   begin
  73.     QRCompositeReport1.Preview;
  74.   end else
  75.     Report.Preview;
  76. end;
  77.  
  78. procedure TMainForm.PrintClick(Sender: TObject);
  79. begin
  80.   if Report = CompositeReport then
  81.   begin
  82.     QRCompositeReport1.Print;
  83.   end else
  84.     Report.Print;
  85. end;
  86.  
  87. procedure TMainForm.ExitClick(Sender: TObject);
  88. begin
  89.   Close;
  90. end;
  91.  
  92. procedure TMainForm.FormActivate(Sender: TObject);
  93. begin
  94.   if Description.Lines.Count = 0 then
  95.     SimpleListClick(Self);
  96. end;
  97.  
  98. procedure TMainForm.SimpleListClick(Sender: TObject);
  99. begin
  100.   Report:=ListForm.QuickRep;
  101. end;
  102.  
  103. procedure TMainForm.GroupedListClick(Sender: TObject);
  104. begin
  105.   Report := GrpListForm.QuickRep;
  106. end;
  107.  
  108. procedure TMainForm.MasterDetailClick(Sender: TObject);
  109. begin
  110.   Report:=MDForm.QuickRep;
  111. end;
  112.  
  113. procedure TMainForm.SQLMasterDetailClick(Sender: TObject);
  114. begin
  115.   Report:= ManyGrpForm.QuickRep;
  116. end;
  117.  
  118. procedure TMainForm.RadioButton1Click(Sender: TObject);
  119. begin
  120.   Report := CompositeReport;
  121. end;
  122.  
  123. procedure TMainForm.QRCompositeReport1AddReports(Sender: TObject);
  124. begin
  125.   with QRCompositeReport1 do
  126.   begin
  127.     Reports.Add(ListForm.QuickRep);
  128.     Reports.Add(GrpListForm.QuickRep);
  129.     Reports.Add(MDForm.QuickRep);
  130.     Reports.Add(ManyGrpForm.QuickRep);
  131.   end;
  132. end;
  133.  
  134. end.
  135.