📄 periods.pas
字号:
unit Periods;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask;
type
TdlgPeriods = class(TForm)
Label1: TLabel;
Label2: TLabel;
meBegin: TMaskEdit;
meEnd: TMaskEdit;
btnOK: TButton;
btnCancel: TButton;
Label3: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure meBeginExit(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function Execute(var sbegin, sEnd: String): Boolean;
end;
var
dlgPeriods: TdlgPeriods;
implementation
{$R *.DFM}
function TdlgPeriods.Execute(var sbegin, sEnd: String): Boolean;
begin
if not Assigned(dlgPeriods) then
dlgPeriods:=TdlgPeriods.Create(Application);
with dlgPeriods do
begin
if ShowModal=mrOK then
begin
sBegin:=meBegin.Text;
sEnd:=meEnd.Text;
Result:=(Length(sbegin)=5)and(Length(send)=5);
end else
begin
Result:=False;
end;
end;
end;
procedure TdlgPeriods.FormDestroy(Sender: TObject);
begin
dlgPeriods:=nil;
end;
procedure TdlgPeriods.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;
procedure TdlgPeriods.meBeginExit(Sender: TObject);
begin
if (Sender is TMaskEdit) then
with TMaskEdit(Sender) do
begin
if EditText<>'24:00' then
StrToTime(EditText);
end;
end;
procedure TdlgPeriods.FormShow(Sender: TObject);
begin
if meBegin.CanFocus then meBegin.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -