home *** CD-ROM | disk | FTP | other *** search
/ PC Expert 29 / Pce29cd.iso / RUNIMAGE / DELPHI40 / DEMOS / TEECHART / UPAGES.PAS < prev    next >
Pascal/Delphi Source File  |  1998-06-16  |  4KB  |  117 lines

  1. {****************************************}
  2. {    TeeChart. TChart Component          }
  3. { Copyright (c) 1995,96 by David Berneda }
  4. {    All Rights Reserved                 }
  5. {****************************************}
  6. unit Upages;
  7.  
  8. interface
  9. { This form demonstrates how Charts can be divided in several Pages.
  10.   The main Chart property is "MaxPointsPerPage".
  11.   TeeChart automatically calculates the total number of pages based on that
  12.   property.
  13.   The other Paging properties and methods are:
  14.  
  15.     Chart.Page     : Longint    Sets and returns the current Chart Page.
  16.     Chart.NumPages : Longint    Returns the Total Number of Pages.
  17.     method Chart.NextPage ;     Goes to next page.
  18.     method Chart.PreviousPage ; Goes to previous page.
  19. }
  20. uses
  21.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  22.   Forms, Dialogs, Chart, Series, ExtCtrls, StdCtrls, Spin, BubbleCh, Buttons,
  23.   Teengine, TeeProcs;
  24.  
  25. type
  26.   TPagesForm = class(TForm)
  27.     Chart1: TChart;
  28.     LineSeries1: TLineSeries;
  29.     BubbleSeries1: TBubbleSeries;
  30.     Panel1: TPanel;
  31.     SpinEdit1: TSpinEdit;
  32.     Label2: TLabel;
  33.     Label1: TLabel;
  34.     ButtonPrevious: TBitBtn;
  35.     ButtonNext: TBitBtn;
  36.     BLastPage: TBitBtn;
  37.     BFirstPage: TBitBtn;
  38.     CheckBox1: TCheckBox;
  39.     BitBtn3: TBitBtn;
  40.     Memo1: TMemo;
  41.     procedure FormCreate(Sender: TObject);
  42.     procedure SpinEdit1Change(Sender: TObject);
  43.     procedure Chart1PageChange(Sender: TObject);
  44.     procedure ButtonPreviousClick(Sender: TObject);
  45.     procedure ButtonNextClick(Sender: TObject);
  46.     procedure CheckBox1Click(Sender: TObject);
  47.     procedure BFirstPageClick(Sender: TObject);
  48.     procedure BLastPageClick(Sender: TObject);
  49.   private
  50.     { Private declarations }
  51.   public
  52.     { Public declarations }
  53.   end;
  54.  
  55. var
  56.   PagesForm: TPagesForm;
  57.  
  58. implementation
  59.  
  60. {$R *.DFM}
  61.  
  62. procedure TPagesForm.FormCreate(Sender: TObject);
  63. begin
  64.   LineSeries1.FillSampleValues(100);      { <-- some random points }
  65.   BubbleSeries1.FillSampleValues(100);
  66.   SpinEdit1.Value:=18;         { <-- max number of points per page }
  67.   Chart1PageChange(Chart1);    { <-- repaint page / number of pages }
  68. end;
  69.  
  70. procedure TPagesForm.SpinEdit1Change(Sender: TObject);
  71. begin
  72.   { change the max number of points per page }
  73.   { a value of Zero means "No pages. Show all points" }
  74.   Chart1.MaxPointsPerPage:=SpinEdit1.Value;
  75.   Chart1PageChange(Chart1); { <-- repaint page / number of pages }
  76. end;
  77.  
  78. procedure TPagesForm.Chart1PageChange(Sender: TObject);
  79. begin
  80.   Chart1.UndoZoom;
  81.   { show the current page number and the total number of pages }
  82.   { (like a report) }
  83.   Label1.Caption:=IntToStr(Chart1.Page)+'/'+IntToStr(Chart1.NumPages);
  84.   { enable or disable buttons }
  85.   ButtonPrevious.Enabled:=Chart1.Page > 1;
  86.   ButtonNext.Enabled:=Chart1.Page < Chart1.NumPages;
  87.   BLastPage.Enabled:=ButtonNext.Enabled;
  88.   BFirstPage.Enabled:=ButtonPrevious.Enabled;
  89. end;
  90.  
  91. procedure TPagesForm.ButtonPreviousClick(Sender: TObject);
  92. begin
  93.   Chart1.PreviousPage; { <-- goto previous chart page }
  94. end;
  95.  
  96. procedure TPagesForm.ButtonNextClick(Sender: TObject);
  97. begin
  98.   Chart1.NextPage;  { <-- goto next chart page }
  99. end;
  100.  
  101. procedure TPagesForm.CheckBox1Click(Sender: TObject);
  102. begin
  103.   Chart1.ScaleLastPage:=CheckBox1.Checked;  { <-- only for last page }
  104. end;
  105.  
  106. procedure TPagesForm.BFirstPageClick(Sender: TObject);
  107. begin
  108.   Chart1.Page:=1;  { go to first page }
  109. end;
  110.  
  111. procedure TPagesForm.BLastPageClick(Sender: TObject);
  112. begin
  113.   Chart1.Page:=Chart1.NumPages;  { go to last page }
  114. end;
  115.  
  116. end.
  117.