📄 unit1.pas
字号:
unit Unit1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FirstTime : Boolean;
vho, vmo, vso : Real;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer;
begin
with Form1.Image1.Canvas do begin
Pen.Color := clWhite;
Pen.Style := psSolid;
Brush.Color := clWhite;
Brush.Style := bsSolid;
Rectangle(0,0,Width,Height);
Pen.Color := clBlack;
for i:=1 to 12 do
Pixels[17+Round(17*Sin(i/12.0*2*Pi)),17-Round(17*Cos(i/12.0*2*Pi))] := clBlack;
end;
FirstTime := True;
Form1.Panel1.Left := 0;
Form1.Panel1.Top := 0;
Form1.Width := Form1.Panel1.Width;
Form1.Height := Form1.Panel1.Height;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
MyNow : TDateTime;
Hour, Min,
Sec, mSec : Word;
vh, vm, vs : Real;
begin
MyNow := Now;
DecodeTime(MyNow,Hour,Min,Sec,mSec);
vh := Hour/12.0*2*Pi;
vm := Min/60.0*2*Pi;
vs := Sec/60.0*2*Pi;
with Form1.Image1.Canvas do begin
if not FirstTime then begin
Pen.Color := clWhite;
MoveTo(17,17);
LineTo(17+Round(12*Sin(vho)),17-Round(12*Cos(vho)));
MoveTo(17,17);
LineTo(17+Round(15*Sin(vmo)),17-Round(15*Cos(vmo)));
MoveTo(17,17);
LineTo(17+Round(15*Sin(vso)),17-Round(15*Cos(vso)));
end
else
FirstTime := False;
Pen.Color := clBlack;
MoveTo(17,17);
LineTo(17+Round(12*Sin(vh)),17-Round(12*Cos(vh)));
Pen.Color := clBlack;
MoveTo(17,17);
LineTo(17+Round(15*Sin(vm)),17-Round(15*Cos(vm)));
Pen.Color := clRed;
MoveTo(17,17);
LineTo(17+Round(15*Sin(vs)),17-Round(15*Cos(vs)));
end;
vho := vh;
vmo := vm;
vso := vs;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -