?? uclock.pas
字號:
unit uclock;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
Twannianli = class(TForm)
Panel1: TPanel;
PaintBox1: TPaintBox;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
procedure PaintBox1Paint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
x,y,x1,y1,x2,y2:integer;
s,m,h : real;
halfday : string;
public
{ Public declarations }
end;
var
wannianli: Twannianli;
implementation
{$R *.DFM}
procedure Twannianli.PaintBox1Paint(Sender: TObject);
begin
with paintbox1.Canvas do
begin
pen.Width :=1;
pen.Color :=clRed;
moveto(trunc(paintbox1.Width/2) ,trunc(paintbox1.Height/2));
lineto(trunc(paintbox1.Width/2+x/1.4),trunc(paintbox1.Height/2-y/1.4));
pen.width:=2;
moveto(trunc(paintbox1.Width/2) ,trunc(paintbox1.Height/2));
lineto(trunc(paintbox1.Width/2-x/4),trunc(paintbox1.Height/2+y/4));
pen.Color :=clGreen;
moveto(trunc(paintbox1.Width/2),trunc(paintbox1.Height/2));
lineto(trunc(paintbox1.Width/2)+trunc(x1/1.5),
trunc(paintbox1.Height/2)-trunc(y1/1.5));
pen.Width :=4;
pen.Color :=clBlack;
moveto(trunc(paintbox1.Width/2),trunc(paintbox1.Height/2));
lineto(trunc(paintbox1.Width/2)+trunc(x2/2.1),
trunc(paintbox1.Height/2)-trunc(y2/2.1));
Font.Size:=20;
textout(trunc(paintbox1.Width/2)-10 ,trunc(paintbox1.Height/2)-140,'12');
textout(trunc(paintbox1.Width/2)-5 ,trunc(paintbox1.Height/2)+110,'6');
textout(trunc(paintbox1.Width/2)+160 ,trunc(paintbox1.Height/2)-15,'3');
textout(trunc(paintbox1.Width/2)-170 ,trunc(paintbox1.Height/2)-15,'9');
end;
end;
procedure Twannianli.Timer1Timer(Sender: TObject);
begin
if (time-trunc(time))>0.5 then
halfday:=' PM'
else
halfday:=' AM';
label2.Caption:=timetostr(time)+halfday;
x:=trunc(150*cos(s)); //以極坐標確定(x,y)的值。
x1:=trunc(150*cos(m));
x2:=trunc(150*cos(h));
y:=trunc(150*sin(s));
y1:=trunc(150*sin(m));
y2:=trunc(150*sin(h));
paintbox1.Invalidate;
paintbox1.Update;
s:=s-pi/30; //每秒鐘秒針走180/30度。
m:=m-pi/1800; //每秒鐘分針走180/1800度。
h:=h-pi/108000; //每秒鐘時針走180/10800度。
end;
procedure Twannianli.FormCreate(Sender: TObject);
var
nowtime : real;
begin
label1.Caption:='Now Time';
nowtime:=(time-trunc(time))*24*60*60;
if nowtime>43200 then
nowtime:=nowtime-43200;
h:=pi/2-nowtime/3600/12*2*pi;
m:=pi/2-nowtime/3600*2*pi;
s:=pi/2-nowtime/60*2*pi;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -