Hola jovenes tengo una pregunta, tengo este codigo
Código Delphi
[-]
procedure Taltadecontratos.edtBuscarCteChange(Sender: TObject);
var
cadenaAbuscar: string;
codcliente:Integer;
begin
if (cmbBusqCte.ItemIndex=1) then
DBGrid1.Visible:=True
else
DBGrid1.Visible:=False;
CadenaAbuscar:=edtBuscarCte.Text;
if (cmbBusqCte.ItemIndex<>1)and(CadenaAbuscar<>'') and (not TryStrToInt(cadenaAbuscar,codcliente)) then
begin
ShowMessage('En el campo de Codigo solo puede escribir numeros, ponga cuidado por favor');
edtBuscarCte.Clear;
exit;
end;
if cmbBusqCte.ItemIndex=0 then
logicanegocio.CDSclieCOD.Locate('COD_CLIENTE',edtBuscarCte.Text,[loPartialKey]);
if cmbBusqCte.ItemIndex=1 then
begin
logicanegocio.CDSclieCOD.Locate('CLIENTE',edtBuscarCte.Text,[loPartialKey]);
with logicanegocio.CDSclieCOD do
begin
Filtered := False;
Filter := Format( 'CLIENTE LIKE %s ', [ QuotedStr(edtBuscarCte.Text + '%' ) ] );
Filtered := True;
end;
end;
end;
En este codigo cuando se escribe numeros en el campo manda un mensaje de error, luego le hago un edtbuscarCte.clear
para borrar los datos pero la cosa es que en ves de esperar otra ves captura del operador me ejecuta de nuevo el procedure... que puedo hacer para que no se ejecute de nuevo el procedimiento ya que el clear me hace que se autoejecute..gracias