⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uclock.pas

📁 从同学哪里拷贝来的程序,毕业设计用的,大家看看,有帮助的哦
💻 PAS
字号:
unit uclock;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  Twannianli = class(TForm)
    Panel1: TPanel;
    PaintBox1: TPaintBox;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    procedure PaintBox1Paint(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    x,y,x1,y1,x2,y2:integer;
    s,m,h : real;
    halfday : string;
  public
    { Public declarations }
  end;

var
  wannianli: Twannianli;

implementation

{$R *.DFM}

procedure Twannianli.PaintBox1Paint(Sender: TObject);
begin
  with paintbox1.Canvas do
  begin
    pen.Width :=1;
    pen.Color :=clRed;
    moveto(trunc(paintbox1.Width/2) ,trunc(paintbox1.Height/2));
    lineto(trunc(paintbox1.Width/2+x/1.4),trunc(paintbox1.Height/2-y/1.4));
    pen.width:=2;
    moveto(trunc(paintbox1.Width/2) ,trunc(paintbox1.Height/2));
    lineto(trunc(paintbox1.Width/2-x/4),trunc(paintbox1.Height/2+y/4));
    pen.Color :=clGreen;
    moveto(trunc(paintbox1.Width/2),trunc(paintbox1.Height/2));
    lineto(trunc(paintbox1.Width/2)+trunc(x1/1.5),
      trunc(paintbox1.Height/2)-trunc(y1/1.5));
    pen.Width :=4;
    pen.Color :=clBlack;
    moveto(trunc(paintbox1.Width/2),trunc(paintbox1.Height/2));
    lineto(trunc(paintbox1.Width/2)+trunc(x2/2.1),
      trunc(paintbox1.Height/2)-trunc(y2/2.1));
    Font.Size:=20;
    textout(trunc(paintbox1.Width/2)-10 ,trunc(paintbox1.Height/2)-140,'12');
    textout(trunc(paintbox1.Width/2)-5 ,trunc(paintbox1.Height/2)+110,'6');
    textout(trunc(paintbox1.Width/2)+160 ,trunc(paintbox1.Height/2)-15,'3');
    textout(trunc(paintbox1.Width/2)-170 ,trunc(paintbox1.Height/2)-15,'9');

  end;
end;

procedure Twannianli.Timer1Timer(Sender: TObject);
begin
  if (time-trunc(time))>0.5 then
    halfday:=' PM'
  else
    halfday:=' AM';
  label2.Caption:=timetostr(time)+halfday;
  x:=trunc(150*cos(s));           //以极坐标确定(x,y)的值。
  x1:=trunc(150*cos(m));
  x2:=trunc(150*cos(h));
  y:=trunc(150*sin(s));
  y1:=trunc(150*sin(m));
  y2:=trunc(150*sin(h));
  paintbox1.Invalidate;
  paintbox1.Update;
  s:=s-pi/30;                       //每秒钟秒针走180/30度。
  m:=m-pi/1800;                  //每秒钟分针走180/1800度。
  h:=h-pi/108000;               //每秒钟时针走180/10800度。
end;

procedure Twannianli.FormCreate(Sender: TObject);
var
  nowtime : real;                
begin
  label1.Caption:='Now Time';
  nowtime:=(time-trunc(time))*24*60*60;
  if nowtime>43200 then
    nowtime:=nowtime-43200;
  h:=pi/2-nowtime/3600/12*2*pi;
  m:=pi/2-nowtime/3600*2*pi;
  s:=pi/2-nowtime/60*2*pi;


end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -