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

📄 alarms.pas

📁 这是个delphi编写的小闹钟!大家用用看看 应该瞒好用的吧
💻 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 + -