Ver Mensaje Individual
  #1  
Antiguo 11-04-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Reputación: 11
alexglez1255 Va por buen camino
Orden Clear me manda de nuevo al pricipio del procedimiento

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;
//   raise Exception.Create(
//  'Solo introducir numeros por favor para buscar en campo de '+cmbBusqCte.Text);
  end;

//Buscar numero de cliente

  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

Última edición por ecfisa fecha: 11-04-2015 a las 04:16:01. Razón: Agregar etiquetas [DELPHI]
Responder Con Cita