usando locate para validar edits

Delphi

22/10/2004

amigos, bom dia!,

estou precisando de uma ajudinha. Estou tentando efetuar uma validação de edits através do comando locate, porém não estou obtendo sucesso pelo seguinte:

exemplo: tenho um edit edtdescricao.text e fiz a seguinte rotina ao clicar no botão incluir:
var numreg:Integer;

procedure TfrmProdutos.btnNovoClick(Sender: TObject);
begin
Ativar(false);
DesAtivar(true);
//Inserir
with dm do
begin
tabProdutos.open;
tabProdutos.Last;
ProxNum:=tabProdutos.FieldByname(´CodigoProd´).AsInteger+1;
tabProdutos.Append;
end;


procedure TfrmProdutos.dbeDescricaoKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
showmessage(´Já cadastrado´);
abort;
edtdescricao.setfocus;
end;

end.


- ocorre que a tabela passa para o estado close dataset.


Canario

Canario

Curtidas 0

Respostas

Rjun

Rjun

22/10/2004

Acho que o abort só deveria acontecer se o produto ja estivesse cadastrado. Entao coloque um begin para o if then...

if key = #13 then
begin
showmessage(´Já cadastrado´);
abort;
exit;
end;
edtdescricao.setfocus;


GOSTEI 0
Rômulo Barros

Rômulo Barros

22/10/2004

With(dm)Do
Begin
   If(TbProdutos.Locate(´CodProd´,dbedtCodigo.Text,[]))Then
   Begin
     ShowMessage(´Produto já cadastrado´);
     Exit;
   End;
End;



GOSTEI 0
POSTAR