unit fdlgclientes;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, ZAbstractRODataset, ZDataset,
  Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids;

type
  Tdlgclientes = class(TForm)
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Label1: TLabel;
    tbuscarcliente: TEdit;
    qclientes: TZReadOnlyQuery;
    dsqclientes: TDataSource;
    qclientesnombre_completo: TWideStringField;
    qclienteside: TIntegerField;
    qclientesid: TIntegerField;
    Button1: TButton;
    procedure tbuscarclienteChange(Sender: TObject);
    procedure qclientesBeforeOpen(DataSet: TDataSet);
    procedure qclientesBeforeRefresh(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dlgclientes: Tdlgclientes;

implementation

{$R *.dfm}

procedure Tdlgclientes.Button1Click(Sender: TObject);
begin
    dlgclientes.Close;
end;

procedure Tdlgclientes.FormShow(Sender: TObject);
begin
      tbuscarcliente.SetFocus;
end;

procedure Tdlgclientes.qclientesBeforeOpen(DataSet: TDataSet);
var pcliente:string;
begin
    if tbuscarcliente.text<>'' then
    begin
        pcliente:='%'+tbuscarcliente.Text+'%';
    end else pcliente:='%';
    qclientes.Prepare;
    qclientes.ParamByName('PCLIENTE').Asstring:=pcliente;
end;

procedure Tdlgclientes.qclientesBeforeRefresh(DataSet: TDataSet);
var pcliente:string;
begin
    if tbuscarcliente.text<>'' then
    begin
        pcliente:='%'+tbuscarcliente.Text+'%';
    end else pcliente:='%';
    qclientes.Prepare;
    qclientes.ParamByName('PCLIENTE').Asstring:=pcliente;
end;

procedure Tdlgclientes.tbuscarclienteChange(Sender: TObject);
var pcliente:string;
begin

    qclientes.REFRESH;
end;

end.
