unit uFormPesqProdutos;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uFormModelodePesquisa, StdCtrls, Buttons, Grids, DBGrids, daEdit,
  ExtCtrls, FMTBcd, DB, DBClient, Provider, SqlExpr;

type
  TfrmPesqProdutos = class(TfrmModelodePesquisa)
    SDSPesqProdutos: TSQLDataSet;
    SDSPesqProdutosID_PRODUTO: TIntegerField;
    SDSPesqProdutosPRODUTO: TStringField;
    SDSPesqProdutosFLAG: TSmallintField;
    DSPPesqProdutos: TDataSetProvider;
    CDSPesqProdutos: TClientDataSet;
    CDSPesqProdutosID_PRODUTO: TIntegerField;
    CDSPesqProdutosPRODUTO: TStringField;
    CDSPesqProdutosFLAG: TSmallintField;
    DSPesqProdutos: TDataSource;
    SDSPesqProdutosQTDE: TFMTBCDField;
    SDSPesqProdutosPRECO: TFMTBCDField;
    CDSPesqProdutosQTDE: TFMTBCDField;
    CDSPesqProdutosPRECO: TFMTBCDField;
    procedure edtPesquisaChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPesqProdutos: TfrmPesqProdutos;

implementation

{$R *.dfm}

procedure TfrmPesqProdutos.edtPesquisaChange(Sender: TObject);
begin
  inherited;
  if Length(edtPesquisa.Text) = 1 then

  if edtPesquisa.Text[1] in ['A'..'Z'] then
  begin
    CDSPesqProdutos.IndexFieldNames := 'PRODUTO';
  end
  ELSE
  IF edtPesquisa.Text[1] in ['0'..'9'] then
  begin
    CDSPesqProdutos.IndexFieldNames := 'ID_PRODUTO';
  end;
  CDSPesqProdutos.FindNearest([edtPesquisa.Text]);
end;

procedure TfrmPesqProdutos.FormShow(Sender: TObject);
begin
  inherited;
  CDSPesqProdutos.Open;
end;

end.
