home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Delphi1_And_Delphi2 / EXAMPLES / TEECLOCK / CLOCK1.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  4.8 KB  |  195 lines

  1. {****************************************}
  2. {    TeeClock Component                  }
  3. { Copyright (c) 1995-98 by David Berneda }
  4. {    All Rights Reserved                 }
  5. {****************************************}
  6. unit Clock1;
  7. {$I teedefs.inc}
  8.  
  9. interface
  10.  
  11. uses
  12.   WinProcs,WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  13.   TeEngine, Series, TeePolar, TeeRose, TeeProcs, Chart, ExtCtrls,
  14.   StdCtrls, Buttons;
  15.  
  16. type
  17.   TClockDemoForm = class(TForm)
  18.     Image1: TImage;
  19.     BitBtn1: TBitBtn;
  20.     Label1: TLabel;
  21.     LabelHint: TLabel;
  22.     Chart1: TChart;
  23.     Series1: TClockSeries;
  24.     Chart2: TChart;
  25.     ClockSeries1: TClockSeries;
  26.     Chart3: TChart;
  27.     ClockSeries2: TClockSeries;
  28.     Chart4: TChart;
  29.     ClockSeries3: TClockSeries;
  30.     Label4: TLabel;
  31.     Button1: TButton;
  32.     Chart5: TChart;
  33.     ClockSeries4: TClockSeries;
  34.     Chart6: TChart;
  35.     ClockSeries5: TClockSeries;
  36.     LabelWWW: TLabel;
  37.     Timer1: TTimer;
  38.     Bevel1: TBevel;
  39.     Image2: TImage;
  40.     CheckBox1: TCheckBox;
  41.     LabelFeel: TLabel;
  42.     Timer2: TTimer;
  43.     procedure Chart3DblClick(Sender: TObject);
  44.     procedure BitBtn1Click(Sender: TObject);
  45.     procedure Button1Click(Sender: TObject);
  46.     procedure Timer1Timer(Sender: TObject);
  47.     procedure FormCreate(Sender: TObject);
  48.     procedure Chart2AfterDraw(Sender: TObject);
  49.     procedure LabelWWWClick(Sender: TObject);
  50.     procedure Image2Click(Sender: TObject);
  51.     procedure FormPaint(Sender: TObject);
  52.     procedure CheckBox1Click(Sender: TObject);
  53.     procedure Timer2Timer(Sender: TObject);
  54.   private
  55.     { Private declarations }
  56.   public
  57.     { Public declarations }
  58.     Delta:Integer;
  59.     DeltaRotation:Integer;
  60.   end;
  61.  
  62. var
  63.   ClockDemoForm: TClockDemoForm;
  64.  
  65. implementation
  66.  
  67. uses Clock2, TeeConst, TeeAbout;
  68.  
  69. {$R *.DFM}
  70. Const TeeMsg_ClockVersion='TeeClock 1.0';
  71.  
  72. procedure TClockDemoForm.Chart3DblClick(Sender: TObject);
  73. var t:Integer;
  74.     tmp,tmp2:TChartSeries;
  75. begin
  76.   with TFormTeeClockEditor.Create(Self) do
  77.   try
  78.     Chart1.Assign((Sender as TChart));
  79.     for t:=0 to (Sender as TChart).SeriesCount-1 do
  80.     begin
  81.       tmp2:=(Sender as TChart).Series[t];
  82.       tmp:=CreateNewSeries(FormTeeClockEditor,Chart1,TChartSeriesClass(tmp2.ClassType),nil);
  83.       tmp.Assign(tmp2);
  84.     end;
  85.     Chart1.Align:=alClient;
  86.     ShowModal;
  87.   finally
  88.     Free;
  89.   end;
  90. end;
  91.  
  92. procedure TClockDemoForm.BitBtn1Click(Sender: TObject);
  93. begin
  94.   With TTeeAboutForm.Create(nil) do
  95.   try
  96.     ClearProducts;
  97.     AddProduct(TeeMsg_ClockVersion,995,500);
  98.     LabelSourceCode.Visible:=False;
  99.     Panel2.Visible:=False;
  100.     LabelVersion.Caption:=TeeMsg_ClockVersion;
  101.     Caption:='About '+TeeMsg_ClockVersion+'...';
  102.     BOrder.Caption:='How to &Licence it ???';
  103.     LabelThanks.Caption:='Thank You for Ordering '+TeeMsg_ClockVersion+' !';
  104.     TeeDefProductName:=TeeMsg_ClockVersion+' VCL';
  105.     Image1.Picture.Assign(Self.Image1.Picture);
  106.     ShowModal;
  107.   finally
  108.     Free;
  109.   end;
  110. end;
  111.  
  112. procedure TClockDemoForm.Button1Click(Sender: TObject);
  113. begin
  114.   Close;
  115. end;
  116.  
  117. procedure TClockDemoForm.Timer1Timer(Sender: TObject);
  118.  
  119.   Function Change(Value,Min,Max:Integer; Var Delta:Integer):Integer;
  120.   begin
  121.     if Delta>0 then
  122.     begin
  123.        if Value<Max then result:=Value+Delta else
  124.        begin
  125.          result:=Max;
  126.          Delta:=-Delta;
  127.        end;
  128.     end
  129.     else
  130.        if Value>Min then result:=Value+Delta else
  131.        begin
  132.          result:=Min;
  133.          Delta:=-Delta;
  134.        end;
  135.   end;
  136.  
  137. begin
  138.   With Chart4.View3DOptions do
  139.        Zoom:=Change(Zoom,70,200,Delta);
  140.   With Chart6.View3DOptions do
  141.        Rotation:=Change(Rotation,270,360,DeltaRotation);
  142. end;
  143.  
  144. procedure TClockDemoForm.FormCreate(Sender: TObject);
  145. begin
  146.   Delta:=5;
  147.   DeltaRotation:=1;
  148.   ClockSeries5.Pointer.Visible:=True;
  149.   if not Chart1.IsScreenHighColor then
  150.      ShowMessage('Warning: Much better viewed with more than 256 colors'+#13+
  151.      'video mode.');
  152. end;
  153.  
  154. procedure TClockDemoForm.Chart2AfterDraw(Sender: TObject);
  155. begin
  156.   if Chart2.Foot.Text[0]<>TimeToStr(Now) then
  157.      Chart2.Foot.Text[0]:=TimeToStr(Now);
  158. end;
  159.  
  160. procedure TClockDemoForm.LabelWWWClick(Sender: TObject);
  161. begin
  162.  {$IFNDEF D1}
  163.   GotoURL(Handle,LabelWWW.Caption);
  164.  {$ENDIF}
  165. end;
  166.  
  167. procedure TClockDemoForm.Image2Click(Sender: TObject);
  168. begin
  169.   LabelWWWClick(Self);
  170. end;
  171.  
  172. procedure TClockDemoForm.FormPaint(Sender: TObject);
  173. var t,tt:Integer;
  174. begin
  175.   if not CheckBox1.Checked then
  176.   With Canvas do
  177.   for t:=0 to ClientWidth do
  178.   for tt:=0 to ClientHeight do
  179.    if ((t mod 8)=0) and ((tt mod 8)=0) then
  180.       Pixels[t,tt]:=clBlue;
  181. end;
  182.  
  183. procedure TClockDemoForm.CheckBox1Click(Sender: TObject);
  184. begin
  185.   RePaint;
  186. end;
  187.  
  188. procedure TClockDemoForm.Timer2Timer(Sender: TObject);
  189. begin
  190.   LabelHint.Visible:=not LabelHint.Visible;
  191.   LabelFeel.Visible:=not LabelHint.Visible;
  192. end;
  193.  
  194. end.
  195.