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

📄 unit4.pas

📁 delphi编写的时钟程序
💻 PAS
字号:
unit Unit4;

interface

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

type
  TForm4 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    hourcolor1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ComboBox2: TComboBox;
    GroupBox4: TGroupBox;
    Label7: TLabel;
    Label9: TLabel;
    Label11: TLabel;
    secondcolor1: TLabel;
    ComboBox4: TComboBox;
    GroupBox5: TGroupBox;
    Label6: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    minutecolor1: TLabel;
    ComboBox3: TComboBox;
    TabSheet2: TTabSheet;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    GroupBox6: TGroupBox;
    SpeedButton1: TSpeedButton;
    ComboBox1: TComboBox;
    TabSheet3: TTabSheet;
    GroupBox7: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox5: TCheckBox;
    TabSheet4: TTabSheet;
    Image1: TImage;
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    ColorDialog1: TColorDialog;
    ComboBox5: TComboBox;
    ComboBox6: TComboBox;
    ComboBox7: TComboBox;
    procedure ListBox1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure hourcolor1Click(Sender: TObject);
    procedure minutecolor1Click(Sender: TObject);
    procedure secondcolor1Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure ComboBox3Change(Sender: TObject);
    procedure ComboBox4Change(Sender: TObject);
    procedure ComboBox5Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
  clockbmp :string;
  secondcolor,hourcolor,minutecolor:Tcolor;
  hourwidth,minutewidth,secondwidth:integer;
  hourstyle,minutestyle,secondstyle:String;
  //changed:Boolean;
implementation

uses Unit1;

{$R *.dfm}
procedure TForm4.ListBox1Click(Sender: TObject);
begin
 if listbox1.Items[listbox1.ItemIndex]<>'' then
 begin
  clockbmp:=listbox1.Items[listbox1.ItemIndex] ;
  clockbmp:=extractFilepath(application.ExeName)+'bmp\'+clockbmp;
  image1.Picture.LoadFromFile(clockbmp);
  
end;
 //changed:=1;
end;

procedure TForm4.BitBtn1Click(Sender: TObject);
begin
   clockbmp:=listbox1.Items[listbox1.ItemIndex] ;
   clockbmp:=extractFilepath(application.ExeName)+'bmp\'+clockbmp;
   Form1.Image1.Picture.LoadFromFile(clockbmp);
   Form1.Show;
   Form4.Visible:=False;
   Form1.N2.checked:=false;
end;

procedure TForm4.hourcolor1Click(Sender: TObject);
var
  c:string;
begin
if colordialog1.Execute then
 begin
    c:=tlabel(sender).Name;
    tlabel(sender).Color :=colordialog1.Color ;
    hourcolor:=colordialog1.color;
    
 end;
  //changed:=1;
end;

procedure TForm4.minutecolor1Click(Sender: TObject);
var
  c:string;
begin
   if colordialog1.Execute then
    begin
    c:=tlabel(sender).Name;
    tlabel(sender).Color :=colordialog1.Color ;
    minutecolor:=colordialog1.color;
  end;
   //changed:=1;
end;

procedure TForm4.secondcolor1Click(Sender: TObject);
var
  c:string;
begin
   if colordialog1.Execute then
    begin
    c:=tlabel(sender).Name;
    tlabel(sender).Color :=colordialog1.Color ;
    secondcolor:=colordialog1.color;
  end;
   //changed:=1;
end;

procedure TForm4.ComboBox2Change(Sender: TObject);
begin
 hourwidth:=strtoint(combobox2.Text);
  //changed:=True;
end;

procedure TForm4.ComboBox3Change(Sender: TObject);
begin
  minutewidth:=strtoint(combobox3.Text) ;
   //changed:=1;
end;

procedure TForm4.ComboBox4Change(Sender: TObject);
begin
  secondwidth:=strtoint(combobox4.Text) ;
   //changed:=1;
end;

//---------未实现--------
procedure TForm4.ComboBox5Change(Sender: TObject);
begin
  {case combobox5.Text  of
  PsSolid:hourstyle:= PsSolid;
  PsDash :hourstyle:=PsDash;
  PsDot  :hourstyle:= PsDot ;
  PsDashDot :hourstyle:= PsDashDot;
  PsDashDotDot:hourstyle:= PsDashDotDot;
  PsClear    : hourstyle:=PsClear ;
  end;}
  hourstyle:= combobox5.Text;
end;

{procedure TForm4.Timer1Timer(Sender: TObject);
var
  mynow:TDatetime;
  hour,min,sec,msec:Word;
  vh,vm,vs:Real;
  PoiLong:Integer;
begin
   mynow:=now;
   decodetime(mynow,hour,min,sec,msec);   //用相应的变量保存当前时间的小时\分钟\秒\毫秒
   vm:=min/60.0*2*pi;  //计算分钟值
   vh:=hour/12.0*2*pi+(vm/12);  //通过分钟计算小时
   vs:=sec/60.0*2*pi;  //计算秒值
   with Form1.Canvas do
   begin
     PoiLong:=Form1.Width div 2; //设置表心位置
     //画时针
     Pen.Color:=hourcolor;
     pen.Width:=hourwidth;
     Moveto(PoiLong,PoiLong);
     Form1.Refresh;
     Lineto(PoiLong+round(PoiLong/3.7*sin(vh)),PoiLong-Round(PoiLong/3.7*cos(vh)));
     //画分针
     Pen.Color:=minutecolor;
     pen.Width:=minutewidth;
     Moveto(PoiLong,PoiLong);
     Lineto(PoiLong+round(PoiLong/2.3*sin(vm)),PoiLong-Round(PoiLong/2.3*cos(vm)));
     //画秒针
     Pen.Color:=secondcolor;
     pen.Width:=secondwidth;
     Moveto(PoiLong,PoiLong);
     Lineto(PoiLong+round(PoiLong/1.7*sin(vs)),PoiLong-Round(PoiLong/1.7*cos(vs)));
  end;
end;  }


end.

⌨️ 快捷键说明

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