unit FTECLADONUMERICO;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls,STRUTILS;

type
  TTECLADONUMERICO = class(TForm)
    Panel1: TPanel;
    BitBtn2: TBitBtn;
    BitBtn15: TBitBtn;
    BitBtn17: TBitBtn;
    BitBtn18: TBitBtn;
    BitBtn19: TBitBtn;
    BitBtn20: TBitBtn;
    BitBtn21: TBitBtn;
    BitBtn22: TBitBtn;
    BitBtn23: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    BitBtn3: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    procedure BitBtn15Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn17Click(Sender: TObject);
    procedure BitBtn20Click(Sender: TObject);
    procedure BitBtn19Click(Sender: TObject);
    procedure BitBtn18Click(Sender: TObject);
    procedure BitBtn23Click(Sender: TObject);
    procedure BitBtn22Click(Sender: TObject);
    procedure BitBtn21Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TECLADONUMERICO: TTECLADONUMERICO;

implementation

{$R *.dfm}

procedure TTECLADONUMERICO.BitBtn15Click(Sender: TObject);
begin
  EDIT1.Text := EDIT1.TEXT + '7';
    EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn2Click(Sender: TObject);
begin
  EDIT1.Text := EDIT1.TEXT + '8';
    EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn17Click(Sender: TObject);
begin
  EDIT1.Text := EDIT1.TEXT + '9';
    EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn20Click(Sender: TObject);
begin
  EDIT1.Text := EDIT1.TEXT + '4';
    EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn19Click(Sender: TObject);
begin
   EDIT1.Text := EDIT1.TEXT + '5';
     EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn18Click(Sender: TObject);
begin
   EDIT1.Text := EDIT1.TEXT + '6';
     EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn23Click(Sender: TObject);
begin
   EDIT1.Text := EDIT1.TEXT + '1';
     EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn22Click(Sender: TObject);
begin
   EDIT1.Text := EDIT1.TEXT + '2';
     EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn21Click(Sender: TObject);
begin
   EDIT1.Text := EDIT1.TEXT + '3';
     EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn4Click(Sender: TObject);
begin
  EDIT1.Text := EDIT1.TEXT + '0';
  EDIT1.SetFocus
end;

procedure TTECLADONUMERICO.BitBtn5Click(Sender: TObject);
VAR I:SMALLINT;
begin
  I :=POS('.',EDIT1.TEXT);
  IF I = 0 THEN
     I :=POS(',',EDIT1.TEXT);
  IF I= 0 THEN
     EDIT1.Text := EDIT1.TEXT + ',' ;
  EDIT1.SetFocus ;     
end;

procedure TTECLADONUMERICO.BitBtn1Click(Sender: TObject);
begin
  IF TRIM(EDIT1.TEXT)<> '' THEN
     EDIT1.Text := COPY(EDIT1.Text,1,LENGTH(EDIT1.Text)-1);
  EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.FormShow(Sender: TObject);
begin
EDIT1.SetFocus;
end;

procedure TTECLADONUMERICO.FormKeyPress(Sender: TObject; var Key: Char);
begin
  IF KEY IN ['0'..'9','.',',',#8,'-'] THEN
  BEGIN
    IF (KEY = '.') OR (KEY=',') THEN
    BEGIN
       BitBtn5Click(Sender);
       KEY:= #0;
    END;
    IF (KEY='-') THEN
    BEGIN
       BitBtn6Click(Sender);
       KEY:= #0;
    END;
    IF KEY=#8 THEN
       EDIT1.Text := COPY(EDIT1.Text,1,LENGTH(EDIT1.Text)-1)
    ELSE
       EDIT1.TEXT := EDIT1.Text + KEY ;
  END;
  KEY := #0;
  EDIT1.SetFocus ;
end;

procedure TTECLADONUMERICO.BitBtn7Click(Sender: TObject);
begin
  EDIT1.Text := '';
  EDIT1.SetFocus
end;

procedure TTECLADONUMERICO.BitBtn6Click(Sender: TObject);
begin
 IF POS('-',EDIT1.TEXT) = 1 THEN
    EDIT1.TEXT := RightStr(EDIT1.TEXT,LENGTH(EDIT1.TEXT)-1)
 ELSE
    EDIT1.TEXT := '-'+EDIT1.TEXT;
 EDIT1.SetFocus ;
end;

end.
