unit PARAMETROS;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, StdCtrls, Buttons, ExtCtrls, Db, Menus, Mask, DBTables, DBCGrids;

type
  TFPARAMETROS = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    BSalir: TBitBtn;
    BModificaciones: TButton;
    DSPARAMETROS: TDataSource;
    PDatos: TPanel;
    Menu: TMainMenu;
    Panel3: TPanel;
    DBEdit1: TDBEdit;
    Label1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure BModificacionesClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BSalirClick(Sender: TObject);
    procedure DSPARAMETROSStateChange(Sender: TObject);
  private
    { Private declarations }
    procedure EstadoBotones;
  public
    { Public declarations }
  end;

var
  FPARAMETROS: TFPARAMETROS;

implementation

uses DATOS, RUTINAS;

{$R *.DFM}

procedure TFPARAMETROS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    dm.dbh.closedatasets;
end;

procedure TFPARAMETROS.FormShow(Sender: TObject);
begin
    dm.PARAMETROS.open;
    EstadoBotones;
end;

procedure TFPARAMETROS.BModificacionesClick(Sender: TObject);
begin
        DM.PARAMETROS.edit;
        dbedit1.setfocus;
end;

procedure TFPARAMETROS.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if ActiveControl=nil then
    begin
        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    end;

    if (key = #13) and not (ActiveControl is TButton) then
    begin
        if uppercase(activecontrol.name)='DBEDIT1' then
        begin
                dm.PARAMETROS.post;
        end;

        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    end;

    if not (activeControl is TDBEdit) then
    begin
       if uppercase(key)='M' then if BModificaciones.enabled then BModificaciones.click;
    end;

    if (key = #27) and not (DM.PARAMETROS.state in [dsedit,dsinsert]) then close;

    if (key = #27) and not (ActiveControl is TButton) then
        if DM.PARAMETROS.state in [dsedit,dsinsert] then
        begin
                dm.PARAMETROS.post;
        end;
end;

procedure TFPARAMETROS.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=38 then CambiarControl(SELF,false);
    if key=40 then CambiarControl(SELF,true);
end;

procedure TFPARAMETROS.BSalirClick(Sender: TObject);
begin
   if dm.PARAMETROS.state in [dsedit,dsinsert] then dm.PARAMETROS.post;
   close;
end;

procedure TFPARAMETROS.DSPARAMETROSStateChange(Sender: TObject);
begin
    EstadoBotones;
end;

procedure TFPARAMETROS.EstadoBotones;
begin
    BModificaciones.enabled:=DM.PARAMETROS.state=dsbrowse;
end;

end.




