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

📄 unit3.~pas

📁 Windows定时设置精灵(delphi).rar
💻 ~PAS
字号:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TFlatEditUnit, TFlatRadioButtonUnit, TFlatGroupBoxUnit,
  TFlatButtonUnit, ExtCtrls,Registry, abfComponents, jpeg;

type
  TForm3 = class(TForm)
    FlatEdit1: TFlatEdit;
    FlatEdit2: TFlatEdit;
    FlatEdit3: TFlatEdit;
    FlatEdit6: TFlatEdit;
    FlatEdit4: TFlatEdit;
    FlatEdit5: TFlatEdit;
    FlatGroupBox1: TFlatGroupBox;
    FlatRadioButton1: TFlatRadioButton;
    FlatRadioButton2: TFlatRadioButton;
    FlatButton1: TFlatButton;
    Timer1: TTimer;
    FlatButton2: TFlatButton;
    abfWav1: TabfWav;
    Timer2: TTimer;
    Image1: TImage;
    Label7: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label8: TLabel;
    Label6: TLabel;
    FlatButton4: TFlatButton;
    Panel1: TPanel;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FlatButton2Click(Sender: TObject);
    procedure FlatButton1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FlatButton4Click(Sender: TObject);
  private
    { Private declarations }
     procedure WmNCHitTest(var Msg: TWMNCHitTest); message WM_NCHITTEST;
    procedure DrawRndRectRegion;
  public
    { Public declarations }
  end;

var
  Form3: TForm3;
  it:tsystemtime;
  w,h,i,j,k,l,m,qr:boolean;
  reg:TRegistry;
  a,b,c,d:string;
  a1,b1,c1,d1,e1,f1,a2,b2,c2,d2,e2,f2,a3,b3,c3,d3,e3,f3,yy,mm,dd,hh,ii,cc:integer;
  implementation

{$R *.dfm}

procedure TForm3.DrawRndRectRegion;
var
  rgn: HRgn;
  Rect: TRect;
begin
  Rect := Self.Canvas.ClipRect;
  rgn := CreateRoundRectRgn(rect.left, rect.top, rect.right, rect.bottom, 35, 35);
  SetWindowRgn(Self.Handle, rgn, TRUE);
end;
procedure TForm3.WmNCHitTest(var Msg: TWMNCHitTest);
begin
  DefaultHandler(Msg);
  if Msg.Result = HTCLIENT then
    Msg.Result := HTCAPTION;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
qr:=false;
ClientWidth:=Image1.Width;
  ClientHeight:=Image1.Height;
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
if reg.ReadString('c')='0' then
begin
reg.Writestring('year1','0');
reg.Writestring('mon1','0');
reg.Writestring('day1','0');
reg.Writestring('hour1','0');
reg.Writestring('min1','0');
reg.Writestring('sec1','0');
reg.Writestring('message2t','0');
reg.Writestring('year2','0');
reg.Writestring('mon2','0');
reg.Writestring('day2','0');
reg.Writestring('hour2','0');
reg.Writestring('min2','0');
reg.Writestring('sec2','0');
reg.Writestring('message3t','0');
reg.Writestring('year3','0');
reg.Writestring('mon3','0');
reg.Writestring('day3','0');
reg.Writestring('hour3','0');
reg.Writestring('min3','0');
reg.Writestring('sec3','0');
reg.Writestring('message4t','0');
reg.Writestring('c','1');
end;
reg.closekey;//关闭该键
reg.free;//释放
getlocaltime(it);
flatedit1.text:=inttostr(it.wYear);
flatedit2.text:=inttostr(it.wmonth);
flatedit3.text:=inttostr(it.wday);
flatedit5.text:=inttostr(it.whour);
flatedit4.text:=inttostr(it.wminute);
flatedit6.text:=inttostr(it.wsecond);
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
a:=reg.Readstring('message2t');
b:=reg.Readstring('message3t');
c:=reg.Readstring('message4t');
a1:=strtoint(reg.Readstring('year1'));
b1:=strtoint(reg.Readstring('mon1'));
c1:=strtoint(reg.Readstring('day1'));
d1:=strtoint(reg.Readstring('hour1'));
e1:=strtoint(reg.Readstring('min1'));
f1:=strtoint(reg.Readstring('sec1'));
a2:=strtoint(reg.Readstring('year2'));
b2:=strtoint(reg.Readstring('mon2'));
c2:=strtoint(reg.Readstring('day2'));
d2:=strtoint(reg.Readstring('hour2'));
e2:=strtoint(reg.Readstring('min2'));
f2:=strtoint(reg.Readstring('sec2'));
a3:=strtoint(reg.Readstring('year3'));
b3:=strtoint(reg.Readstring('mon3'));
c3:=strtoint(reg.Readstring('day3'));
d3:=strtoint(reg.Readstring('hour3'));
e3:=strtoint(reg.Readstring('min3'));
f3:=strtoint(reg.Readstring('sec3'));
if (reg.Readstring('ch1')='1') and (reg.Readstring('message2t')='1') then
k:=true
else
 if (reg.Readstring('ch1')='0') and (reg.Readstring('message2t')='1') then
 w:=true;
if (reg.Readstring('ch2')='1') and (reg.Readstring('message3t')='1') then
l:=true
else
 if (reg.Readstring('ch2')='0') and (reg.Readstring('message3t')='1') then
 h:=true;
if (reg.Readstring('ch3')='1') and (reg.Readstring('message4t')='1') then
m:=true
else
 if (reg.Readstring('ch3')='0') and (reg.Readstring('message4t')='1') then
 i:=true;
reg.closekey;//关闭该键
reg.free;//释放

end;
procedure TForm3.Timer1Timer(Sender: TObject);
begin
getlocaltime(it);
  if (it.whour=d1) and
     (it.wminute=e1) and
     (it.wsecond=f1) and
     k=true
     then
     begin
     w:=false;
     k:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message2')),'每天提示',mb_ok);
     j:=false;
end;
  if (it.whour=d2) and
     (it.wminute=e2) and
     (it.wsecond=f2) and
     l=true
     then
     begin
     h:=false;
     l:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message3')),'每天提示',mb_ok);
     j:=false;
     end;
    if (it.whour=d3) and
     (it.wminute=e3) and
     (it.wsecond=f3) and
     m=true
     then
     begin
     i:=false;
     m:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message4')),'每天提示',mb_ok);
     j:=false;
  end;
  if (it.wyear=a1) and
     (it.wmonth=b1) and
     (it.wday=c1) and
     (it.whour=d1) and
     (it.wminute=e1) and
     (it.wsecond=f1) and
     w=true
     then
     begin
     w:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message2')),'提示',mb_ok);
     j:=false;
end;

  if (it.wyear=a2) and
     (it.wmonth=b2) and
     (it.wday=c2) and
     (it.whour=d2) and
     (it.wminute=e2) and
     (it.wsecond=f2) and
     h=true
     then
     begin
     h:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message3')),'提示',mb_ok);
     j:=false;
     end;
 if (it.wyear=a3) and
     (it.wmonth=b3) and
     (it.wday=c3) and
     (it.whour=d3) and
     (it.wminute=e3) and
     (it.wsecond=f3) and
     i=true
     then
     begin
     i:=false;
     reg:=tregistry.Create ;
     reg.rootkey:=HKEY_current_user;
     reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
     application.messagebox(pchar(reg.ReadString('message4')),'提示',mb_ok);
     j:=false;
  end;
   if 
     (it.whour=d1) and
     (e1*60+f1-(it.wminute*60+it.wsecond)<=30) and
    (e1*60+f1-(it.wminute*60+it.wsecond)>0)and
     w=true or k=true
    then
   j:=true;
    if
     (it.whour=d2) and
     (e2*60+f2-(it.wminute*60+it.wsecond)<=30) and
    (e2*60+f2-(it.wminute*60+it.wsecond)>0) and
    h=true or l=true
    then
   j:=true;
    if
     (it.whour=d3) and
     (e3*60+f3-(it.wminute*60+it.wsecond)<=30) and
    (e3*60+f3-(it.wminute*60+it.wsecond)>0) and
    i=true or m=true
    then
   j:=true;
 end;

procedure TForm3.FlatButton2Click(Sender: TObject);
begin
flatedit1.Enabled:=true;
flatedit2.Enabled:=true;
flatedit3.Enabled:=true;
flatedit4.Enabled:=true;
flatedit5.Enabled:=true;
flatedit6.Enabled:=true;
j:=false;
w:=false;
h:=false;
i:=false;
k:=false;
l:=false;
m:=false;
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\message',true);
if (reg.Readstring('bak')='1') then
reg.Writestring('message2t','0');
if (reg.Readstring('bak')='2') then
reg.Writestring('message3t','0');
if (reg.Readstring('bak')='3') then
reg.Writestring('message4t','0');
a:=reg.Readstring('message2t');
b:=reg.Readstring('message3t');
c:=reg.Readstring('message4t');
label1.Caption:='没有设置';
reg.closekey;//关闭该键
reg.free;//释放
end;

procedure TForm3.FlatButton1Click(Sender: TObject);
begin
try
  yy:=strtoint(flatedit1.Text);
  except
  begin
  timer1.Enabled:=false;
  flatedit1.text:='0';
  application.messagebox('年份输入有误,请重新输入','警告匡',mb_ok);
end;
end;
try
  mm:=strtoint(flatedit2.Text);
  if (mm>12) or (mm<=0) then
  begin
  timer1.Enabled:=false;
  application.messagebox('月份输入有误,请重新输入','警告匡'mb_ok);
  end;
  except
  begin
  timer1.Enabled:=false;
   flatedit2.text:='0';
  application.messagebox('月份输入有误,请重新输入','警告匡'mb_ok);
  end;
end;
try
  dd:=strtoint(flatedit3.Text);
  if (dd>31) or (dd<=0) then
  begin
  timer1.Enabled:=false;
  application.messagebox('日输入有误,请重新输入','警告匡'mb_ok);
  end;
  except
  begin
  timer1.Enabled:=false;
  flatedit3.text:='0';
  application.messagebox('日输入有误,请重新输入','警告匡'mb_ok);
  end;
end;
try
  hh:=strtoint(flatedit4.Text);
  if (hh>59) or (hh<0) then
  begin
  timer1.Enabled:=false;
  application.messagebox('分钟输入有误,请重新输入','警告匡'mb_ok);
  end;
  except
  begin
  timer1.Enabled:=false;
  flatedit4.text:='0';
  application.messagebox('分钟输入有误,请重新输入','警告匡'mb_ok);
  end;
end;
try
  ii:=strtoint(flatedit5.Text);
  if (ii>23) or (ii<0) then
  begin
  timer1.Enabled:=false;
  flatedit5.text:='0';
  application.messagebox('小时输入有误,请重新输入','警告匡'mb_ok);
  end;
  except
  begin
  timer1.Enabled:=false;
  application.messagebox('小时输入有误,请重新输入','警告匡'mb_ok);
  end;
end;
try
  cc:=strtoint(flatedit6.Text);
  if (cc>59) or (cc<0) then
  begin
  timer1.Enabled:=false;
  application.messagebox('秒输入有误,请重新输入','警告匡'mb_ok);
  end;
  except
  begin
  timer1.Enabled:=false;
  flatedit2.text:='6';
  application.messagebox('秒输入有误,请重新输入','警告匡'mb_ok);
  end;
end;
flatedit1.Enabled:=false;
  flatedit2.Enabled:=false;
  flatedit3.Enabled:=false;
  flatedit4.Enabled:=false;
  flatedit5.Enabled:=false;
  flatedit6.Enabled:=false;
timer1.Enabled:=true;
w:=true;
h:=true;
i:=true;
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\message',false);
if (reg.Readstring('bak')='1') then
begin
reg.Writestring('year1',flatedit1.text);
reg.Writestring('mon1',flatedit2.text);
reg.Writestring('day1',flatedit3.text);
reg.Writestring('hour1',flatedit5.text);
reg.Writestring('min1',flatedit4.text);
reg.Writestring('sec1',flatedit6.text);
reg.Writestring('message2t','1');
end;
if (reg.Readstring('bak')='1') and (flatradiobutton2.checked=true) then
begin
reg.Writestring('ch1','1');
k:=true
end;
if (reg.Readstring('bak')='1') and (flatradiobutton1.checked=true) then
reg.Writestring('ch1','0');
if (reg.Readstring('bak')='2') then
begin
reg.Writestring('year2',flatedit1.text);
reg.Writestring('mon2',flatedit2.text);
reg.Writestring('day2',flatedit3.text);
reg.Writestring('hour2',flatedit5.text);
reg.Writestring('min2',flatedit4.text);
reg.Writestring('sec2',flatedit6.text);
reg.Writestring('message3t','1');
end;
if (reg.Readstring('bak')='2') and (flatradiobutton2.checked=true) then
begin
reg.Writestring('ch2','1');
l:=true
end;
if (reg.Readstring('bak')='2') and (flatradiobutton1.checked=true) then
reg.Writestring('ch2','0');
if (reg.Readstring('bak')='3') then
begin
reg.Writestring('year3',flatedit1.text);
reg.Writestring('mon3',flatedit2.text);
reg.Writestring('day3',flatedit3.text);
reg.Writestring('hour3',flatedit5.text);
reg.Writestring('min3',flatedit4.text);
reg.Writestring('sec3',flatedit6.text);
reg.Writestring('message4t','1');
end;
if (reg.Readstring('bak')='3') and (flatradiobutton2.checked=true) then
begin
reg.Writestring('ch3','1');
m:=true
end;
if (reg.Readstring('bak')='3') and (flatradiobutton1.checked=true) then
reg.Writestring('ch3','0');
a:=reg.Readstring('message2t');
b:=reg.Readstring('message3t');
c:=reg.Readstring('message4t');
a1:=strtoint(reg.Readstring('year1'));
b1:=strtoint(reg.Readstring('mon1'));
c1:=strtoint(reg.Readstring('day1'));
d1:=strtoint(reg.Readstring('hour1'));
e1:=strtoint(reg.Readstring('min1'));
f1:=strtoint(reg.Readstring('sec1'));
a2:=strtoint(reg.Readstring('year2'));
b2:=strtoint(reg.Readstring('mon2'));
c2:=strtoint(reg.Readstring('day2'));
d2:=strtoint(reg.Readstring('hour2'));
e2:=strtoint(reg.Readstring('min2'));
f2:=strtoint(reg.Readstring('sec2'));
a3:=strtoint(reg.Readstring('year3'));
b3:=strtoint(reg.Readstring('mon3'));
c3:=strtoint(reg.Readstring('day3'));
d3:=strtoint(reg.Readstring('hour3'));
e3:=strtoint(reg.Readstring('min3'));
f3:=strtoint(reg.Readstring('sec3'));
reg.closekey;//关闭该键
reg.free;//释放
label1.Caption:='设置生效';
end;


procedure TForm3.Timer2Timer(Sender: TObject);
begin
if (j=true) then
abfwav1.Play;
end;

procedure TForm3.FormActivate(Sender: TObject);
begin
if qr=false then
 begin
 DrawRndRectRegion;
 qr:=true;
 end;
end;

procedure TForm3.FlatButton4Click(Sender: TObject);
begin
form3.Hide;
end;

end.

⌨️ 快捷键说明

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