unit fgenericas;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, ZAbstractDataset, ZDataset,
  ZAbstractRODataset, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls,datos;

type
  Tgenericas = class(TForm)
    genericas: TZQuery;
    dsgenericas: TDataSource;
    Panel13: TPanel;
    Panel17: TPanel;
    gridgenericos: TDBGrid;
    Panel7: TPanel;
    btAcancelar: TButton;
    btAmodificar: TButton;
    btAborrar: TButton;
    btAnuevo: TButton;
    btAguardar: TButton;
    genericaside: TIntegerField;
    genericasid: TIntegerField;
    genericasdescripcion: TWideStringField;
    genericascodigo: TWideStringField;
    procedure btAnuevoClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure btAborrarClick(Sender: TObject);
    procedure btAmodificarClick(Sender: TObject);
    procedure btAguardarClick(Sender: TObject);
    procedure btAcancelarClick(Sender: TObject);
    procedure dsgenericasStateChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  genericas: Tgenericas;

implementation

{$R *.dfm}

procedure Tgenericas.btAborrarClick(Sender: TObject);
begin
   genericas.Delete;
end;

procedure Tgenericas.btAcancelarClick(Sender: TObject);
begin
   genericas.cancel;
end;

procedure Tgenericas.btAguardarClick(Sender: TObject);
begin
   genericas.post;
end;

procedure Tgenericas.btAmodificarClick(Sender: TObject);
begin
   genericas.edit;
end;

procedure Tgenericas.btAnuevoClick(Sender: TObject);
begin
    genericas.Append;
    gridgenericos.SelectedIndex:=1;
end;

procedure Tgenericas.dsgenericasStateChange(Sender: TObject);
begin
if genericas.State in [dsedit,dsinsert] then
begin
    btanuevo.Enabled:=false;
    btamodificar.Enabled:=false;
    btaborrar.Enabled:=false;
    btacancelar.Enabled:=true;
    btaguardar.Enabled:=true;
end else
begin
    btanuevo.Enabled:=true;
    btamodificar.Enabled:=true;
    btaborrar.Enabled:=true;
    btacancelar.Enabled:=false;
    btaguardar.Enabled:=false;
end;
end;

procedure Tgenericas.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (activecontrol is tdbgrid) then
    begin
        if Key = 13 then Key :=9;
    end;
end;

procedure Tgenericas.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;

procedure Tgenericas.FormShow(Sender: TObject);
begin
   genericas.close;
   genericas.open;
end;

end.
