unit femphistorico;

interface

uses
  FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Comp.DataSet, FireDAC.Comp.Client, uFireDacHelper,
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.DBGrids, Vcl.StdCtrls,
  Vcl.ExtCtrls, Data.DB;

type
  Temp_historico = class(TForm)
    Panel1: TPanel;
    btnuevo: TButton;
    btmodificar: TButton;
    btborrar: TButton;
    btguardar: TButton;
    btcancelar: TButton;
    dsqemp_historico: TDataSource;
    DBGrid1: TDBGrid;
    procedure btnuevoClick(Sender: TObject);
    procedure btmodificarClick(Sender: TObject);
    procedure btborrarClick(Sender: TObject);
    procedure btguardarClick(Sender: TObject);
    procedure btcancelarClick(Sender: TObject);
    procedure dsqemp_historicoStateChange(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  emp_historico: Temp_historico;

implementation

{$R *.dfm}
uses empleados, datos;
procedure Temp_historico.btborrarClick(Sender: TObject);
begin
  fempleados.qemp_historico.delete;
end;

procedure Temp_historico.btnuevoClick(Sender: TObject);
begin
  fempleados.qemp_historico.Append;
end;

procedure Temp_historico.btguardarClick(Sender: TObject);
begin
  fempleados.qemp_historico.post
end;

procedure Temp_historico.btcancelarClick(Sender: TObject);
begin
  fempleados.qemp_historico.cancel;
end;

procedure Temp_historico.btmodificarClick(Sender: TObject);
begin
  fempleados.qemp_historico.edit;
end;

procedure Temp_historico.dsqemp_historicoStateChange(Sender: TObject);
begin
    if fempleados.qemp_historico.State in [dsedit,dsinsert] then
    begin
        btnuevo.Enabled:=false;
        btmodificar.Enabled:=false;
        btborrar.Enabled:=false;
        btcancelar.Enabled:=true;
        btguardar.Enabled:=true;
        dbgrid1.Enabled:=true;
    end else
    begin
        btnuevo.Enabled:=true;
        btmodificar.Enabled:=true;
        btborrar.Enabled:=true;
        btcancelar.Enabled:=false;
        btguardar.Enabled:=false;
        dbgrid1.Enabled:=true;
    end;
end;

procedure Temp_historico.FormKeyPress(Sender: TObject; var Key: Char);
begin
   key:=upcase(key);
    if (key='.') and (activecontrol is tdbgrid) then
    begin
        key:=','
    end;
    if (activecontrol is tdbgrid) then
    begin
        if Key = #13 then Key :=#9;
    end;

    if (key=#13) then
    begin
        Perform(WM_NextDLGCtl,0,0);
        key:=#0;
    end;
end;

end.
