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

来源:互联网 发布:mac win10 文件共享 编辑:程序博客网 时间:2024/05/17 03:53
 

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;

原创粉丝点击