procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
MyNow : TDateTime;
Hour, Min, Sec, mSec : Word;
vh, vm, vs : Real;
begin
edit1.Text:=timetostr(NOW);
Self.Refresh;
MyNow := Now;
DecodeTime(MyNow,Hour,Min,Sec,mSec);
//每小时弧度值=0.52333 0.52333/60 就是每分钟弧度值
vh := (HOUR/12.0*2*Pi)+Min*0.008722; //整点小时弧度值+每分钟弧度值
//上面是计算时针的数据
vm := Min/60.0*2*Pi; //计算分针弧度值
vs := Sec/60.0*2*Pi; //计算秒针弧度值
with Canvas do
begin
Pen.Width:=5; //画时针
Pen.Color := clbackground;
MoveTo(235,115);
LineTo(235+Round(40*Sin(vh)),115-Round(40*Cos(vh)));
Pen.Width:=3; //画分针
Pen.Color := clGreen;
MoveTo(235,115);
LineTo(235+Round(50*Sin(vm)),115-Round(50*Cos(vm)));
Pen.Width:=1; //画秒针
Pen.Color := clRed;
MoveTo(235,115);
lineto(235+round(65*sin(vs)),115-round(65*cos(vs)));
end;
// 画一个圆
with Canvas do
begin
brush.Style:=bsClear;
pen.color:=clbackground;
pen.Width:=3;
Ellipse(160,40,310,190);
end;
// 画一个圆
PlaySound(Pchar(ExtractFilePath(Application.exename)+'\sound.wav'),0,SND_SYNC); //播放当前目录下的钟走音频
end;