一个画钟程序,终于做完了,作个记号
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;
總結
以上是生活随笔為你收集整理的一个画钟程序,终于做完了,作个记号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓自定义View画钟实现转动
- 下一篇: 用户与群组通信