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

 

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值