📄 alarms.pas
字号:
unit Alarms;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;
type
TfrmAlarms = class(TForm)
btnCancel: TBitBtn;
btnOK: TBitBtn;
bvBottom: TBevel;
edAlarm: TEdit;
edTime: TEdit;
lblAlarm: TLabel;
lblMessage: TLabel;
lblTime: TLabel;
memMessage: TMemo;
pnlBottom: TPanel;
pnlMain: TPanel;
procedure btnOKClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure edTimeKeyPress(Sender: TObject; var Key: Char);
private
public
end;
var
frmAlarms: TfrmAlarms;
implementation
uses Main, Alarm, Settings;
{$R *.dfm}
procedure TfrmAlarms.btnOKClick(Sender: TObject);
var
Index: Integer;
begin
Index := frmMain.lbAlarms.ItemIndex;
case Mode of
1: begin // New Alarm
if (edAlarm.Text = '') or (edTime.Text = '') or (memMessage.Text = '') then begin
Application.MessageBox('Fill in all the fields first...', 'Error', MB_ICONERROR);
ModalResult := mrNone;
Exit;
end
else if (Length(edTime.Text) < 5) or (Copy(edTime.Text, 3, 1) <> ':') then begin
Application.MessageBox('Wrong format in time, use:' + #13 + '"24:00" time format.', 'Error', MB_ICONERROR);
ModalResult := mrNone;
Exit;
end; {if}
frmMain.Alarms.Add(edAlarm.Text);
frmMain.Times.Add(edTime.Text);
frmMain.Messages.Add(memMessage.Text);
frmMain.lbAlarms.Items.Add(edAlarm.Text);
end; {1}
2: begin // Edit Alarm
if (edAlarm.Text = '') or (edTime.Text = '') or (memMessage.Text = '') then begin
Application.MessageBox('Fill in all the fields first...', 'Error', MB_ICONERROR);
ModalResult := mrNone;
Exit;
end
else if (Length(edTime.Text) < 5) or (Copy(edTime.Text, 3, 1) <> ':') then begin
Application.MessageBox('Wrong format in time, use:' + #13 + '"24:00" time format.', 'Error', MB_ICONERROR);
ModalResult := mrNone;
Exit;
end; {if}
frmMain.Alarms[Index] := edAlarm.Text;
frmMain.Times[Index] := edTime.Text;
frmMain.Messages[Index] := memMessage.Text;
frmMain.lbAlarms.Items.Delete(Index);
frmMain.lbAlarms.Items.Insert(Index, edAlarm.Text);
frmMain.lbAlarms.ItemIndex := Index;
frmMain.lbAlarmsClick(nil);
end; {2}
end; {case}
end;
//=============================================================================
//=============================================================================
procedure TfrmAlarms.FormShow(Sender: TObject);
begin
edAlarm.SetFocus;
end;
//=============================================================================
//=============================================================================
procedure TfrmAlarms.edTimeKeyPress(Sender: TObject; var Key: Char);
var
Keys: Set of Char;
begin
Keys := ['0'..'9', #8, #13, ':'];
if not (Key in Keys) then key := #0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -