unit uFormPesqProdutos1;

interface

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

type
  TfrmPesqProdutos1 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Label3: TLabel;
    Panel2: TPanel;
    Image3: TImage;
    Label2: TLabel;
    edtPesquisa: TdaEdit;
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    Image2: TImage;
    Label1: TLabel;
    SDSPesqProdutos: TSQLDataSet;
    CDSPesqProdutos: TClientDataSet;
    DSPPesqProdutos: TDataSetProvider;
    DSPesqProdutos: TDataSource;
    SDSPesqProdutosID_PRODUTO: TIntegerField;
    SDSPesqProdutosPRODUTO: TStringField;
    SDSPesqProdutosFLAG: TSmallintField;
    CDSPesqProdutosID_PRODUTO: TIntegerField;
    CDSPesqProdutosPRODUTO: TStringField;
    CDSPesqProdutosFLAG: TSmallintField;
    procedure FormShow(Sender: TObject);
    procedure edtPesquisaChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPesqProdutos1: TfrmPesqProdutos1;

implementation

uses uDM, uFuncoes;

{$R *.dfm}

procedure TfrmPesqProdutos1.edtPesquisaChange(Sender: TObject);
begin
  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 TfrmPesqProdutos1.FormShow(Sender: TObject);
begin
  CDSPesqProdutos.Open;
end;

end.
