您的位置:首页 > 其它

一个画钟程序,终于做完了,作个记号

2011-12-17 19:07 260 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐