📄 unit_system.pas
字号:
unit Unit_System;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,Graphics, Controls, Forms,Unit_Const,
Dialogs, ExtCtrls, Buttons, StdCtrls, GIFImage,ComCtrls,IniFiles,Registry;
type
TFrm_System = class(TForm)
Shape1: TShape;
Exit_Btn: TSpeedButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Quit_Btn: TSpeedButton;
Write_Btn: TSpeedButton;
OK_Btn: TSpeedButton;
Image1: TImage;
TimePicker1: TDateTimePicker;
Chk1: TCheckBox;
Label2: TLabel;
TimePicker2: TDateTimePicker;
Chk2: TCheckBox;
Label3: TLabel;
TimePicker5: TDateTimePicker;
Chk5: TCheckBox;
Label6: TLabel;
TimePicker6: TDateTimePicker;
Chk6: TCheckBox;
Label7: TLabel;
TimePicker11: TDateTimePicker;
Chk11: TCheckBox;
Label12: TLabel;
Chk3: TCheckBox;
TimePicker3: TDateTimePicker;
Label4: TLabel;
Chk4: TCheckBox;
TimePicker4: TDateTimePicker;
Label5: TLabel;
Chk7: TCheckBox;
TimePicker7: TDateTimePicker;
Label8: TLabel;
Label9: TLabel;
TimePicker8: TDateTimePicker;
Chk8: TCheckBox;
Chk9: TCheckBox;
TimePicker9: TDateTimePicker;
Label10: TLabel;
Label11: TLabel;
TimePicker10: TDateTimePicker;
Chk10: TCheckBox;
Label13: TLabel;
TimePicker12: TDateTimePicker;
Chk12: TCheckBox;
Rain_Edit: TEdit;
Label15: TLabel;
Mobile_Edit: TEdit;
Label16: TLabel;
Label17: TLabel;
City_Edit: TEdit;
Label18: TLabel;
IP_Edit: TEdit;
Start_Chk: TCheckBox;
IconVis_Chk: TCheckBox;
Hide_Chk: TCheckBox;
Label19: TLabel;
Edit6: TEdit;
Label20: TLabel;
HotKey_Edit: TEdit;
procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Quit_BtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Write_BtnClick(Sender: TObject);
procedure OK_BtnClick(Sender: TObject);
procedure HotKey_EditKeyPress(Sender: TObject; var Key: Char);
procedure Exit_BtnClick(Sender: TObject);
private
{ Private declarations }
ParamIni : TIniFile;
procedure ReadParam;
Procedure WriteParam;
public
{ Public declarations }
end;
var
Frm_System: TFrm_System;
implementation
uses Unit_Weather;
{$R *.dfm}
procedure TFrm_System.Shape1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
SC_DRAGMOVE:Longint=$F012; //无标题栏拖动窗口
begin
ReleaseCapture;
SendMessage(Handle,WM_SYSCOMMAND,SC_DRAGMOVE,0);
end;
procedure TFrm_System.Quit_BtnClick(Sender: TObject);
begin
Close;
end;
procedure TFrm_System.ReadParam;//读参数
var
I : Byte;
Reg:TRegistry;
begin
try
ParamIni:=TIniFile.Create(AppPath+'Weather.ini');
for I:=1 to 12 do
begin
TDateTimePicker(Self.FindComponent('timepicker'+IntToStr(I))).Time:=
StrToTime(ParamIni.ReadString('time','time'+IntToStr(I),'00:00'));
TCheckBox(Self.FindComponent('chk'+IntToStr(I))).Checked:=
ParamIni.ReadBool('time','on'+IntToStr(I),False);
end;
Rain_Edit.Text:=ParamIni.ReadString('URL','rainURL','');
Mobile_Edit.Text:=ParamIni.ReadString('URL','MobileURL','');
City_Edit.Text:=ParamIni.ReadString('city','cityname','');
IP_Edit.Text:=ParamIni.ReadString('ip','ip','');
IconVis_Chk.Checked:=ParamIni.ReadBool('system','iconvisable',False);
HotKey_Edit.Text:=ParamIni.ReadString('Hotkey','key','G');
ParamIni.Free;
Reg:=TRegistry.Create;//创建
Reg.RootKey:=HKEY_LOCAL_MACHINE;//根键
if Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False) then
begin
if Reg.ReadString('Weather')='' then
Start_Chk.Checked:=False
else
Start_Chk.Checked:=True;
Reg.CloseKey;
end;
Reg.Free;
except
ParamIni.Free;
Application.MessageBox('读取参数异常失败!','提示',MB_OK+MB_ICONSTOP);
end;
end;
procedure TFrm_System.WriteParam;//写参数
var
I : Byte;
Reg:TRegistry;
begin
try
ParamIni:=TIniFile.Create(AppPath+'Weather.ini');
for I:=1 to 12 do
begin
ParamIni.WriteString('time','time'+IntToStr(I),
TimeToStr(TDateTimePicker(Self.FindComponent('timepicker'+IntToStr(I))).Time));
ParamIni.WriteBool('time','on'+IntToStr(I),TCheckBox(Self.FindComponent('chk'+IntToStr(I))).Checked);
end;
ParamIni.WriteString('URL','rainURL',Rain_Edit.Text);
ParamIni.WriteString('URL','MobileURL',Mobile_Edit.Text);
ParamIni.WriteString('city','cityname',City_Edit.Text);
ParamIni.WriteBool('system','iconvisable',IconVis_Chk.Checked);
ParamIni.WriteString('Hotkey','key',HotKey_Edit.Text);
ParamIni.Free;
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False) then //第二个参数代表没有
begin // 是否要自动创键
if Start_Chk.Checked then
Reg.WriteString('Weather',Application.ExeName)
else
Reg.DeleteValue('Weather');
Reg.CloseKey;
end;
Reg.Free;
Frm_Weather.ReadSysParam; //重新读取参数
except
ParamIni.Free;
Application.MessageBox('写入参数异常失败!','提示',MB_OK+MB_ICONSTOP);
end;
end;
procedure TFrm_System.FormCreate(Sender: TObject);
begin
ReadParam;
end;
procedure TFrm_System.Write_BtnClick(Sender: TObject);
begin
WriteParam;
end;
procedure TFrm_System.OK_BtnClick(Sender: TObject);
begin
WriteParam;
Close;
end;
procedure TFrm_System.HotKey_EditKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['a'..'z','A'..'Z']) then
key:=#0
else
begin
HotKey_Edit.Text:='';
key:=UpCase(key);
end;
end;
procedure TFrm_System.Exit_BtnClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -