unit fbuscarempleado;

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, Data.DB,  
  Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids;

type
  Tbuscarempleado = class(TForm)
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    btAguardar: TButton;
    qempleados: TFDQuery;
    dsqempleados: TDataSource;
    qempleadosid: TSmallintField;
    qempleadosnombre: TWideStringField;
    procedure btAguardarClick(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  buscarempleado: Tbuscarempleado;
  filtro:string;
  empresa:integer;
implementation

{$R *.dfm}

uses datos;

procedure Tbuscarempleado.btAguardarClick(Sender: TObject);
begin
    buscarempleado.Close;
end;

procedure Tbuscarempleado.Edit1Change(Sender: TObject);
begin
    if edit1.text='' then filtro:='%' else filtro:='%'+edit1.Text+'%';
    qempleados.Close;
    qempleados.ParamByName('EMPRESA').AsInteger:=empresa;
    qempleados.ParamByName('FILTRO').AsString:=filtro;
    qempleados.open;
end;

procedure Tbuscarempleado.FormKeyPress(Sender: TObject; var Key: Char);
var formatos:tformatsettings;
punto:string;
begin
    GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatos);
    punto:=formatos.DecimalSeparator;
    if punto=',' then
    begin
        key:=upcase(key);
        if (key='.') and (activecontrol is tdbgrid) then
        begin
            key:=',';
        end;
    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 Tbuscarempleado.FormShow(Sender: TObject);
begin
    dm.tempresa.open;
    empresa:=dm.tempresaid.asinteger;
    qempleados.Close;
    qempleados.prepare;
    qempleados.ParamByName('EMPRESA').AsInteger:=empresa;
    qempleados.ParamByName('FILTRO').AsString:=filtro;
    qempleados.Open;
end;

end.
