unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
LCLType, ExtCtrls, Codebot.Input.Hotkeys;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
LabeledEdit1: TLabeledEdit;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1StartTimer(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure KeyPressed(Sender: TObject; Key: Word; Shift: TShiftState);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
Const
verbose = True;
procedure TForm1.FormCreate(Sender: TObject);
begin
HotkeyCapture.RegisterNotify(VK_F5,[],@KeyPressed);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
HotkeyCapture.UnRegisterNotify(VK_F5,[]);
end;
procedure TForm1.Timer1StartTimer(Sender: TObject);
begin
Timer1.Interval:=strtoint(LabeledEdit1.Text);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if verbose then ShowMessage('1 Timer cycle')
end;
procedure TForm1.KeyPressed(Sender: TObject; Key: Word; Shift: TShiftState);
begin
if Timer1.Enabled then
begin
Timer1.Enabled:=False;
if verbose then ShowMessage('Timer is now Disable');
end
else
begin
if verbose then ShowMessage('Timer is now Enable');
Timer1.Enabled:=True;
end
end;
end.