📄 confirmdate.pas
字号:
unit ConfirmDate;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin, ExtCtrls;
type
TfrmConfirmDate = class(TForm)
Label1: TLabel;
Panel1: TPanel;
cmdExit: TButton;
txtSysYear: TSpinEdit;
txtSysMonth: TSpinEdit;
txtSysDay: TSpinEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure txtSysDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmConfirmDate: TfrmConfirmDate;
implementation
uses GlobalVar;
{$R *.DFM}
procedure TfrmConfirmDate.cmdExitClick(Sender: TObject);
begin
GlobalVar.SysYear:=txtSysYear.Value;
GlobalVar.SysMonth:=txtSysMonth.Value;
GlobalVar.SysDay:=txtSysDay.Value;
close;
end;
procedure TfrmConfirmDate.FormShow(Sender: TObject);
var
Year, Month, Day: Word;
begin
DecodeDate(Now, Year, Month, Day);
txtSysYear.Value:=Year;
txtSysMonth.Value:=Month;
txtSysDay.Value:=Day;
end;
procedure TfrmConfirmDate.txtSysDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysDay.Text='' then
begin
txtSysDay.Value:=Day;
cmdExit.SetFocus;
exit;
end;
if (txtSysDay.Value>txtSysDay.MaxValue) or
(txtSysDay.Value<txtSysDay.MinValue) then
begin
txtSysDay.Value:=Day;
end;
cmdExit.SetFocus;
end;
end;
procedure TfrmConfirmDate.txtSysMonthKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysMonth.Text='' then
begin
txtSysMonth.Value:=Month;
cmdExit.SetFocus;
exit;
end;
if (txtSysMonth.Value>txtSysMonth.MaxValue) or
(txtSysMonth.Value<txtSysMonth.MinValue) then
begin
txtSysMonth.Value:=Month;
end;
cmdExit.SetFocus;
end;
end;
procedure TfrmConfirmDate.txtSysYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Year,Month,Day:word;
begin
DecodeDate(Now,Year,Month,Day);
if key=VK_RETURN then
begin
if txtSysYear.Text='' then
begin
txtSysYear.Value:=Year;
cmdExit.SetFocus;
exit;
end;
if (txtSysYear.Value>txtSysYear.MaxValue) or
(txtSysYear.Value<txtSysYear.MinValue) then
begin
txtSysYear.Value:=Year;
end;
cmdExit.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -